[Testing] Add more instruction tests
This commit is contained in:
35
src/xenia/cpu/ppc/testing/instr_nandx.s
Normal file
35
src/xenia/cpu/ppc/testing/instr_nandx.s
Normal 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
|
||||
35
src/xenia/cpu/ppc/testing/instr_orx.s
Normal file
35
src/xenia/cpu/ppc/testing/instr_orx.s
Normal 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
|
||||
31
src/xenia/cpu/ppc/testing/instr_stfiwx.s
Normal file
31
src/xenia/cpu/ppc/testing/instr_stfiwx.s
Normal 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
|
||||
31
src/xenia/cpu/ppc/testing/instr_stvebx.s
Normal file
31
src/xenia/cpu/ppc/testing/instr_stvebx.s
Normal 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
|
||||
31
src/xenia/cpu/ppc/testing/instr_stvehx.s
Normal file
31
src/xenia/cpu/ppc/testing/instr_stvehx.s
Normal 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
|
||||
35
src/xenia/cpu/ppc/testing/instr_xorx.s
Normal file
35
src/xenia/cpu/ppc/testing/instr_xorx.s
Normal 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
|
||||
Reference in New Issue
Block a user