Add tests for stage 7

This commit is contained in:
2025-11-06 18:52:31 +01:00
parent 1c829366de
commit 37435c6677
9 changed files with 128 additions and 0 deletions

16
bench/tests/op/add.s Normal file
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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