Replacing DidCarry with manual calculation and fixing compares.
This commit is contained in:
@@ -248,7 +248,7 @@ test_addc_cr_6:
|
||||
#_ REGISTER_OUT r3 0x8000000000000001
|
||||
#_ REGISTER_OUT r4 0x7FFFFFFFFFFFFFFF
|
||||
#_ REGISTER_OUT r5 2
|
||||
#_ REGISTER_OUT r6 0
|
||||
#_ REGISTER_OUT r6 1
|
||||
#_ REGISTER_OUT r12 0x40000000
|
||||
|
||||
test_addc_cr_6_constant:
|
||||
@@ -262,5 +262,5 @@ test_addc_cr_6_constant:
|
||||
#_ REGISTER_OUT r3 0x8000000000000001
|
||||
#_ REGISTER_OUT r4 0x7FFFFFFFFFFFFFFF
|
||||
#_ REGISTER_OUT r5 2
|
||||
#_ REGISTER_OUT r6 0
|
||||
#_ REGISTER_OUT r6 1
|
||||
#_ REGISTER_OUT r12 0x40000000
|
||||
|
||||
@@ -30,6 +30,23 @@ test_addic_2_constant:
|
||||
#_ REGISTER_OUT r4 0
|
||||
#_ REGISTER_OUT r6 1
|
||||
|
||||
test_addic_3:
|
||||
#_ REGISTER_IN r4 0xFFFFFFFF
|
||||
addic r4, r4, 1
|
||||
adde r6, r0, r0
|
||||
blr
|
||||
#_ REGISTER_OUT r4 0x0000000100000000
|
||||
#_ REGISTER_OUT r6 1
|
||||
|
||||
test_addic_3_constant:
|
||||
li r4, 0xFFFFFFFF
|
||||
srw r4, r4, 0
|
||||
addic r4, r4, 1
|
||||
adde r6, r0, r0
|
||||
blr
|
||||
#_ REGISTER_OUT r4 0x0000000100000000
|
||||
#_ REGISTER_OUT r6 1
|
||||
|
||||
test_addic_cr_1:
|
||||
#_ REGISTER_IN r4 1
|
||||
addic. r4, r4, 1
|
||||
|
||||
@@ -1,95 +1,95 @@
|
||||
test_lvebx_1:
|
||||
#_ MEMORY_IN 00000000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
#_ REGISTER_IN r4 0
|
||||
#_ MEMORY_IN 00001000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
#_ REGISTER_IN r4 0x00001000
|
||||
lvebx v3, r0, r4
|
||||
blr
|
||||
#_ REGISTER_OUT r4 0
|
||||
#_ REGISTER_OUT r4 0x00001000
|
||||
#_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
|
||||
|
||||
test_lvebx_1_constant:
|
||||
#_ MEMORY_IN 00000000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
li r4, 0
|
||||
#_ MEMORY_IN 00001000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
li r4, 0x00001000
|
||||
lvebx v3, r0, r4
|
||||
blr
|
||||
#_ REGISTER_OUT r4 0
|
||||
#_ REGISTER_OUT r4 0x00001000
|
||||
#_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
|
||||
|
||||
test_lvebx_2:
|
||||
#_ MEMORY_IN 00000000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
#_ REGISTER_IN r4 4
|
||||
#_ MEMORY_IN 00001000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
#_ REGISTER_IN r4 0x00001004
|
||||
lvebx v3, r0, r4
|
||||
blr
|
||||
#_ REGISTER_OUT r4 4
|
||||
#_ REGISTER_OUT r4 0x00001004
|
||||
#_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
|
||||
|
||||
test_lvebx_2_constant:
|
||||
#_ MEMORY_IN 00000000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
li r4, 4
|
||||
#_ MEMORY_IN 00001000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
li r4, 0x00001004
|
||||
lvebx v3, r0, r4
|
||||
blr
|
||||
#_ REGISTER_OUT r4 4
|
||||
#_ REGISTER_OUT r4 0x00001004
|
||||
#_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
|
||||
|
||||
test_lvehx_1:
|
||||
#_ MEMORY_IN 00000000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
#_ REGISTER_IN r4 0
|
||||
#_ MEMORY_IN 00001000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
#_ REGISTER_IN r4 0x00001000
|
||||
lvehx v3, r0, r4
|
||||
blr
|
||||
#_ REGISTER_OUT r4 0
|
||||
#_ REGISTER_OUT r4 0x00001000
|
||||
#_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
|
||||
|
||||
test_lvehx_1_constant:
|
||||
#_ MEMORY_IN 00000000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
li r4, 0
|
||||
#_ MEMORY_IN 00001000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
li r4, 0x00001000
|
||||
lvehx v3, r0, r4
|
||||
blr
|
||||
#_ REGISTER_OUT r4 0
|
||||
#_ REGISTER_OUT r4 0x00001000
|
||||
#_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
|
||||
|
||||
test_lvehx_2:
|
||||
#_ MEMORY_IN 00000000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
#_ REGISTER_IN r4 4
|
||||
#_ MEMORY_IN 00001000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
#_ REGISTER_IN r4 0x00001004
|
||||
lvehx v3, r0, r4
|
||||
blr
|
||||
#_ REGISTER_OUT r4 4
|
||||
#_ REGISTER_OUT r4 0x00001004
|
||||
#_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
|
||||
|
||||
test_lvehx_2_constant:
|
||||
#_ MEMORY_IN 00000000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
li r4, 4
|
||||
#_ MEMORY_IN 00001000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
li r4, 0x00001004
|
||||
lvehx v3, r0, r4
|
||||
blr
|
||||
#_ REGISTER_OUT r4 4
|
||||
#_ REGISTER_OUT r4 0x00001004
|
||||
#_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
|
||||
|
||||
test_lvewx_1:
|
||||
#_ MEMORY_IN 00000000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
#_ REGISTER_IN r4 0
|
||||
#_ MEMORY_IN 00001000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
#_ REGISTER_IN r4 0x00001000
|
||||
lvewx v3, r0, r4
|
||||
blr
|
||||
#_ REGISTER_OUT r4 0
|
||||
#_ REGISTER_OUT r4 0x00001000
|
||||
#_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
|
||||
|
||||
test_lvewx_1_constant:
|
||||
#_ MEMORY_IN 00000000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
li r4, 0
|
||||
#_ MEMORY_IN 00001000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
li r4, 0x00001000
|
||||
lvewx v3, r0, r4
|
||||
blr
|
||||
#_ REGISTER_OUT r4 0
|
||||
#_ REGISTER_OUT r4 0x00001000
|
||||
#_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
|
||||
|
||||
test_lvewx_2:
|
||||
#_ MEMORY_IN 00000000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
#_ REGISTER_IN r4 4
|
||||
#_ MEMORY_IN 00001000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
#_ REGISTER_IN r4 0x00001004
|
||||
lvewx v3, r0, r4
|
||||
blr
|
||||
#_ REGISTER_OUT r4 4
|
||||
#_ REGISTER_OUT r4 0x00001004
|
||||
#_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
|
||||
|
||||
test_lvewx_2_constant:
|
||||
#_ MEMORY_IN 00000000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
li r4, 4
|
||||
#_ MEMORY_IN 00001000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
|
||||
li r4, 0x00001004
|
||||
lvewx v3, r0, r4
|
||||
blr
|
||||
#_ REGISTER_OUT r4 4
|
||||
#_ REGISTER_OUT r4 0x00001004
|
||||
#_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
|
||||
|
||||
@@ -33,7 +33,7 @@ test_equiv_2:
|
||||
li r12, 1
|
||||
blr
|
||||
#_ REGISTER_OUT r7 0xffffffffffffffff
|
||||
#_ REGISTER_OUT r8 0xffffffff00000000
|
||||
#_ REGISTER_OUT r8 0
|
||||
#_ REGISTER_OUT r9 0xffffffff9e2a0000
|
||||
#_ REGISTER_OUT r30 0xffffffff9e2a83c1
|
||||
#_ REGISTER_OUT r31 0
|
||||
|
||||
@@ -198,6 +198,11 @@ class TestRunner {
|
||||
processor->backend()->CommitExecutableRange(START_ADDRESS,
|
||||
START_ADDRESS + 1024 * 1024);
|
||||
|
||||
// Add dummy space for memory.
|
||||
processor->memory()->LookupHeap(0)->AllocFixed(
|
||||
0x1000, 0xEFFF, 0, kMemoryAllocationReserve | kMemoryAllocationCommit,
|
||||
kMemoryProtectRead | kMemoryProtectWrite);
|
||||
|
||||
// Simulate a thread.
|
||||
uint32_t stack_size = 64 * 1024;
|
||||
uint32_t stack_address = START_ADDRESS - stack_size;
|
||||
|
||||
Reference in New Issue
Block a user