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