Short-circuiting lvrx/stvrx. Should help bad accesses in many games.
Fixes #411.
This commit is contained in:
@@ -18,3 +18,23 @@ test_lvr_1_constant:
|
||||
#_ REGISTER_OUT r4 0x100010B7
|
||||
#_ REGISTER_OUT r5 0x10
|
||||
#_ REGISTER_OUT v3 [00000000, 00000000, 000D0E10, 11121314]
|
||||
|
||||
test_lvr_2:
|
||||
#_ REGISTER_IN r4 0x20000000
|
||||
#_ REGISTER_IN r5 0x10
|
||||
#_ REGISTER_IN v3 [FFFFFFFF, FFFFFFFF, FFFFFFFF, FFFFFFFF]
|
||||
lvrx v3, r4, r5
|
||||
blr
|
||||
#_ REGISTER_OUT r4 0x20000000
|
||||
#_ REGISTER_OUT r5 0x10
|
||||
#_ REGISTER_OUT v3 [00000000, 00000000, 00000000, 00000000]
|
||||
|
||||
test_lvr_2_constant:
|
||||
#_ REGISTER_IN v3 [FFFFFFFF, FFFFFFFF, FFFFFFFF, FFFFFFFF]
|
||||
lis r4, 0x2000
|
||||
li r5, 0x10
|
||||
lvrx v3, r4, r5
|
||||
blr
|
||||
#_ REGISTER_OUT r4 0x20000000
|
||||
#_ REGISTER_OUT r5 0x10
|
||||
#_ REGISTER_OUT v3 [00000000, 00000000, 00000000, 00000000]
|
||||
|
||||
@@ -47,3 +47,21 @@ test_stvr_2_constant:
|
||||
#_ REGISTER_OUT r4 0x10001044
|
||||
#_ REGISTER_OUT v3 [F0F1F2F3, F4F5F6F7, F8F9FAFB, FCFDFEFF]
|
||||
#_ MEMORY_OUT 10001040 FCFDFEFF 04050607 08090A0B 0C0D0E0F
|
||||
|
||||
test_stvr_3:
|
||||
#_ REGISTER_IN r4 0x10010000
|
||||
#_ REGISTER_IN r5 0x0
|
||||
#_ REGISTER_IN v3 [BE74FCBD, BD912ABA, BF317BBB, BF2D135F]
|
||||
stvrx v3, r4, r5
|
||||
blr
|
||||
#_ REGISTER_OUT r4 0x10010000
|
||||
#_ REGISTER_OUT r5 0x0
|
||||
#_ REGISTER_OUT v3 [BE74FCBD, BD912ABA, BF317BBB, BF2D135F]
|
||||
|
||||
test_stvr_3_constant:
|
||||
#_ REGISTER_IN v3 [BE74FCBD, BD912ABA, BF317BBB, BF2D135F]
|
||||
lis r4, 0x1001
|
||||
stvrx v3, r4, r0
|
||||
blr
|
||||
#_ REGISTER_OUT r4 0x10010000
|
||||
#_ REGISTER_OUT v3 [BE74FCBD, BD912ABA, BF317BBB, BF2D135F]
|
||||
|
||||
Reference in New Issue
Block a user