Add new forward.s tests with correct shifts.
This commit is contained in:
parent
8e2d686b5c
commit
de7d01f710
3 changed files with 404 additions and 404 deletions
|
@ -1,204 +1,204 @@
|
||||||
main:
|
main:
|
||||||
ori gp, gp, 0xFFFFFE09
|
sltiu gp, ra, 0x01AE
|
||||||
and gp, gp, ra
|
srli sp, sp, 0x0005
|
||||||
xor ra, ra, sp
|
addi ra, sp, 0x0177
|
||||||
sra ra, sp, sp
|
srai sp, ra, 0x0003
|
||||||
or sp, ra, ra
|
sub sp, ra, sp
|
||||||
xori ra, sp, 0x003D
|
slli sp, ra, 0x000B
|
||||||
srli sp, sp, 0xFFFFFFF2
|
add sp, gp, ra
|
||||||
addi ra, sp, 0x0012
|
slli gp, sp, 0x0006
|
||||||
add ra, gp, sp
|
ori sp, ra, 0xFFFFFF64
|
||||||
ori gp, ra, 0xFFFFFFB8
|
|
||||||
sll ra, ra, ra
|
|
||||||
sll sp, gp, ra
|
|
||||||
slt ra, gp, ra
|
|
||||||
srai gp, gp, 0xFFFFFFFB
|
|
||||||
slli ra, ra, 0x0007
|
|
||||||
sub sp, gp, sp
|
|
||||||
andi ra, gp, 0x002D
|
|
||||||
sub gp, gp, sp
|
|
||||||
srai ra, gp, 0x0005
|
|
||||||
or sp, ra, sp
|
|
||||||
xori ra, gp, 0xFFFFFF54
|
|
||||||
sll ra, sp, ra
|
|
||||||
sub gp, gp, sp
|
|
||||||
add ra, sp, sp
|
|
||||||
sll ra, gp, ra
|
|
||||||
add gp, sp, sp
|
|
||||||
ori gp, sp, 0xFFFFFE68
|
|
||||||
srli sp, gp, 0xFFFFFFF1
|
|
||||||
sltui ra, ra, 0xFFFFFE5D
|
|
||||||
srli ra, gp, 0x0006
|
|
||||||
srai sp, sp, 0x0005
|
|
||||||
andi sp, sp, 0x0129
|
|
||||||
and sp, sp, sp
|
|
||||||
slli gp, ra, 0x0001
|
|
||||||
or gp, gp, gp
|
|
||||||
or sp, gp, gp
|
|
||||||
slli gp, gp, 0x0006
|
|
||||||
srl sp, ra, gp
|
|
||||||
sltui gp, ra, 0xFFFFFEC3
|
|
||||||
add sp, gp, sp
|
|
||||||
xori ra, ra, 0xFFFFFFA2
|
|
||||||
or gp, gp, sp
|
|
||||||
and sp, gp, gp
|
|
||||||
srai gp, sp, 0x0008
|
|
||||||
add sp, sp, ra
|
|
||||||
slti sp, ra, 0xFFFFFFF7
|
|
||||||
srli gp, ra, 0xFFFFFFFD
|
|
||||||
sll gp, ra, gp
|
|
||||||
sltu sp, sp, gp
|
|
||||||
srli gp, ra, 0x0002
|
|
||||||
ori gp, sp, 0xFFFFFF28
|
|
||||||
srl ra, gp, ra
|
|
||||||
slti gp, ra, 0x0054
|
|
||||||
or gp, ra, ra
|
|
||||||
ori sp, gp, 0x01D9
|
|
||||||
and sp, ra, ra
|
|
||||||
addi sp, gp, 0x0054
|
|
||||||
slli gp, ra, 0xFFFFFFF2
|
|
||||||
ori sp, sp, 0x0093
|
|
||||||
add gp, gp, gp
|
|
||||||
and gp, gp, gp
|
and gp, gp, gp
|
||||||
sltui gp, ra, 0x00DE
|
andi gp, gp, 0x0084
|
||||||
slli sp, gp, 0x000D
|
xori ra, ra, 0xFFFFFEB4
|
||||||
slli sp, ra, 0xFFFFFFF5
|
|
||||||
sltui sp, ra, 0xFFFFFF0E
|
|
||||||
and ra, gp, ra
|
|
||||||
add gp, sp, sp
|
|
||||||
slti ra, sp, 0x008C
|
|
||||||
srli ra, sp, 0x0000
|
|
||||||
addi sp, sp, 0x0168
|
|
||||||
slli ra, ra, 0xFFFFFFF3
|
|
||||||
addi ra, gp, 0x012A
|
|
||||||
or sp, gp, ra
|
|
||||||
add ra, sp, gp
|
|
||||||
and gp, ra, ra
|
|
||||||
slli ra, gp, 0xFFFFFFF6
|
|
||||||
or sp, gp, sp
|
|
||||||
or gp, ra, ra
|
|
||||||
ori gp, ra, 0x00EB
|
|
||||||
or sp, gp, ra
|
|
||||||
ori gp, sp, 0x01DA
|
|
||||||
andi ra, ra, 0xFFFFFFE9
|
|
||||||
addi gp, sp, 0x00C9
|
|
||||||
sltui ra, ra, 0xFFFFFF13
|
|
||||||
sltui ra, ra, 0xFFFFFF3A
|
|
||||||
sltui sp, gp, 0xFFFFFE5A
|
|
||||||
ori sp, sp, 0xFFFFFFFE
|
|
||||||
and gp, sp, gp
|
|
||||||
sltui sp, ra, 0x0034
|
|
||||||
srl gp, gp, ra
|
|
||||||
sll gp, sp, ra
|
|
||||||
ori ra, gp, 0xFFFFFEB6
|
|
||||||
sll ra, sp, ra
|
|
||||||
sra ra, gp, sp
|
|
||||||
sub ra, sp, gp
|
|
||||||
xor gp, gp, sp
|
|
||||||
sub ra, ra, sp
|
|
||||||
srl gp, gp, sp
|
|
||||||
andi ra, ra, 0xFFFFFFCB
|
|
||||||
ori ra, ra, 0xFFFFFE1B
|
|
||||||
andi ra, ra, 0xFFFFFEC8
|
|
||||||
sltui sp, gp, 0x0108
|
|
||||||
sub sp, gp, ra
|
|
||||||
slti ra, sp, 0x015D
|
|
||||||
slli sp, sp, 0x0004
|
|
||||||
xor gp, sp, ra
|
|
||||||
srl ra, gp, ra
|
|
||||||
sltui ra, ra, 0xFFFFFF3C
|
|
||||||
add sp, sp, sp
|
|
||||||
add gp, gp, ra
|
|
||||||
andi sp, sp, 0xFFFFFF3A
|
|
||||||
srli ra, sp, 0x0004
|
|
||||||
ori sp, gp, 0xFFFFFEAB
|
|
||||||
ori sp, ra, 0xFFFFFE95
|
|
||||||
slli sp, sp, 0xFFFFFFF2
|
|
||||||
xori gp, sp, 0x0040
|
|
||||||
slti gp, sp, 0xFFFFFED1
|
|
||||||
or sp, sp, sp
|
|
||||||
sltui sp, gp, 0x01B4
|
|
||||||
addi ra, gp, 0x002D
|
|
||||||
and sp, gp, gp
|
|
||||||
or ra, ra, ra
|
|
||||||
or ra, gp, ra
|
|
||||||
or ra, gp, ra
|
|
||||||
sra ra, ra, gp
|
|
||||||
sra gp, ra, sp
|
|
||||||
sub ra, sp, ra
|
|
||||||
srai ra, ra, 0x000F
|
|
||||||
sltu sp, sp, ra
|
|
||||||
slli ra, gp, 0xFFFFFFF5
|
|
||||||
slti gp, gp, 0x00E0
|
|
||||||
addi gp, ra, 0xFFFFFF72
|
|
||||||
srl ra, ra, gp
|
|
||||||
sltui gp, sp, 0xFFFFFEAA
|
|
||||||
xor sp, ra, gp
|
|
||||||
and gp, sp, ra
|
|
||||||
srli gp, gp, 0x0003
|
|
||||||
xori ra, ra, 0x01BD
|
|
||||||
sub ra, gp, sp
|
|
||||||
sll gp, ra, gp
|
|
||||||
xori ra, sp, 0x0065
|
|
||||||
or ra, sp, ra
|
|
||||||
slt sp, gp, ra
|
|
||||||
addi ra, sp, 0xFFFFFE34
|
|
||||||
slli gp, sp, 0x0007
|
|
||||||
sll ra, sp, gp
|
|
||||||
sltui gp, gp, 0xFFFFFE62
|
|
||||||
slti sp, sp, 0x0019
|
|
||||||
xori ra, gp, 0x0092
|
|
||||||
sltui gp, sp, 0xFFFFFF29
|
|
||||||
srl sp, ra, gp
|
|
||||||
xori sp, gp, 0xFFFFFF4C
|
|
||||||
add sp, ra, gp
|
|
||||||
add sp, gp, ra
|
|
||||||
sra sp, sp, gp
|
|
||||||
slli sp, ra, 0x0008
|
|
||||||
srl sp, sp, sp
|
|
||||||
add sp, gp, ra
|
|
||||||
andi sp, sp, 0x0039
|
|
||||||
sll ra, gp, sp
|
|
||||||
andi gp, ra, 0xFFFFFECC
|
|
||||||
sll sp, sp, sp
|
|
||||||
sub sp, sp, ra
|
|
||||||
srai ra, sp, 0x0008
|
|
||||||
xor gp, ra, sp
|
|
||||||
add sp, sp, sp
|
|
||||||
sub gp, ra, gp
|
|
||||||
xori gp, sp, 0x01EE
|
|
||||||
and ra, ra, ra
|
|
||||||
ori gp, ra, 0xFFFFFE96
|
|
||||||
slli ra, gp, 0x0002
|
|
||||||
srli gp, ra, 0x000D
|
|
||||||
add ra, sp, sp
|
|
||||||
andi sp, gp, 0xFFFFFEC0
|
|
||||||
andi sp, gp, 0xFFFFFE7A
|
|
||||||
xori ra, sp, 0x0169
|
|
||||||
xori gp, sp, 0xFFFFFE02
|
|
||||||
andi ra, ra, 0xFFFFFFD1
|
|
||||||
xor ra, sp, gp
|
|
||||||
xori gp, gp, 0x00AB
|
|
||||||
srl ra, ra, gp
|
|
||||||
and ra, ra, sp
|
|
||||||
xori gp, sp, 0x005D
|
|
||||||
srai sp, sp, 0x000A
|
|
||||||
addi ra, sp, 0xFFFFFE19
|
|
||||||
or sp, ra, ra
|
or sp, ra, ra
|
||||||
addi ra, gp, 0x0084
|
addi sp, ra, 0x0078
|
||||||
ori sp, sp, 0xFFFFFF3D
|
sltiu sp, sp, 0xFFFFFF1E
|
||||||
xor gp, ra, gp
|
srli gp, sp, 0x0000
|
||||||
sra ra, ra, gp
|
slti sp, ra, 0xFFFFFEF7
|
||||||
xori ra, sp, 0x0040
|
srai ra, ra, 0x0001
|
||||||
srai gp, gp, 0x0002
|
or sp, ra, gp
|
||||||
xori ra, ra, 0xFFFFFE9A
|
xor sp, sp, ra
|
||||||
sra ra, sp, sp
|
sub sp, ra, sp
|
||||||
ori gp, sp, 0xFFFFFFB8
|
sub ra, gp, ra
|
||||||
sll sp, ra, ra
|
sltiu gp, sp, 0xFFFFFE85
|
||||||
|
addi sp, gp, 0x017C
|
||||||
|
sltiu ra, gp, 0xFFFFFF64
|
||||||
|
xori sp, gp, 0x00A1
|
||||||
|
xor ra, sp, gp
|
||||||
|
ori gp, ra, 0x00B6
|
||||||
|
add ra, ra, sp
|
||||||
|
sltiu gp, ra, 0xFFFFFFEC
|
||||||
|
sltu gp, sp, ra
|
||||||
sll sp, ra, gp
|
sll sp, ra, gp
|
||||||
sll gp, sp, sp
|
add gp, ra, ra
|
||||||
sra gp, ra, ra
|
or gp, ra, gp
|
||||||
srli gp, gp, 0x0001
|
xor sp, ra, sp
|
||||||
|
addi sp, gp, 0xFFFFFF4C
|
||||||
|
xor ra, sp, gp
|
||||||
|
xori ra, sp, 0xFFFFFF72
|
||||||
|
xori gp, sp, 0xFFFFFE95
|
||||||
|
or ra, ra, ra
|
||||||
|
slti ra, gp, 0xFFFFFE75
|
||||||
|
slli sp, sp, 0x0004
|
||||||
|
sltiu ra, ra, 0xFFFFFE25
|
||||||
|
add sp, ra, gp
|
||||||
|
sltiu gp, gp, 0xFFFFFFDB
|
||||||
|
addi sp, sp, 0x003D
|
||||||
|
sll ra, ra, sp
|
||||||
|
ori ra, ra, 0x012C
|
||||||
|
add gp, ra, gp
|
||||||
|
xori sp, sp, 0x0157
|
||||||
|
slti gp, sp, 0xFFFFFF2A
|
||||||
|
and sp, ra, ra
|
||||||
|
add gp, ra, ra
|
||||||
|
sltiu ra, gp, 0xFFFFFE56
|
||||||
|
sra gp, gp, ra
|
||||||
|
xori sp, gp, 0xFFFFFF0D
|
||||||
|
sub sp, gp, ra
|
||||||
|
slti ra, ra, 0x0154
|
||||||
|
slli ra, ra, 0x000A
|
||||||
|
ori ra, gp, 0xFFFFFEC2
|
||||||
|
ori ra, sp, 0x0075
|
||||||
|
addi gp, sp, 0x0079
|
||||||
|
xor gp, ra, sp
|
||||||
|
srli ra, sp, 0x0008
|
||||||
|
srai ra, ra, 0x000F
|
||||||
|
slli gp, gp, 0x0006
|
||||||
|
sra sp, gp, gp
|
||||||
|
add sp, sp, sp
|
||||||
|
srai ra, sp, 0x0001
|
||||||
|
slli gp, ra, 0x0010
|
||||||
|
andi ra, ra, 0xFFFFFFA8
|
||||||
|
add sp, ra, sp
|
||||||
|
srai ra, gp, 0x000E
|
||||||
|
srai ra, sp, 0x0005
|
||||||
|
addi ra, gp, 0xFFFFFF83
|
||||||
|
xor gp, sp, ra
|
||||||
|
srai sp, gp, 0x0004
|
||||||
|
srli ra, ra, 0x0007
|
||||||
|
sll gp, ra, gp
|
||||||
|
xori gp, gp, 0x0163
|
||||||
|
add ra, gp, gp
|
||||||
|
srli gp, gp, 0x000B
|
||||||
|
add sp, ra, ra
|
||||||
|
sltu ra, ra, sp
|
||||||
|
sll sp, ra, ra
|
||||||
|
ori sp, sp, 0xFFFFFF6B
|
||||||
|
slli gp, gp, 0x0006
|
||||||
|
xori sp, ra, 0x00A7
|
||||||
|
add sp, ra, ra
|
||||||
|
add ra, gp, gp
|
||||||
|
addi gp, gp, 0xFFFFFFE9
|
||||||
|
sra sp, ra, gp
|
||||||
|
add gp, ra, ra
|
||||||
|
ori gp, gp, 0x0002
|
||||||
|
addi gp, gp, 0x002F
|
||||||
|
sll sp, sp, ra
|
||||||
|
srli sp, ra, 0x000E
|
||||||
|
ori gp, sp, 0x00EB
|
||||||
|
sra gp, ra, sp
|
||||||
|
sra sp, sp, gp
|
||||||
|
and gp, ra, ra
|
||||||
|
sra ra, ra, gp
|
||||||
|
add sp, gp, ra
|
||||||
|
srl gp, sp, gp
|
||||||
|
add ra, ra, sp
|
||||||
|
srai gp, ra, 0x000E
|
||||||
|
sltu gp, gp, sp
|
||||||
|
srli sp, ra, 0x0004
|
||||||
|
ori gp, sp, 0xFFFFFE6E
|
||||||
|
and gp, ra, ra
|
||||||
|
ori gp, ra, 0xFFFFFFAF
|
||||||
|
srl ra, ra, ra
|
||||||
|
or sp, ra, ra
|
||||||
|
ori gp, sp, 0x0018
|
||||||
|
and gp, gp, gp
|
||||||
|
sll gp, sp, gp
|
||||||
|
srli gp, sp, 0x0006
|
||||||
|
add gp, ra, ra
|
||||||
|
add gp, ra, sp
|
||||||
|
sra sp, ra, ra
|
||||||
|
ori sp, ra, 0x0022
|
||||||
|
and gp, gp, gp
|
||||||
|
add ra, sp, ra
|
||||||
|
sll sp, gp, gp
|
||||||
|
ori gp, sp, 0x008E
|
||||||
|
add sp, ra, sp
|
||||||
|
and sp, gp, gp
|
||||||
|
addi ra, sp, 0x0145
|
||||||
|
and sp, gp, gp
|
||||||
|
sll gp, ra, sp
|
||||||
|
addi sp, sp, 0xFFFFFFAF
|
||||||
|
xori sp, ra, 0xFFFFFE2C
|
||||||
|
srl gp, ra, gp
|
||||||
|
sub ra, sp, gp
|
||||||
|
add sp, ra, ra
|
||||||
|
slli sp, sp, 0x0006
|
||||||
|
sltu gp, sp, ra
|
||||||
|
sub gp, ra, sp
|
||||||
|
xori ra, ra, 0xFFFFFF9A
|
||||||
|
addi sp, sp, 0xFFFFFE12
|
||||||
|
slli ra, ra, 0x0003
|
||||||
|
slli gp, ra, 0x0004
|
||||||
|
add gp, gp, gp
|
||||||
|
xori ra, ra, 0xFFFFFED7
|
||||||
|
andi gp, gp, 0xFFFFFE05
|
||||||
|
and gp, gp, sp
|
||||||
|
addi gp, gp, 0xFFFFFEE5
|
||||||
|
slli ra, gp, 0x000A
|
||||||
|
sll sp, gp, gp
|
||||||
|
and ra, gp, sp
|
||||||
|
ori ra, gp, 0xFFFFFE22
|
||||||
|
srl sp, sp, gp
|
||||||
|
srli ra, sp, 0x0005
|
||||||
|
slli ra, ra, 0x0005
|
||||||
|
srai ra, ra, 0x0007
|
||||||
|
srli ra, gp, 0x000F
|
||||||
|
andi gp, gp, 0xFFFFFF96
|
||||||
|
sra sp, gp, gp
|
||||||
|
srai gp, gp, 0x000F
|
||||||
|
sub sp, sp, gp
|
||||||
|
sltiu ra, ra, 0xFFFFFF41
|
||||||
|
and sp, sp, sp
|
||||||
|
xor gp, sp, ra
|
||||||
|
srai gp, sp, 0x000A
|
||||||
|
xori gp, gp, 0x00D3
|
||||||
|
or gp, sp, sp
|
||||||
|
sltu gp, ra, gp
|
||||||
|
slli ra, gp, 0x0002
|
||||||
|
or sp, gp, ra
|
||||||
|
addi ra, ra, 0x002B
|
||||||
|
addi gp, ra, 0x0035
|
||||||
|
slli sp, gp, 0x0008
|
||||||
|
addi gp, sp, 0x015E
|
||||||
|
xor ra, gp, sp
|
||||||
|
or ra, gp, ra
|
||||||
|
sll ra, gp, ra
|
||||||
|
sll gp, gp, ra
|
||||||
|
srli gp, ra, 0x000C
|
||||||
|
slt sp, ra, sp
|
||||||
|
sltiu sp, sp, 0xFFFFFE1C
|
||||||
|
ori sp, ra, 0xFFFFFE83
|
||||||
|
andi sp, sp, 0xFFFFFEFC
|
||||||
|
addi ra, ra, 0xFFFFFF85
|
||||||
|
ori gp, ra, 0x0084
|
||||||
|
sll gp, gp, ra
|
||||||
|
xori gp, sp, 0xFFFFFF6D
|
||||||
|
sll gp, sp, gp
|
||||||
|
sra ra, sp, ra
|
||||||
|
xor ra, gp, sp
|
||||||
|
srl ra, ra, sp
|
||||||
|
srl ra, ra, sp
|
||||||
|
andi gp, ra, 0xFFFFFE7B
|
||||||
|
srai ra, sp, 0x000F
|
||||||
|
sub sp, sp, ra
|
||||||
|
or sp, gp, gp
|
||||||
|
slt ra, ra, gp
|
||||||
|
or gp, gp, sp
|
||||||
|
srli ra, sp, 0x000B
|
||||||
|
andi ra, gp, 0xFFFFFFD4
|
||||||
|
slli ra, gp, 0x0009
|
||||||
done
|
done
|
||||||
#regset x1, 123
|
#regset x1, 123
|
||||||
#regset x2, -40
|
#regset x2, -40
|
||||||
|
|
|
@ -1,204 +1,204 @@
|
||||||
main:
|
main:
|
||||||
sltui gp, ra, 0x01AE
|
ori gp, gp, 0xFFFFFE09
|
||||||
srli sp, sp, 0xFFFFFFFB
|
and gp, gp, ra
|
||||||
addi ra, sp, 0x0177
|
srli sp, ra, 0x0002
|
||||||
sub sp, ra, sp
|
xor ra, ra, sp
|
||||||
slli sp, ra, 0x000B
|
|
||||||
add sp, gp, ra
|
|
||||||
slli gp, sp, 0x0006
|
|
||||||
ori sp, ra, 0xFFFFFF64
|
|
||||||
and gp, gp, gp
|
|
||||||
andi gp, gp, 0x0084
|
|
||||||
xori ra, ra, 0xFFFFFEB4
|
|
||||||
or sp, ra, ra
|
or sp, ra, ra
|
||||||
addi sp, ra, 0x0078
|
xori ra, sp, 0x003D
|
||||||
srli gp, sp, 0x0000
|
addi ra, sp, 0x0012
|
||||||
srl sp, gp, sp
|
add ra, gp, sp
|
||||||
andi ra, gp, 0xFFFFFFF4
|
ori gp, ra, 0xFFFFFFB8
|
||||||
srai ra, ra, 0xFFFFFFFF
|
|
||||||
sltu gp, sp, gp
|
|
||||||
or sp, ra, gp
|
|
||||||
sub ra, gp, ra
|
|
||||||
addi sp, gp, 0x017C
|
|
||||||
sltui ra, gp, 0xFFFFFF64
|
|
||||||
xori sp, gp, 0x00A1
|
|
||||||
xor ra, sp, gp
|
|
||||||
ori gp, ra, 0x00B6
|
|
||||||
add ra, ra, sp
|
|
||||||
sltui gp, ra, 0xFFFFFFEC
|
|
||||||
sltu gp, sp, ra
|
|
||||||
sll sp, ra, gp
|
|
||||||
add gp, ra, ra
|
|
||||||
or gp, ra, gp
|
|
||||||
xor sp, ra, sp
|
|
||||||
addi sp, gp, 0xFFFFFF4C
|
|
||||||
xor ra, sp, gp
|
|
||||||
xori ra, sp, 0xFFFFFF72
|
|
||||||
xori gp, sp, 0xFFFFFE95
|
|
||||||
or ra, ra, ra
|
|
||||||
slti ra, gp, 0xFFFFFE75
|
|
||||||
slli sp, sp, 0xFFFFFFFC
|
|
||||||
sltui ra, ra, 0xFFFFFE25
|
|
||||||
add sp, ra, gp
|
|
||||||
sltui gp, gp, 0xFFFFFFDB
|
|
||||||
addi sp, sp, 0x003D
|
|
||||||
sll ra, ra, sp
|
|
||||||
ori ra, ra, 0x012C
|
|
||||||
add gp, ra, gp
|
|
||||||
xori sp, sp, 0x0157
|
|
||||||
slti gp, sp, 0xFFFFFF2A
|
|
||||||
and sp, ra, ra
|
|
||||||
add gp, ra, ra
|
|
||||||
sltui ra, gp, 0xFFFFFE56
|
|
||||||
sra gp, gp, ra
|
|
||||||
xori sp, gp, 0xFFFFFF0D
|
|
||||||
sub sp, gp, ra
|
|
||||||
slti ra, ra, 0x0154
|
|
||||||
slli ra, ra, 0x000A
|
|
||||||
ori ra, gp, 0xFFFFFEC2
|
|
||||||
ori ra, sp, 0x0075
|
|
||||||
addi gp, sp, 0x0079
|
|
||||||
xor gp, ra, sp
|
|
||||||
srli ra, sp, 0xFFFFFFF8
|
|
||||||
slli gp, gp, 0x0006
|
|
||||||
sra sp, gp, gp
|
|
||||||
add sp, sp, sp
|
|
||||||
slli gp, ra, 0xFFFFFFF0
|
|
||||||
add sp, ra, sp
|
|
||||||
srai ra, sp, 0x0005
|
|
||||||
addi ra, gp, 0xFFFFFF83
|
|
||||||
xor gp, sp, ra
|
|
||||||
srli ra, ra, 0x0007
|
|
||||||
sll gp, ra, gp
|
|
||||||
xori gp, gp, 0x0163
|
|
||||||
add ra, gp, gp
|
|
||||||
add sp, ra, ra
|
|
||||||
sltu ra, ra, sp
|
|
||||||
sll sp, ra, ra
|
|
||||||
ori sp, sp, 0xFFFFFF6B
|
|
||||||
slli gp, gp, 0xFFFFFFFA
|
|
||||||
xori sp, ra, 0x00A7
|
|
||||||
add sp, ra, ra
|
|
||||||
add ra, gp, gp
|
|
||||||
addi gp, gp, 0xFFFFFFE9
|
|
||||||
sra sp, ra, gp
|
|
||||||
add gp, ra, ra
|
|
||||||
ori gp, gp, 0x0002
|
|
||||||
addi gp, gp, 0x002F
|
|
||||||
sll sp, sp, ra
|
|
||||||
srli sp, ra, 0xFFFFFFF2
|
|
||||||
ori gp, sp, 0x00EB
|
|
||||||
sra gp, ra, sp
|
|
||||||
sra sp, sp, gp
|
|
||||||
and gp, ra, ra
|
|
||||||
sra ra, ra, gp
|
|
||||||
add sp, gp, ra
|
|
||||||
srl gp, sp, gp
|
|
||||||
add ra, ra, sp
|
|
||||||
srai gp, ra, 0xFFFFFFF2
|
|
||||||
srli sp, ra, 0xFFFFFFFC
|
|
||||||
ori gp, sp, 0xFFFFFE6E
|
|
||||||
and gp, ra, ra
|
|
||||||
ori gp, ra, 0xFFFFFFAF
|
|
||||||
srl ra, ra, ra
|
|
||||||
or sp, ra, ra
|
|
||||||
ori gp, sp, 0x0018
|
|
||||||
and gp, gp, gp
|
|
||||||
slti gp, ra, 0x00C6
|
|
||||||
sll gp, sp, gp
|
|
||||||
srli gp, sp, 0xFFFFFFFA
|
|
||||||
add gp, ra, ra
|
|
||||||
add gp, ra, sp
|
|
||||||
sra sp, ra, ra
|
|
||||||
ori sp, ra, 0x0022
|
|
||||||
and gp, gp, gp
|
|
||||||
add ra, sp, ra
|
|
||||||
sll sp, gp, gp
|
|
||||||
ori gp, sp, 0x008E
|
|
||||||
slti ra, gp, 0x00B5
|
|
||||||
add sp, ra, sp
|
|
||||||
and sp, gp, gp
|
|
||||||
addi ra, sp, 0x0145
|
|
||||||
and sp, gp, gp
|
|
||||||
sll gp, ra, sp
|
|
||||||
addi sp, sp, 0xFFFFFFAF
|
|
||||||
xori sp, ra, 0xFFFFFE2C
|
|
||||||
srl gp, ra, gp
|
|
||||||
sub ra, sp, gp
|
|
||||||
add sp, ra, ra
|
|
||||||
slli sp, sp, 0x0006
|
|
||||||
sub gp, ra, sp
|
|
||||||
sltu sp, ra, gp
|
|
||||||
xori ra, ra, 0xFFFFFF9A
|
|
||||||
addi sp, sp, 0xFFFFFE12
|
|
||||||
slli ra, ra, 0xFFFFFFFD
|
|
||||||
add gp, gp, gp
|
|
||||||
xori ra, ra, 0xFFFFFED7
|
|
||||||
andi gp, gp, 0xFFFFFE05
|
|
||||||
and gp, gp, sp
|
|
||||||
addi gp, gp, 0xFFFFFEE5
|
|
||||||
slli ra, gp, 0xFFFFFFF6
|
|
||||||
sll sp, gp, gp
|
|
||||||
and ra, gp, sp
|
|
||||||
ori ra, gp, 0xFFFFFE22
|
|
||||||
srl sp, sp, gp
|
|
||||||
srli ra, sp, 0x0005
|
|
||||||
slli ra, ra, 0xFFFFFFFB
|
|
||||||
srai ra, ra, 0xFFFFFFF9
|
|
||||||
srli ra, gp, 0xFFFFFFF1
|
|
||||||
andi gp, gp, 0xFFFFFF96
|
|
||||||
sra sp, gp, gp
|
|
||||||
srai gp, gp, 0x000F
|
|
||||||
sub sp, sp, gp
|
|
||||||
sltui ra, ra, 0xFFFFFF41
|
|
||||||
and sp, sp, sp
|
|
||||||
xor gp, sp, ra
|
|
||||||
srai gp, sp, 0xFFFFFFF6
|
|
||||||
xori gp, gp, 0x00D3
|
|
||||||
or gp, sp, sp
|
|
||||||
sltu gp, ra, gp
|
|
||||||
slli ra, gp, 0x0002
|
|
||||||
or sp, gp, ra
|
|
||||||
addi ra, ra, 0x002B
|
|
||||||
addi gp, ra, 0x0035
|
|
||||||
slli sp, gp, 0x0008
|
|
||||||
addi gp, sp, 0x015E
|
|
||||||
xor ra, gp, sp
|
|
||||||
or ra, gp, ra
|
|
||||||
sll ra, gp, ra
|
|
||||||
sll gp, gp, ra
|
|
||||||
srli gp, ra, 0xFFFFFFF4
|
|
||||||
slt sp, ra, sp
|
|
||||||
sltui sp, sp, 0xFFFFFE1C
|
|
||||||
ori sp, ra, 0xFFFFFE83
|
|
||||||
andi sp, sp, 0xFFFFFEFC
|
|
||||||
addi ra, ra, 0xFFFFFF85
|
|
||||||
ori gp, ra, 0x0084
|
|
||||||
sll gp, gp, ra
|
|
||||||
xori gp, sp, 0xFFFFFF6D
|
|
||||||
sll gp, sp, gp
|
|
||||||
sra ra, sp, ra
|
|
||||||
xor ra, gp, sp
|
|
||||||
srl ra, ra, sp
|
|
||||||
srl ra, ra, sp
|
|
||||||
andi gp, ra, 0xFFFFFE7B
|
|
||||||
srai ra, sp, 0xFFFFFFF1
|
|
||||||
sub sp, sp, ra
|
|
||||||
or sp, gp, gp
|
|
||||||
slt ra, ra, gp
|
|
||||||
or gp, gp, sp
|
|
||||||
srli ra, sp, 0xFFFFFFF5
|
|
||||||
andi ra, gp, 0xFFFFFFD4
|
|
||||||
sra sp, sp, sp
|
|
||||||
add sp, ra, sp
|
|
||||||
sub gp, ra, sp
|
|
||||||
xori ra, gp, 0x0131
|
|
||||||
add sp, sp, ra
|
|
||||||
addi sp, gp, 0x0003
|
|
||||||
sll ra, ra, ra
|
sll ra, ra, ra
|
||||||
|
sll sp, gp, ra
|
||||||
|
slt ra, gp, ra
|
||||||
|
srai gp, gp, 0x0005
|
||||||
|
slli ra, ra, 0x0007
|
||||||
|
sub sp, gp, sp
|
||||||
|
andi ra, gp, 0x002D
|
||||||
|
sub gp, gp, sp
|
||||||
|
srai ra, gp, 0x0005
|
||||||
|
or sp, ra, sp
|
||||||
|
xori ra, gp, 0xFFFFFF54
|
||||||
|
sll ra, sp, ra
|
||||||
|
sub gp, gp, sp
|
||||||
|
add ra, sp, sp
|
||||||
|
sll ra, gp, ra
|
||||||
|
add gp, sp, sp
|
||||||
|
ori gp, sp, 0xFFFFFE68
|
||||||
|
srli sp, gp, 0x000F
|
||||||
|
sltiu ra, ra, 0xFFFFFE5D
|
||||||
|
srli ra, gp, 0x0006
|
||||||
|
srai sp, sp, 0x0005
|
||||||
|
andi sp, sp, 0x0129
|
||||||
|
and sp, sp, sp
|
||||||
|
slli gp, ra, 0x0001
|
||||||
|
or gp, gp, gp
|
||||||
|
or sp, gp, gp
|
||||||
|
slli gp, gp, 0x0006
|
||||||
|
srl sp, ra, gp
|
||||||
|
sltiu gp, ra, 0xFFFFFEC3
|
||||||
|
add sp, gp, sp
|
||||||
|
srli ra, sp, 0x0001
|
||||||
|
xori ra, ra, 0xFFFFFFA2
|
||||||
|
or gp, gp, sp
|
||||||
|
and sp, gp, gp
|
||||||
|
srai gp, sp, 0x0008
|
||||||
|
add sp, sp, ra
|
||||||
|
slti sp, ra, 0xFFFFFFF7
|
||||||
|
srli gp, ra, 0x0003
|
||||||
|
sll gp, ra, gp
|
||||||
|
sltu sp, sp, gp
|
||||||
|
srli gp, ra, 0x0002
|
||||||
|
ori gp, sp, 0xFFFFFF28
|
||||||
|
srl ra, gp, ra
|
||||||
|
or gp, ra, ra
|
||||||
|
ori sp, gp, 0x01D9
|
||||||
|
and sp, ra, ra
|
||||||
|
addi sp, gp, 0x0054
|
||||||
slli gp, ra, 0x000E
|
slli gp, ra, 0x000E
|
||||||
andi ra, gp, 0xFFFFFE88
|
ori sp, sp, 0x0093
|
||||||
srai ra, gp, 0xFFFFFFFA
|
srai sp, ra, 0x000F
|
||||||
|
slti ra, gp, 0xFFFFFFCB
|
||||||
|
add gp, gp, gp
|
||||||
|
and gp, gp, gp
|
||||||
|
sltiu gp, ra, 0x00DE
|
||||||
|
slli sp, gp, 0x000D
|
||||||
|
slli sp, ra, 0x000B
|
||||||
|
sltiu sp, ra, 0xFFFFFF0E
|
||||||
|
and ra, gp, ra
|
||||||
|
add gp, sp, sp
|
||||||
|
slti ra, sp, 0x008C
|
||||||
|
srli ra, sp, 0x0000
|
||||||
|
addi sp, sp, 0x0168
|
||||||
|
slli ra, ra, 0x000D
|
||||||
|
addi ra, gp, 0x012A
|
||||||
|
or sp, gp, ra
|
||||||
|
add ra, sp, gp
|
||||||
|
and gp, ra, ra
|
||||||
|
slli ra, gp, 0x000A
|
||||||
|
or sp, gp, sp
|
||||||
|
or gp, ra, ra
|
||||||
|
srli ra, sp, 0x0002
|
||||||
|
ori gp, ra, 0x00EB
|
||||||
|
or sp, gp, ra
|
||||||
|
ori gp, sp, 0x01DA
|
||||||
|
andi ra, ra, 0xFFFFFFE9
|
||||||
|
addi gp, sp, 0x00C9
|
||||||
|
sltiu ra, ra, 0xFFFFFF13
|
||||||
|
sltiu ra, ra, 0xFFFFFF3A
|
||||||
|
sltiu sp, gp, 0xFFFFFE5A
|
||||||
|
ori sp, sp, 0xFFFFFFFE
|
||||||
|
and gp, sp, gp
|
||||||
|
sltiu sp, ra, 0x0034
|
||||||
|
srl gp, gp, ra
|
||||||
|
sll gp, sp, ra
|
||||||
|
ori ra, gp, 0xFFFFFEB6
|
||||||
|
sll ra, sp, ra
|
||||||
|
sra ra, gp, sp
|
||||||
|
sub ra, sp, gp
|
||||||
|
xor gp, gp, sp
|
||||||
|
sub ra, ra, sp
|
||||||
|
srl gp, gp, sp
|
||||||
|
andi ra, ra, 0xFFFFFFCB
|
||||||
|
ori ra, ra, 0xFFFFFE1B
|
||||||
|
andi ra, ra, 0xFFFFFEC8
|
||||||
|
sltiu sp, gp, 0x0108
|
||||||
|
sub sp, gp, ra
|
||||||
|
slti ra, sp, 0x015D
|
||||||
|
slli sp, sp, 0x0004
|
||||||
|
xor gp, sp, ra
|
||||||
|
srl ra, gp, ra
|
||||||
|
sltiu ra, ra, 0xFFFFFF3C
|
||||||
|
add sp, sp, sp
|
||||||
|
add gp, gp, ra
|
||||||
|
slli gp, gp, 0x0001
|
||||||
|
andi sp, sp, 0xFFFFFF3A
|
||||||
|
slt gp, sp, gp
|
||||||
|
srli ra, sp, 0x0004
|
||||||
|
ori sp, gp, 0xFFFFFEAB
|
||||||
|
ori sp, ra, 0xFFFFFE95
|
||||||
|
slli sp, sp, 0x000E
|
||||||
|
xori gp, sp, 0x0040
|
||||||
|
slti gp, sp, 0xFFFFFED1
|
||||||
|
or sp, sp, sp
|
||||||
|
sltiu sp, gp, 0x01B4
|
||||||
|
addi ra, gp, 0x002D
|
||||||
|
and sp, gp, gp
|
||||||
|
or ra, ra, ra
|
||||||
|
or ra, gp, ra
|
||||||
|
srli ra, ra, 0x0004
|
||||||
|
or ra, gp, ra
|
||||||
|
sra ra, ra, gp
|
||||||
|
slli ra, gp, 0x000B
|
||||||
|
slti gp, gp, 0x00E0
|
||||||
|
addi gp, ra, 0xFFFFFF72
|
||||||
|
sltiu gp, sp, 0xFFFFFEAA
|
||||||
|
xor sp, ra, gp
|
||||||
|
and gp, sp, ra
|
||||||
|
srli gp, gp, 0x0003
|
||||||
|
xori ra, ra, 0x01BD
|
||||||
|
srl ra, ra, gp
|
||||||
|
srai ra, gp, 0x0006
|
||||||
|
sub ra, gp, sp
|
||||||
|
sll gp, ra, gp
|
||||||
|
xori ra, sp, 0x0065
|
||||||
|
and ra, gp, ra
|
||||||
|
or ra, sp, ra
|
||||||
|
slt sp, gp, ra
|
||||||
|
addi ra, sp, 0xFFFFFE34
|
||||||
|
slli gp, sp, 0x0007
|
||||||
|
sll ra, sp, gp
|
||||||
|
sltiu gp, gp, 0xFFFFFE62
|
||||||
|
slti sp, sp, 0x0019
|
||||||
|
xori ra, gp, 0x0092
|
||||||
|
sltiu gp, sp, 0xFFFFFF29
|
||||||
|
srl sp, ra, gp
|
||||||
|
xori sp, gp, 0xFFFFFF4C
|
||||||
|
add sp, ra, gp
|
||||||
|
add sp, gp, ra
|
||||||
|
sra sp, sp, gp
|
||||||
|
slli sp, ra, 0x0008
|
||||||
|
srl sp, sp, sp
|
||||||
|
add sp, gp, ra
|
||||||
|
andi sp, sp, 0x0039
|
||||||
|
sll ra, gp, sp
|
||||||
|
andi gp, ra, 0xFFFFFECC
|
||||||
|
sll sp, sp, sp
|
||||||
|
sub sp, sp, ra
|
||||||
|
srai ra, sp, 0x0008
|
||||||
|
xor gp, ra, sp
|
||||||
|
add sp, sp, sp
|
||||||
|
sub gp, ra, gp
|
||||||
|
xori gp, sp, 0x01EE
|
||||||
|
and ra, ra, ra
|
||||||
|
ori gp, ra, 0xFFFFFE96
|
||||||
|
slli ra, gp, 0x0002
|
||||||
|
srli gp, ra, 0x000D
|
||||||
|
srli sp, gp, 0x0005
|
||||||
|
add ra, sp, sp
|
||||||
|
andi sp, gp, 0xFFFFFEC0
|
||||||
|
andi sp, gp, 0xFFFFFE7A
|
||||||
|
xori ra, sp, 0x0169
|
||||||
|
xori gp, sp, 0xFFFFFE02
|
||||||
|
andi ra, ra, 0xFFFFFFD1
|
||||||
|
xor ra, sp, gp
|
||||||
|
xori gp, gp, 0x00AB
|
||||||
|
srl ra, ra, gp
|
||||||
|
and ra, ra, sp
|
||||||
|
xori gp, sp, 0x005D
|
||||||
|
srai sp, sp, 0x000A
|
||||||
|
addi ra, sp, 0xFFFFFE19
|
||||||
|
or sp, ra, ra
|
||||||
|
addi ra, gp, 0x0084
|
||||||
|
ori sp, sp, 0xFFFFFF3D
|
||||||
|
xor gp, ra, gp
|
||||||
|
sra ra, ra, gp
|
||||||
|
xori ra, sp, 0x0040
|
||||||
|
srai gp, gp, 0x0002
|
||||||
|
xori ra, ra, 0xFFFFFE9A
|
||||||
|
sra ra, sp, sp
|
||||||
|
ori gp, sp, 0xFFFFFFB8
|
||||||
|
sll sp, ra, ra
|
||||||
done
|
done
|
||||||
#regset x1, 123
|
#regset x1, 123
|
||||||
#regset x2, -40
|
#regset x2, -40
|
||||||
|
|
|
@ -75,7 +75,7 @@ object TestUtils {
|
||||||
|
|
||||||
val entry = hasLeft + (leftIndex << 1) + (hasRight << 8) + (rightIndex << 9) + (root.value << 16)
|
val entry = hasLeft + (leftIndex << 1) + (hasRight << 8) + (rightIndex << 9) + (root.value << 16)
|
||||||
|
|
||||||
say(s"with leftIndex: ${leftIndex.hs}, rightIndex: ${rightIndex.hs}, value: ${root.value.hs} we got ${entry.hs}")
|
// say(s"with leftIndex: ${leftIndex.hs}, rightIndex: ${rightIndex.hs}, value: ${root.value.hs} we got ${entry.hs}")
|
||||||
|
|
||||||
entry :: foldAnno(root.left) ::: foldAnno(root.right)
|
entry :: foldAnno(root.left) ::: foldAnno(root.right)
|
||||||
}.getOrElse(Nil)
|
}.getOrElse(Nil)
|
||||||
|
@ -98,8 +98,8 @@ object TestUtils {
|
||||||
*/
|
*/
|
||||||
def generateHazardsForward(steps: Int) : Unit = {
|
def generateHazardsForward(steps: Int) : Unit = {
|
||||||
|
|
||||||
// val r = new scala.util.Random(0xF01D1EF7)
|
val r = new scala.util.Random(0xF01D1EF7)
|
||||||
val r = new scala.util.Random(0xF01D1EF8)
|
// val r = new scala.util.Random(0xF01D1EF8)
|
||||||
import Ops._
|
import Ops._
|
||||||
|
|
||||||
val active = List(1, 2, 3)
|
val active = List(1, 2, 3)
|
||||||
|
@ -136,9 +136,9 @@ object TestUtils {
|
||||||
(s"ori ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(imm).show}", ArithImm.or(rd, rs1, imm)),
|
(s"ori ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(imm).show}", ArithImm.or(rd, rs1, imm)),
|
||||||
(s"xori ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(imm).show}", ArithImm.xor(rd, rs1, imm)),
|
(s"xori ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(imm).show}", ArithImm.xor(rd, rs1, imm)),
|
||||||
(s"andi ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(imm).show}", ArithImm.and(rd, rs1, imm)),
|
(s"andi ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(imm).show}", ArithImm.and(rd, rs1, imm)),
|
||||||
(s"slli ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(shift).show}", ArithImmShift.sll(rd, rs1, shift % 32)),
|
(s"slli ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(math.abs(shift).toInt % 32).show}", ArithImmShift.sll(rd, rs1, math.abs(shift).toInt % 32)),
|
||||||
(s"srli ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(shift).show}", ArithImmShift.srl(rd, rs1, shift % 32)),
|
(s"srli ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(math.abs(shift).toInt % 32).show}", ArithImmShift.srl(rd, rs1, math.abs(shift).toInt % 32)),
|
||||||
(s"srai ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(shift).show}", ArithImmShift.sra(rd, rs1, shift % 32)),
|
(s"srai ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(math.abs(shift).toInt % 32).show}", ArithImmShift.sra(rd, rs1, math.abs(shift).toInt % 32)),
|
||||||
(s"slti ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(imm).show}", ArithImm.slt(rd, rs1, imm)),
|
(s"slti ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(imm).show}", ArithImm.slt(rd, rs1, imm)),
|
||||||
(s"sltiu ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(imm).show}", ArithImm.sltu(rd, rs1, imm)))
|
(s"sltiu ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(imm).show}", ArithImm.sltu(rd, rs1, imm)))
|
||||||
(rd, choices.shuffle(r).head)
|
(rd, choices.shuffle(r).head)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue