[ARM32] Fix a couple bugs in the paired loadstore routines.
This code was obviously wrong, we were sign extending 8 bit unsigned values and loading from the wrong offset as well. This fixes a bug in Muramasa where some colours were going insane.
This commit is contained in:
parent
b848365f78
commit
cd13d2d66f
|
@ -226,12 +226,10 @@ void JitArmAsmRoutineManager::GenerateCommon()
|
|||
BIC(R10, R10, mask);
|
||||
ADD(R10, R10, R8);
|
||||
|
||||
LDRH(R12, R10);
|
||||
SXTB(R12, R12);
|
||||
LDRB(R12, R10);
|
||||
VMOV(S0, R12);
|
||||
|
||||
LDRH(R12, R10, 2);
|
||||
SXTB(R12, R12);
|
||||
LDRB(R12, R10, 1);
|
||||
VMOV(S1, R12);
|
||||
|
||||
MOVI2R(R10, (u32)&m_dequantizeTableS);
|
||||
|
@ -252,7 +250,6 @@ void JitArmAsmRoutineManager::GenerateCommon()
|
|||
ADD(R10, R10, R8);
|
||||
|
||||
LDRB(R12, R10);
|
||||
SXTB(R12, R12);
|
||||
VMOV(S0, R12);
|
||||
|
||||
MOVI2R(R10, (u32)&m_dequantizeTableS);
|
||||
|
@ -270,12 +267,10 @@ void JitArmAsmRoutineManager::GenerateCommon()
|
|||
BIC(R10, R10, mask);
|
||||
ADD(R10, R10, R8);
|
||||
|
||||
LDRH(R12, R10);
|
||||
SXTB(R12, R12);
|
||||
LDRSB(R12, R10);
|
||||
VMOV(S0, R12);
|
||||
|
||||
LDRH(R12, R10, 2);
|
||||
SXTB(R12, R12);
|
||||
LDRSB(R12, R10, 1);
|
||||
VMOV(S1, R12);
|
||||
|
||||
MOVI2R(R10, (u32)&m_dequantizeTableS);
|
||||
|
@ -295,8 +290,7 @@ void JitArmAsmRoutineManager::GenerateCommon()
|
|||
BIC(R10, R10, mask);
|
||||
ADD(R10, R10, R8);
|
||||
|
||||
LDRB(R12, R10);
|
||||
SXTB(R12, R12);
|
||||
LDRSB(R12, R10);
|
||||
VMOV(S0, R12);
|
||||
|
||||
MOVI2R(R10, (u32)&m_dequantizeTableS);
|
||||
|
@ -316,12 +310,10 @@ void JitArmAsmRoutineManager::GenerateCommon()
|
|||
|
||||
LDRH(R12, R10);
|
||||
REV16(R12, R12);
|
||||
SXTH(R12, R12);
|
||||
VMOV(S0, R12);
|
||||
|
||||
LDRH(R12, R10, 2);
|
||||
REV16(R12, R12);
|
||||
SXTH(R12, R12);
|
||||
VMOV(S1, R12);
|
||||
|
||||
MOVI2R(R10, (u32)&m_dequantizeTableS);
|
||||
|
|
Loading…
Reference in New Issue