[Testing] Add more instruction tests

This commit is contained in:
Herman S.
2025-10-19 15:32:12 +09:00
parent 2bb7c8dbf5
commit d6a4493d5b
6 changed files with 198 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
test_nandx_1:
#_ REGISTER_IN r4 0xFFFFFFFF
#_ REGISTER_IN r5 0xFFFFFFFF
nand. r3, r4, r5
blr
#_ REGISTER_OUT r3 0xFFFFFFFF00000000
#_ REGISTER_OUT r4 0xFFFFFFFF
#_ REGISTER_OUT r5 0xFFFFFFFF
test_nandx_2:
#_ REGISTER_IN r4 0xAAAAAAAA
#_ REGISTER_IN r5 0x55555555
nand. r3, r4, r5
blr
#_ REGISTER_OUT r3 0xFFFFFFFFFFFFFFFF
#_ REGISTER_OUT r4 0xAAAAAAAA
#_ REGISTER_OUT r5 0x55555555
test_nandx_3:
#_ REGISTER_IN r4 0xFFFF0000
#_ REGISTER_IN r5 0xFFFF0000
nand. r3, r4, r5
blr
#_ REGISTER_OUT r3 0xFFFFFFFF0000FFFF
#_ REGISTER_OUT r4 0xFFFF0000
#_ REGISTER_OUT r5 0xFFFF0000
test_nandx_4:
#_ REGISTER_IN r4 0x00000000
#_ REGISTER_IN r5 0xFFFFFFFF
nand. r3, r4, r5
blr
#_ REGISTER_OUT r3 0xFFFFFFFFFFFFFFFF
#_ REGISTER_OUT r4 0x00000000
#_ REGISTER_OUT r5 0xFFFFFFFF

View File

@@ -0,0 +1,35 @@
test_orx_1:
#_ REGISTER_IN r4 0xFFFF0000
#_ REGISTER_IN r5 0x0000FFFF
or. r3, r4, r5
blr
#_ REGISTER_OUT r3 0xFFFFFFFF
#_ REGISTER_OUT r4 0xFFFF0000
#_ REGISTER_OUT r5 0x0000FFFF
test_orx_2:
#_ REGISTER_IN r4 0xAAAAAAAA
#_ REGISTER_IN r5 0x55555555
or. r3, r4, r5
blr
#_ REGISTER_OUT r3 0xFFFFFFFF
#_ REGISTER_OUT r4 0xAAAAAAAA
#_ REGISTER_OUT r5 0x55555555
test_orx_3:
#_ REGISTER_IN r4 0x00000000
#_ REGISTER_IN r5 0x12345678
or. r3, r4, r5
blr
#_ REGISTER_OUT r3 0x12345678
#_ REGISTER_OUT r4 0x00000000
#_ REGISTER_OUT r5 0x12345678
test_orx_4:
#_ REGISTER_IN r4 0xFFFFFFFF
#_ REGISTER_IN r5 0x00000000
or. r3, r4, r5
blr
#_ REGISTER_OUT r3 0xFFFFFFFF
#_ REGISTER_OUT r4 0xFFFFFFFF
#_ REGISTER_OUT r5 0x00000000

View File

@@ -0,0 +1,31 @@
test_stfiwx_1:
#_ REGISTER_IN r4 0x0000000010001000
li r5, 0
#_ REGISTER_IN f3 0x3F800000
stfiwx f3, r4, r5
blr
#_ MEMORY_OUT 10001000 3F800000
test_stfiwx_2:
#_ REGISTER_IN r4 0x0000000010001000
li r5, 4
#_ REGISTER_IN f3 0x12345678
stfiwx f3, r4, r5
blr
#_ MEMORY_OUT 10001004 12345678
test_stfiwx_3:
#_ REGISTER_IN r4 0x0000000010001000
li r5, 0
#_ REGISTER_IN f3 0xFFFFFFFF
stfiwx f3, r4, r5
blr
#_ MEMORY_OUT 10001000 FFFFFFFF
test_stfiwx_4:
#_ REGISTER_IN r4 0x0000000010001000
li r5, 0
#_ REGISTER_IN f3 0x00000000
stfiwx f3, r4, r5
blr
#_ MEMORY_OUT 10001000 00000000

