Fix SLW & SRW, an x86 does not work the same way as a ppc

This commit is contained in:
gbeauche 2003-11-27 10:53:37 +00:00
parent ae2d91912c
commit d7ac6a0e68

View File

@ -666,12 +666,16 @@ void OPPROTO op_mullwo_T0_T1(void)
void OPPROTO op_slw_T0_T1(void) void OPPROTO op_slw_T0_T1(void)
{ {
T0 = T0 << (T1 & 0x3f); T1 &= 0x3f;
T0 = (T1 & 0x20) ? 0 : (T0 << T1);
dyngen_barrier();
} }
void OPPROTO op_srw_T0_T1(void) void OPPROTO op_srw_T0_T1(void)
{ {
T0 = T0 >> (T1 & 0x3f); T1 &= 0x3f;
T0 = (T1 & 0x20) ? 0 : (T0 >> T1);
dyngen_barrier();
} }
void OPPROTO op_sraw_T0_T1(void) void OPPROTO op_sraw_T0_T1(void)