Add new forward.s tests with correct shifts.

This commit is contained in:
peteraa 2019-09-04 12:01:46 +02:00
parent 8e2d686b5c
commit de7d01f710
3 changed files with 404 additions and 404 deletions

View file

@ -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

View file

@ -1,205 +1,205 @@
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 or sp, ra, ra
add sp, gp, ra xori ra, sp, 0x003D
slli gp, sp, 0x0006 addi ra, sp, 0x0012
ori sp, ra, 0xFFFFFF64 add ra, gp, sp
and gp, gp, gp ori gp, ra, 0xFFFFFFB8
andi gp, gp, 0x0084 sll ra, ra, ra
xori ra, ra, 0xFFFFFEB4 sll sp, gp, ra
or sp, ra, ra slt ra, gp, ra
addi sp, ra, 0x0078 srai gp, gp, 0x0005
srli gp, sp, 0x0000 slli ra, ra, 0x0007
srl sp, gp, sp sub sp, gp, sp
andi ra, gp, 0xFFFFFFF4 andi ra, gp, 0x002D
srai ra, ra, 0xFFFFFFFF sub gp, gp, sp
sltu gp, sp, gp srai ra, gp, 0x0005
or sp, ra, gp or sp, ra, sp
sub ra, gp, ra xori ra, gp, 0xFFFFFF54
addi sp, gp, 0x017C sll ra, sp, ra
sltui ra, gp, 0xFFFFFF64 sub gp, gp, sp
xori sp, gp, 0x00A1 add ra, sp, sp
xor ra, sp, gp sll ra, gp, ra
ori gp, ra, 0x00B6 add gp, sp, sp
add ra, ra, sp ori gp, sp, 0xFFFFFE68
sltui gp, ra, 0xFFFFFFEC srli sp, gp, 0x000F
sltu gp, sp, ra sltiu ra, ra, 0xFFFFFE5D
sll sp, ra, gp srli ra, gp, 0x0006
add gp, ra, ra srai sp, sp, 0x0005
or gp, ra, gp andi sp, sp, 0x0129
xor sp, ra, sp and sp, sp, sp
addi sp, gp, 0xFFFFFF4C slli gp, ra, 0x0001
xor ra, sp, gp or gp, gp, gp
xori ra, sp, 0xFFFFFF72 or sp, gp, gp
xori gp, sp, 0xFFFFFE95 slli gp, gp, 0x0006
or ra, ra, ra srl sp, ra, gp
slti ra, gp, 0xFFFFFE75 sltiu gp, ra, 0xFFFFFEC3
slli sp, sp, 0xFFFFFFFC add sp, gp, sp
sltui ra, ra, 0xFFFFFE25 srli ra, sp, 0x0001
add sp, ra, gp xori ra, ra, 0xFFFFFFA2
sltui gp, gp, 0xFFFFFFDB or gp, gp, sp
addi sp, sp, 0x003D and sp, gp, gp
sll ra, ra, sp srai gp, sp, 0x0008
ori ra, ra, 0x012C add sp, sp, ra
add gp, ra, gp slti sp, ra, 0xFFFFFFF7
xori sp, sp, 0x0157 srli gp, ra, 0x0003
slti gp, sp, 0xFFFFFF2A sll gp, ra, gp
and sp, ra, ra sltu sp, sp, gp
add gp, ra, ra srli gp, ra, 0x0002
sltui ra, gp, 0xFFFFFE56 ori gp, sp, 0xFFFFFF28
sra gp, gp, ra srl ra, gp, ra
xori sp, gp, 0xFFFFFF0D or gp, ra, ra
sub sp, gp, ra ori sp, gp, 0x01D9
slti ra, ra, 0x0154 and sp, ra, ra
slli ra, ra, 0x000A addi sp, gp, 0x0054
ori ra, gp, 0xFFFFFEC2 slli gp, ra, 0x000E
ori ra, sp, 0x0075 ori sp, sp, 0x0093
addi gp, sp, 0x0079 srai sp, ra, 0x000F
xor gp, ra, sp slti ra, gp, 0xFFFFFFCB
srli ra, sp, 0xFFFFFFF8 add gp, gp, gp
slli gp, gp, 0x0006 and gp, gp, gp
sra sp, gp, gp sltiu gp, ra, 0x00DE
add sp, sp, sp slli sp, gp, 0x000D
slli gp, ra, 0xFFFFFFF0 slli sp, ra, 0x000B
add sp, ra, sp sltiu sp, ra, 0xFFFFFF0E
srai ra, sp, 0x0005 and ra, gp, ra
addi ra, gp, 0xFFFFFF83 add gp, sp, sp
xor gp, sp, ra slti ra, sp, 0x008C
srli ra, ra, 0x0007 srli ra, sp, 0x0000
sll gp, ra, gp addi sp, sp, 0x0168
xori gp, gp, 0x0163 slli ra, ra, 0x000D
add ra, gp, gp addi ra, gp, 0x012A
add sp, ra, ra or sp, gp, ra
sltu ra, ra, sp add ra, sp, gp
sll sp, ra, ra and gp, ra, ra
ori sp, sp, 0xFFFFFF6B slli ra, gp, 0x000A
slli gp, gp, 0xFFFFFFFA or sp, gp, sp
xori sp, ra, 0x00A7 or gp, ra, ra
add sp, ra, ra srli ra, sp, 0x0002
add ra, gp, gp ori gp, ra, 0x00EB
addi gp, gp, 0xFFFFFFE9 or sp, gp, ra
sra sp, ra, gp ori gp, sp, 0x01DA
add gp, ra, ra andi ra, ra, 0xFFFFFFE9
ori gp, gp, 0x0002 addi gp, sp, 0x00C9
addi gp, gp, 0x002F sltiu ra, ra, 0xFFFFFF13
sll sp, sp, ra sltiu ra, ra, 0xFFFFFF3A
srli sp, ra, 0xFFFFFFF2 sltiu sp, gp, 0xFFFFFE5A
ori gp, sp, 0x00EB ori sp, sp, 0xFFFFFFFE
sra gp, ra, sp and gp, sp, gp
sra sp, sp, gp sltiu sp, ra, 0x0034
and gp, ra, ra srl gp, gp, ra
sra ra, ra, gp sll gp, sp, ra
add sp, gp, ra ori ra, gp, 0xFFFFFEB6
srl gp, sp, gp sll ra, sp, ra
add ra, ra, sp sra ra, gp, sp
srai gp, ra, 0xFFFFFFF2 sub ra, sp, gp
srli sp, ra, 0xFFFFFFFC xor gp, gp, sp
ori gp, sp, 0xFFFFFE6E sub ra, ra, sp
and gp, ra, ra srl gp, gp, sp
ori gp, ra, 0xFFFFFFAF andi ra, ra, 0xFFFFFFCB
srl ra, ra, ra ori ra, ra, 0xFFFFFE1B
or sp, ra, ra andi ra, ra, 0xFFFFFEC8
ori gp, sp, 0x0018 sltiu sp, gp, 0x0108
and gp, gp, gp sub sp, gp, ra
slti gp, ra, 0x00C6 slti ra, sp, 0x015D
sll gp, sp, gp slli sp, sp, 0x0004
srli gp, sp, 0xFFFFFFFA xor gp, sp, ra
add gp, ra, ra srl ra, gp, ra
add gp, ra, sp sltiu ra, ra, 0xFFFFFF3C
sra sp, ra, ra add sp, sp, sp
ori sp, ra, 0x0022 add gp, gp, ra
and gp, gp, gp slli gp, gp, 0x0001
add ra, sp, ra andi sp, sp, 0xFFFFFF3A
sll sp, gp, gp slt gp, sp, gp
ori gp, sp, 0x008E srli ra, sp, 0x0004
slti ra, gp, 0x00B5 ori sp, gp, 0xFFFFFEAB
add sp, ra, sp ori sp, ra, 0xFFFFFE95
and sp, gp, gp slli sp, sp, 0x000E
addi ra, sp, 0x0145 xori gp, sp, 0x0040
and sp, gp, gp slti gp, sp, 0xFFFFFED1
sll gp, ra, sp or sp, sp, sp
addi sp, sp, 0xFFFFFFAF sltiu sp, gp, 0x01B4
xori sp, ra, 0xFFFFFE2C addi ra, gp, 0x002D
srl gp, ra, gp and sp, gp, gp
sub ra, sp, gp or ra, ra, ra
add sp, ra, ra or ra, gp, ra
slli sp, sp, 0x0006 srli ra, ra, 0x0004
sub gp, ra, sp or ra, gp, ra
sltu sp, ra, gp sra ra, ra, gp
xori ra, ra, 0xFFFFFF9A slli ra, gp, 0x000B
addi sp, sp, 0xFFFFFE12 slti gp, gp, 0x00E0
slli ra, ra, 0xFFFFFFFD addi gp, ra, 0xFFFFFF72
add gp, gp, gp sltiu gp, sp, 0xFFFFFEAA
xori ra, ra, 0xFFFFFED7 xor sp, ra, gp
andi gp, gp, 0xFFFFFE05 and gp, sp, ra
and gp, gp, sp srli gp, gp, 0x0003
addi gp, gp, 0xFFFFFEE5 xori ra, ra, 0x01BD
slli ra, gp, 0xFFFFFFF6 srl ra, ra, gp
sll sp, gp, gp srai ra, gp, 0x0006
and ra, gp, sp sub ra, gp, sp
ori ra, gp, 0xFFFFFE22 sll gp, ra, gp
srl sp, sp, gp xori ra, sp, 0x0065
srli ra, sp, 0x0005 and ra, gp, ra
slli ra, ra, 0xFFFFFFFB or ra, sp, ra
srai ra, ra, 0xFFFFFFF9 slt sp, gp, ra
srli ra, gp, 0xFFFFFFF1 addi ra, sp, 0xFFFFFE34
andi gp, gp, 0xFFFFFF96 slli gp, sp, 0x0007
sra sp, gp, gp sll ra, sp, gp
srai gp, gp, 0x000F sltiu gp, gp, 0xFFFFFE62
sub sp, sp, gp slti sp, sp, 0x0019
sltui ra, ra, 0xFFFFFF41 xori ra, gp, 0x0092
and sp, sp, sp sltiu gp, sp, 0xFFFFFF29
xor gp, sp, ra srl sp, ra, gp
srai gp, sp, 0xFFFFFFF6 xori sp, gp, 0xFFFFFF4C
xori gp, gp, 0x00D3 add sp, ra, gp
or gp, sp, sp add sp, gp, ra
sltu gp, ra, gp sra sp, sp, gp
slli ra, gp, 0x0002 slli sp, ra, 0x0008
or sp, gp, ra srl sp, sp, sp
addi ra, ra, 0x002B add sp, gp, ra
addi gp, ra, 0x0035 andi sp, sp, 0x0039
slli sp, gp, 0x0008 sll ra, gp, sp
addi gp, sp, 0x015E andi gp, ra, 0xFFFFFECC
xor ra, gp, sp sll sp, sp, sp
or ra, gp, ra sub sp, sp, ra
sll ra, gp, ra srai ra, sp, 0x0008
sll gp, gp, ra xor gp, ra, sp
srli gp, ra, 0xFFFFFFF4 add sp, sp, sp
slt sp, ra, sp sub gp, ra, gp
sltui sp, sp, 0xFFFFFE1C xori gp, sp, 0x01EE
ori sp, ra, 0xFFFFFE83 and ra, ra, ra
andi sp, sp, 0xFFFFFEFC ori gp, ra, 0xFFFFFE96
addi ra, ra, 0xFFFFFF85 slli ra, gp, 0x0002
ori gp, ra, 0x0084 srli gp, ra, 0x000D
sll gp, gp, ra srli sp, gp, 0x0005
xori gp, sp, 0xFFFFFF6D add ra, sp, sp
sll gp, sp, gp andi sp, gp, 0xFFFFFEC0
sra ra, sp, ra andi sp, gp, 0xFFFFFE7A
xor ra, gp, sp xori ra, sp, 0x0169
srl ra, ra, sp xori gp, sp, 0xFFFFFE02
srl ra, ra, sp andi ra, ra, 0xFFFFFFD1
andi gp, ra, 0xFFFFFE7B xor ra, sp, gp
srai ra, sp, 0xFFFFFFF1 xori gp, gp, 0x00AB
sub sp, sp, ra srl ra, ra, gp
or sp, gp, gp and ra, ra, sp
slt ra, ra, gp xori gp, sp, 0x005D
or gp, gp, sp srai sp, sp, 0x000A
srli ra, sp, 0xFFFFFFF5 addi ra, sp, 0xFFFFFE19
andi ra, gp, 0xFFFFFFD4 or sp, ra, ra
sra sp, sp, sp addi ra, gp, 0x0084
add sp, ra, sp ori sp, sp, 0xFFFFFF3D
sub gp, ra, sp xor gp, ra, gp
xori ra, gp, 0x0131 sra ra, ra, gp
add sp, sp, ra xori ra, sp, 0x0040
addi sp, gp, 0x0003 srai gp, gp, 0x0002
sll ra, ra, ra xori ra, ra, 0xFFFFFE9A
slli gp, ra, 0x000E sra ra, sp, sp
andi ra, gp, 0xFFFFFE88 ori gp, sp, 0xFFFFFFB8
srai ra, gp, 0xFFFFFFFA sll sp, ra, ra
done done
#regset x1, 123 #regset x1, 123
#regset x2, -40 #regset x2, -40
#regset x3, 0xFFEE #regset x3, 0xFFEE

View file

@ -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)