View File

@@ -0,0 +1,31 @@
test_stvebx_1:
#_ REGISTER_IN r4 0x0000000010001000
li r5, 0
#_ REGISTER_IN v3 [01020304, 05060708, 090A0B0C, 0D0E0F10]
stvebx v3, r4, r5
blr
#_ MEMORY_OUT 10001000 01
test_stvebx_2:
#_ REGISTER_IN r4 0x0000000010001000
li r5, 1
#_ REGISTER_IN v3 [01020304, 05060708, 090A0B0C, 0D0E0F10]
stvebx v3, r4, r5
blr
#_ MEMORY_OUT 10001001 02
test_stvebx_3:
#_ REGISTER_IN r4 0x0000000010001000
li r5, 15
#_ REGISTER_IN v3 [01020304, 05060708, 090A0B0C, 0D0E0F10]
stvebx v3, r4, r5
blr
#_ MEMORY_OUT 1000100F 10
test_stvebx_4:
#_ REGISTER_IN r4 0x0000000010001000
li r5, 8
#_ REGISTER_IN v3 [01020304, 05060708, 090A0B0C, 0D0E0F10]
stvebx v3, r4, r5
blr
#_ MEMORY_OUT 10001008 09

View File

@@ -0,0 +1,31 @@
test_stvehx_1:
#_ REGISTER_IN r4 0x0000000010001000
li r5, 0
#_ REGISTER_IN v3 [01020304, 05060708, 090A0B0C, 0D0E0F10]
stvehx v3, r4, r5
blr
#_ MEMORY_OUT 10001000 0102
test_stvehx_2:
#_ REGISTER_IN r4 0x0000000010001000
li r5, 2
#_ REGISTER_IN v3 [01020304, 05060708, 090A0B0C, 0D0E0F10]
stvehx v3, r4, r5
blr
#_ MEMORY_OUT 10001002 0304
test_stvehx_3:
#_ REGISTER_IN r4 0x0000000010001000
li r5, 14
#_ REGISTER_IN v3 [01020304, 05060708, 090A0B0C, 0D0E0F10]
stvehx v3, r4, r5
blr
#_ MEMORY_OUT 1000100E 0F10
test_stvehx_4:
#_ REGISTER_IN r4 0x0000000010001000
li r5, 8
#_ REGISTER_IN v3 [01020304, 05060708, 090A0B0C, 0D0E0F10]
stvehx v3, r4, r5
blr
#_ MEMORY_OUT 10001008 090A

View File

@@ -0,0 +1,35 @@
test_xorx_1:
#_ REGISTER_IN r4 0xFFFF0000
#_ REGISTER_IN r5 0x0000FFFF
xor. r3, r4, r5
blr
#_ REGISTER_OUT r3 0xFFFFFFFF
#_ REGISTER_OUT r4 0xFFFF0000
#_ REGISTER_OUT r5 0x0000FFFF
test_xorx_2:
#_ REGISTER_IN r4 0xAAAAAAAA
#_ REGISTER_IN r5 0x55555555
xor. r3, r4, r5
blr
#_ REGISTER_OUT r3 0xFFFFFFFF
#_ REGISTER_OUT r4 0xAAAAAAAA
#_ REGISTER_OUT r5 0x55555555
test_xorx_3:
#_ REGISTER_IN r4 0x12345678
#_ REGISTER_IN r5 0x12345678
xor. r3, r4, r5
blr
#_ REGISTER_OUT r3 0x00000000
#_ REGISTER_OUT r4 0x12345678
#_ REGISTER_OUT r5 0x12345678
test_xorx_4:
#_ REGISTER_IN r4 0xFFFFFFFF
#_ REGISTER_IN r5 0x00000000
xor. r3, r4, r5
blr
#_ REGISTER_OUT r3 0xFFFFFFFF
#_ REGISTER_OUT r4 0xFFFFFFFF
#_ REGISTER_OUT r5 0x00000000