[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:
Ryan Houdek 2014-11-29 06:52:09 +00:00
parent b848365f78
commit cd13d2d66f

View File

@ -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);