Add tests for stage 7
This commit is contained in:
16
bench/tests/op/add.s
Normal file
16
bench/tests/op/add.s
Normal file
@@ -0,0 +1,16 @@
|
||||
# expected: dead0000, dead0001, 00000000
|
||||
.text
|
||||
_start:
|
||||
lui x2, 0xdead0
|
||||
lui x3, 0x0
|
||||
lui x4, 0x1
|
||||
addi x5, x0, (-1)
|
||||
|
||||
# Add 0
|
||||
add x31, x2, x3
|
||||
|
||||
# Basic addition
|
||||
add x31, x2, x4
|
||||
|
||||
# Overflow
|
||||
add x31, x5, x4
|
||||
11
bench/tests/op/and.s
Normal file
11
bench/tests/op/and.s
Normal file
@@ -0,0 +1,11 @@
|
||||
# expected: 00000000, 00000010
|
||||
.text
|
||||
_start:
|
||||
addi x1, x0, 0x100
|
||||
addi x2, x0, 0x0FF
|
||||
and x31, x1, x2
|
||||
|
||||
addi x1, x0, -1
|
||||
addi x2, x0, 0x010
|
||||
and x31, x1, x2
|
||||
|
||||
11
bench/tests/op/or.s
Normal file
11
bench/tests/op/or.s
Normal file
@@ -0,0 +1,11 @@
|
||||
# expected: 000001FF, FFFFFFFF
|
||||
.text
|
||||
_start:
|
||||
addi x1, x0, 0x100
|
||||
addi x2, x0, 0x0FF
|
||||
or x31, x1, x2
|
||||
|
||||
addi x1, x0, -1
|
||||
addi x2, x0, 0x010
|
||||
or x31, x1, x2
|
||||
|
||||
13
bench/tests/op/sll.s
Normal file
13
bench/tests/op/sll.s
Normal file
@@ -0,0 +1,13 @@
|
||||
# expected: 000003FC, 80000000, 00000000
|
||||
.text
|
||||
_start:
|
||||
addi x1, x0, 0x0FF
|
||||
addi x2, x0, 2
|
||||
sll x31, x1, x2
|
||||
|
||||
addi x1, x0, 0x001
|
||||
addi x2, x0, 31
|
||||
sll x31, x1, x2
|
||||
|
||||
addi x1, x0, 0x0F0
|
||||
sll x31, x1, x2
|
||||
19
bench/tests/op/slt.s
Normal file
19
bench/tests/op/slt.s
Normal file
@@ -0,0 +1,19 @@
|
||||
# expected: 00000000, 00000001, 00000001, 00000000
|
||||
.text
|
||||
_start:
|
||||
addi x1, x0, (-1)
|
||||
addi x2, x0, (-37)
|
||||
slt x31, x1, x2
|
||||
|
||||
addi x1, x0, (-37)
|
||||
addi x2, x0, (-1)
|
||||
slt x31, x1, x2
|
||||
|
||||
addi x1, x0, (-38)
|
||||
addi x2, x0, (-38)
|
||||
slt x31, x1, x2
|
||||
|
||||
addi x1, x0, 129
|
||||
addi x2, x0, (-7)
|
||||
slt x31, x1, x2
|
||||
|
||||
14
bench/tests/op/sltu.s
Normal file
14
bench/tests/op/sltu.s
Normal file
@@ -0,0 +1,14 @@
|
||||
# expected: 00000001, 00000001, 00000000
|
||||
.text
|
||||
_start:
|
||||
addi x1, x0, 0
|
||||
addi x2, x0, (-1)
|
||||
sltu x31, x1, x2
|
||||
|
||||
addi x1, x0, 98
|
||||
addi x2, x0, 99
|
||||
sltu x31, x1, x2
|
||||
|
||||
addi x1, x0, 99
|
||||
addi x2, x0, 98
|
||||
sltu x31, x1, x2
|
||||
14
bench/tests/op/sra.s
Normal file
14
bench/tests/op/sra.s
Normal file
@@ -0,0 +1,14 @@
|
||||
# expected: 000000FF, FFFFFFFF, 00000000
|
||||
.text
|
||||
_start:
|
||||
addi x1, x0, 0x3FC
|
||||
addi x2, x0, 2
|
||||
sra x31, x1, x2
|
||||
|
||||
lui x1, 0xA0000
|
||||
addi x2, x0, 31
|
||||
sra x31, x1, x2
|
||||
|
||||
lui x1, 0x0A000
|
||||
addi x2, x0, 31
|
||||
sra x31, x1, x2
|
||||
14
bench/tests/op/srl.s
Normal file
14
bench/tests/op/srl.s
Normal file
@@ -0,0 +1,14 @@
|
||||
# expected: 000000FF, 00000001, 00000000
|
||||
.text
|
||||
_start:
|
||||
addi x1, x0, 0x3FC
|
||||
addi x2, x0, 2
|
||||
srl x31, x1, x2
|
||||
|
||||
lui x1, 0xA0000
|
||||
addi x2, x0, 31
|
||||
srl x31, x1, x2
|
||||
|
||||
lui x1, 0x0A000
|
||||
addi x2, x0, 31
|
||||
srl x31, x1, x2
|
||||
16
bench/tests/op/xor.s
Normal file
16
bench/tests/op/xor.s
Normal file
@@ -0,0 +1,16 @@
|
||||
# expected: 00000000, 000001EF
|
||||
.text
|
||||
_start:
|
||||
# 1 XOR 1 should equal 0000000
|
||||
addi x1, x0, -1
|
||||
addi x2, x0, -1
|
||||
xor x31, x1, x2
|
||||
|
||||
addi x1, x0, 0x1BC
|
||||
addi x2, x0, 0x1EF
|
||||
|
||||
addi x3, x0, 0x1BC
|
||||
|
||||
# Xor is involutive and commutative, applying it twice should give us the original operand
|
||||
xor x1, x1, x2
|
||||
xor x31, x1, x3
|
||||
Reference in New Issue
Block a user