Part 4.
This commit is contained in:
@@ -49,7 +49,7 @@ opPAVGUSB(uint32_t fetchdat)
|
||||
dst->b[6] = (dst->b[6] + src.b[6] + 1) >> 1;
|
||||
dst->b[7] = (dst->b[7] + src.b[7] + 1) >> 1;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -64,7 +64,7 @@ opPF2ID(uint32_t fetchdat)
|
||||
dst->sl[0] = (int32_t) src.f[0];
|
||||
dst->sl[1] = (int32_t) src.f[1];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -79,7 +79,7 @@ opPF2IW(uint32_t fetchdat)
|
||||
dst->sw[0] = (int32_t) src.f[0];
|
||||
dst->sw[1] = (int32_t) src.f[1];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -96,7 +96,7 @@ opPFACC(uint32_t fetchdat)
|
||||
dst->f[1] = src.f[0] + src.f[1];
|
||||
dst->f[0] = tempf;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -113,7 +113,7 @@ opPFNACC(uint32_t fetchdat)
|
||||
dst->f[1] = src.f[0] - src.f[1];
|
||||
dst->f[0] = tempf;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -130,7 +130,7 @@ opPFPNACC(uint32_t fetchdat)
|
||||
dst->f[1] = src.f[0] + src.f[1];
|
||||
dst->f[0] = tempf;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -149,7 +149,7 @@ opPSWAPD(uint32_t fetchdat)
|
||||
dst->f[1] = tempf;
|
||||
dst->f[0] = tempf2;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -164,7 +164,7 @@ opPFADD(uint32_t fetchdat)
|
||||
dst->f[0] += src.f[0];
|
||||
dst->f[1] += src.f[1];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -179,7 +179,7 @@ opPFCMPEQ(uint32_t fetchdat)
|
||||
dst->l[0] = (dst->f[0] == src.f[0]) ? 0xffffffff : 0;
|
||||
dst->l[1] = (dst->f[1] == src.f[1]) ? 0xffffffff : 0;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -194,7 +194,7 @@ opPFCMPGE(uint32_t fetchdat)
|
||||
dst->l[0] = (dst->f[0] >= src.f[0]) ? 0xffffffff : 0;
|
||||
dst->l[1] = (dst->f[1] >= src.f[1]) ? 0xffffffff : 0;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -209,7 +209,7 @@ opPFCMPGT(uint32_t fetchdat)
|
||||
dst->l[0] = (dst->f[0] > src.f[0]) ? 0xffffffff : 0;
|
||||
dst->l[1] = (dst->f[1] > src.f[1]) ? 0xffffffff : 0;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -226,7 +226,7 @@ opPFMAX(uint32_t fetchdat)
|
||||
if (src.f[1] > dst->f[1])
|
||||
dst->f[1] = src.f[1];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -243,7 +243,7 @@ opPFMIN(uint32_t fetchdat)
|
||||
if (src.f[1] < dst->f[1])
|
||||
dst->f[1] = src.f[1];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -258,7 +258,7 @@ opPFMUL(uint32_t fetchdat)
|
||||
dst->f[0] *= src.f[0];
|
||||
dst->f[1] *= src.f[1];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -286,7 +286,7 @@ opPFRCP(uint32_t fetchdat)
|
||||
dst->f[0] = 1.0 / src.f;
|
||||
dst->f[1] = dst->f[0];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -302,7 +302,7 @@ opPFRCPIT1(uint32_t fetchdat)
|
||||
dst->f[0] = src.f[0];
|
||||
dst->f[1] = src.f[1];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -317,7 +317,7 @@ opPFRCPIT2(uint32_t fetchdat)
|
||||
dst->f[0] = src.f[0];
|
||||
dst->f[1] = src.f[1];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -345,7 +345,7 @@ opPFRSQRT(uint32_t fetchdat)
|
||||
dst->f[0] = 1.0 / sqrt(src.f);
|
||||
dst->f[1] = dst->f[0];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -371,7 +371,7 @@ opPFSUB(uint32_t fetchdat)
|
||||
dst->f[0] -= src.f[0];
|
||||
dst->f[1] -= src.f[1];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -386,7 +386,7 @@ opPFSUBR(uint32_t fetchdat)
|
||||
dst->f[0] = src.f[0] - dst->f[0];
|
||||
dst->f[1] = src.f[1] - dst->f[1];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -401,7 +401,7 @@ opPI2FD(uint32_t fetchdat)
|
||||
dst->f[0] = (float) src.sl[0];
|
||||
dst->f[1] = (float) src.sl[1];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -416,7 +416,7 @@ opPI2FW(uint32_t fetchdat)
|
||||
dst->f[0] = (float) src.sw[0];
|
||||
dst->f[1] = (float) src.sw[1];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -447,7 +447,7 @@ opPMULHRW(uint32_t fetchdat)
|
||||
CLOCK_CYCLES(2);
|
||||
}
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -6,9 +6,9 @@
|
||||
#define MMX_GETREGP(r) fpu_softfloat ? ((MMX_REG *) &fpu_state.st_space[r].fraction) : &(cpu_state.MM[r])
|
||||
#define MMX_GETREG(r) fpu_softfloat ? (*(MMX_REG *) &fpu_state.st_space[r].fraction) : cpu_state.MM[r]
|
||||
|
||||
#define MMX_SETEXP() \
|
||||
#define MMX_SETEXP(r) \
|
||||
if (fpu_softfloat) \
|
||||
fpu_state.st_space[cpu_reg].exp = 0xffff
|
||||
fpu_state.st_space[r].exp = 0xffff
|
||||
|
||||
#define MMX_GETSRC() \
|
||||
if (cpu_mod == 3) { \
|
||||
|
@@ -20,7 +20,7 @@ opPADDB_a16(uint32_t fetchdat)
|
||||
dst->b[6] += src.b[6];
|
||||
dst->b[7] += src.b[7];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -46,7 +46,7 @@ opPADDB_a32(uint32_t fetchdat)
|
||||
dst->b[6] += src.b[6];
|
||||
dst->b[7] += src.b[7];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -69,7 +69,7 @@ opPADDW_a16(uint32_t fetchdat)
|
||||
dst->w[2] += src.w[2];
|
||||
dst->w[3] += src.w[3];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -91,7 +91,7 @@ opPADDW_a32(uint32_t fetchdat)
|
||||
dst->w[2] += src.w[2];
|
||||
dst->w[3] += src.w[3];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -112,7 +112,7 @@ opPADDD_a16(uint32_t fetchdat)
|
||||
dst->l[0] += src.l[0];
|
||||
dst->l[1] += src.l[1];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -132,7 +132,7 @@ opPADDD_a32(uint32_t fetchdat)
|
||||
dst->l[0] += src.l[0];
|
||||
dst->l[1] += src.l[1];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -159,7 +159,7 @@ opPADDSB_a16(uint32_t fetchdat)
|
||||
dst->sb[6] = SSATB(dst->sb[6] + src.sb[6]);
|
||||
dst->sb[7] = SSATB(dst->sb[7] + src.sb[7]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -185,7 +185,7 @@ opPADDSB_a32(uint32_t fetchdat)
|
||||
dst->sb[6] = SSATB(dst->sb[6] + src.sb[6]);
|
||||
dst->sb[7] = SSATB(dst->sb[7] + src.sb[7]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -212,7 +212,7 @@ opPADDUSB_a16(uint32_t fetchdat)
|
||||
dst->b[6] = USATB(dst->b[6] + src.b[6]);
|
||||
dst->b[7] = USATB(dst->b[7] + src.b[7]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -238,7 +238,7 @@ opPADDUSB_a32(uint32_t fetchdat)
|
||||
dst->b[6] = USATB(dst->b[6] + src.b[6]);
|
||||
dst->b[7] = USATB(dst->b[7] + src.b[7]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -261,7 +261,7 @@ opPADDSW_a16(uint32_t fetchdat)
|
||||
dst->sw[2] = SSATW(dst->sw[2] + src.sw[2]);
|
||||
dst->sw[3] = SSATW(dst->sw[3] + src.sw[3]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -283,7 +283,7 @@ opPADDSW_a32(uint32_t fetchdat)
|
||||
dst->sw[2] = SSATW(dst->sw[2] + src.sw[2]);
|
||||
dst->sw[3] = SSATW(dst->sw[3] + src.sw[3]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -306,7 +306,7 @@ opPADDUSW_a16(uint32_t fetchdat)
|
||||
dst->w[2] = USATW(dst->w[2] + src.w[2]);
|
||||
dst->w[3] = USATW(dst->w[3] + src.w[3]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -328,7 +328,7 @@ opPADDUSW_a32(uint32_t fetchdat)
|
||||
dst->w[2] = USATW(dst->w[2] + src.w[2]);
|
||||
dst->w[3] = USATW(dst->w[3] + src.w[3]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -356,7 +356,7 @@ opPMADDWD_a16(uint32_t fetchdat)
|
||||
else
|
||||
dst->sl[1] = ((int32_t) dst->sw[2] * (int32_t) src.sw[2]) + ((int32_t) dst->sw[3] * (int32_t) src.sw[3]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -383,7 +383,7 @@ opPMADDWD_a32(uint32_t fetchdat)
|
||||
else
|
||||
dst->sl[1] = ((int32_t) dst->sw[2] * (int32_t) src.sw[2]) + ((int32_t) dst->sw[3] * (int32_t) src.sw[3]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -415,7 +415,7 @@ opPMULLW_a16(uint32_t fetchdat)
|
||||
dst->w[3] *= src.w[3];
|
||||
CLOCK_CYCLES(1);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -446,7 +446,7 @@ opPMULLW_a32(uint32_t fetchdat)
|
||||
dst->w[3] *= src.w[3];
|
||||
CLOCK_CYCLES(1);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -478,7 +478,7 @@ opPMULHW_a16(uint32_t fetchdat)
|
||||
dst->w[3] = ((int32_t) dst->sw[3] * (int32_t) src.sw[3]) >> 16;
|
||||
CLOCK_CYCLES(1);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -509,7 +509,7 @@ opPMULHW_a32(uint32_t fetchdat)
|
||||
dst->w[3] = ((int32_t) dst->sw[3] * (int32_t) src.sw[3]) >> 16;
|
||||
CLOCK_CYCLES(1);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -536,7 +536,7 @@ opPSUBB_a16(uint32_t fetchdat)
|
||||
dst->b[6] -= src.b[6];
|
||||
dst->b[7] -= src.b[7];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -562,7 +562,7 @@ opPSUBB_a32(uint32_t fetchdat)
|
||||
dst->b[6] -= src.b[6];
|
||||
dst->b[7] -= src.b[7];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -585,7 +585,7 @@ opPSUBW_a16(uint32_t fetchdat)
|
||||
dst->w[2] -= src.w[2];
|
||||
dst->w[3] -= src.w[3];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -607,7 +607,7 @@ opPSUBW_a32(uint32_t fetchdat)
|
||||
dst->w[2] -= src.w[2];
|
||||
dst->w[3] -= src.w[3];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -628,7 +628,7 @@ opPSUBD_a16(uint32_t fetchdat)
|
||||
dst->l[0] -= src.l[0];
|
||||
dst->l[1] -= src.l[1];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -648,7 +648,7 @@ opPSUBD_a32(uint32_t fetchdat)
|
||||
dst->l[0] -= src.l[0];
|
||||
dst->l[1] -= src.l[1];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -675,7 +675,7 @@ opPSUBSB_a16(uint32_t fetchdat)
|
||||
dst->sb[6] = SSATB(dst->sb[6] - src.sb[6]);
|
||||
dst->sb[7] = SSATB(dst->sb[7] - src.sb[7]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -701,7 +701,7 @@ opPSUBSB_a32(uint32_t fetchdat)
|
||||
dst->sb[6] = SSATB(dst->sb[6] - src.sb[6]);
|
||||
dst->sb[7] = SSATB(dst->sb[7] - src.sb[7]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -728,7 +728,7 @@ opPSUBUSB_a16(uint32_t fetchdat)
|
||||
dst->b[6] = USATB(dst->b[6] - src.b[6]);
|
||||
dst->b[7] = USATB(dst->b[7] - src.b[7]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -754,7 +754,7 @@ opPSUBUSB_a32(uint32_t fetchdat)
|
||||
dst->b[6] = USATB(dst->b[6] - src.b[6]);
|
||||
dst->b[7] = USATB(dst->b[7] - src.b[7]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -777,7 +777,7 @@ opPSUBSW_a16(uint32_t fetchdat)
|
||||
dst->sw[2] = SSATW(dst->sw[2] - src.sw[2]);
|
||||
dst->sw[3] = SSATW(dst->sw[3] - src.sw[3]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -799,7 +799,7 @@ opPSUBSW_a32(uint32_t fetchdat)
|
||||
dst->sw[2] = SSATW(dst->sw[2] - src.sw[2]);
|
||||
dst->sw[3] = SSATW(dst->sw[3] - src.sw[3]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -822,7 +822,7 @@ opPSUBUSW_a16(uint32_t fetchdat)
|
||||
dst->w[2] = USATW(dst->w[2] - src.w[2]);
|
||||
dst->w[3] = USATW(dst->w[3] - src.w[3]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -844,7 +844,7 @@ opPSUBUSW_a32(uint32_t fetchdat)
|
||||
dst->w[2] = USATW(dst->w[2] - src.w[2]);
|
||||
dst->w[3] = USATW(dst->w[3] - src.w[3]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -20,7 +20,7 @@ opPCMPEQB_a16(uint32_t fetchdat)
|
||||
dst->b[6] = (dst->b[6] == src.b[6]) ? 0xff : 0;
|
||||
dst->b[7] = (dst->b[7] == src.b[7]) ? 0xff : 0;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -46,7 +46,7 @@ opPCMPEQB_a32(uint32_t fetchdat)
|
||||
dst->b[6] = (dst->b[6] == src.b[6]) ? 0xff : 0;
|
||||
dst->b[7] = (dst->b[7] == src.b[7]) ? 0xff : 0;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -73,7 +73,7 @@ opPCMPGTB_a16(uint32_t fetchdat)
|
||||
dst->b[6] = (dst->sb[6] > src.sb[6]) ? 0xff : 0;
|
||||
dst->b[7] = (dst->sb[7] > src.sb[7]) ? 0xff : 0;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -99,7 +99,7 @@ opPCMPGTB_a32(uint32_t fetchdat)
|
||||
dst->b[6] = (dst->sb[6] > src.sb[6]) ? 0xff : 0;
|
||||
dst->b[7] = (dst->sb[7] > src.sb[7]) ? 0xff : 0;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -122,7 +122,7 @@ opPCMPEQW_a16(uint32_t fetchdat)
|
||||
dst->w[2] = (dst->w[2] == src.w[2]) ? 0xffff : 0;
|
||||
dst->w[3] = (dst->w[3] == src.w[3]) ? 0xffff : 0;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -144,7 +144,7 @@ opPCMPEQW_a32(uint32_t fetchdat)
|
||||
dst->w[2] = (dst->w[2] == src.w[2]) ? 0xffff : 0;
|
||||
dst->w[3] = (dst->w[3] == src.w[3]) ? 0xffff : 0;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -167,7 +167,7 @@ opPCMPGTW_a16(uint32_t fetchdat)
|
||||
dst->w[2] = (dst->sw[2] > src.sw[2]) ? 0xffff : 0;
|
||||
dst->w[3] = (dst->sw[3] > src.sw[3]) ? 0xffff : 0;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -189,7 +189,7 @@ opPCMPGTW_a32(uint32_t fetchdat)
|
||||
dst->w[2] = (dst->sw[2] > src.sw[2]) ? 0xffff : 0;
|
||||
dst->w[3] = (dst->sw[3] > src.sw[3]) ? 0xffff : 0;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -210,7 +210,7 @@ opPCMPEQD_a16(uint32_t fetchdat)
|
||||
dst->l[0] = (dst->l[0] == src.l[0]) ? 0xffffffff : 0;
|
||||
dst->l[1] = (dst->l[1] == src.l[1]) ? 0xffffffff : 0;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -230,7 +230,7 @@ opPCMPEQD_a32(uint32_t fetchdat)
|
||||
dst->l[0] = (dst->l[0] == src.l[0]) ? 0xffffffff : 0;
|
||||
dst->l[1] = (dst->l[1] == src.l[1]) ? 0xffffffff : 0;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -251,7 +251,7 @@ opPCMPGTD_a16(uint32_t fetchdat)
|
||||
dst->l[0] = (dst->sl[0] > src.sl[0]) ? 0xffffffff : 0;
|
||||
dst->l[1] = (dst->sl[1] > src.sl[1]) ? 0xffffffff : 0;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -271,7 +271,7 @@ opPCMPGTD_a32(uint32_t fetchdat)
|
||||
dst->l[0] = (dst->sl[0] > src.sl[0]) ? 0xffffffff : 0;
|
||||
dst->l[1] = (dst->sl[1] > src.sl[1]) ? 0xffffffff : 0;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -13,7 +13,7 @@ opPAND_a16(uint32_t fetchdat)
|
||||
|
||||
dst->q &= src.q;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -32,7 +32,7 @@ opPAND_a32(uint32_t fetchdat)
|
||||
|
||||
dst->q &= src.q;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -52,7 +52,7 @@ opPANDN_a16(uint32_t fetchdat)
|
||||
|
||||
dst->q = ~dst->q & src.q;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -71,7 +71,7 @@ opPANDN_a32(uint32_t fetchdat)
|
||||
|
||||
dst->q = ~dst->q & src.q;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -91,7 +91,7 @@ opPOR_a16(uint32_t fetchdat)
|
||||
|
||||
dst->q |= src.q;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -110,7 +110,7 @@ opPOR_a32(uint32_t fetchdat)
|
||||
|
||||
dst->q |= src.q;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -130,7 +130,7 @@ opPXOR_a16(uint32_t fetchdat)
|
||||
|
||||
dst->q ^= src.q;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -149,7 +149,7 @@ opPXOR_a32(uint32_t fetchdat)
|
||||
|
||||
dst->q ^= src.q;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -24,7 +24,7 @@ opMOVD_l_mm_a16(uint32_t fetchdat)
|
||||
CLOCK_CYCLES(2);
|
||||
}
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -54,7 +54,7 @@ opMOVD_l_mm_a32(uint32_t fetchdat)
|
||||
CLOCK_CYCLES(2);
|
||||
}
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -198,7 +198,7 @@ opMOVQ_q_mm_a16(uint32_t fetchdat)
|
||||
CLOCK_CYCLES(2);
|
||||
}
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -228,7 +228,7 @@ opMOVQ_q_mm_a32(uint32_t fetchdat)
|
||||
CLOCK_CYCLES(2);
|
||||
}
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -250,7 +250,7 @@ opMOVQ_mm_q_a16(uint32_t fetchdat)
|
||||
dst->q = src.q;
|
||||
CLOCK_CYCLES(1);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_rm);
|
||||
} else {
|
||||
SEG_CHECK_WRITE(cpu_state.ea_seg);
|
||||
CHECK_WRITE_COMMON(cpu_state.ea_seg, cpu_state.eaaddr, cpu_state.eaaddr + 7);
|
||||
@@ -280,7 +280,7 @@ opMOVQ_mm_q_a32(uint32_t fetchdat)
|
||||
dst->q = src.q;
|
||||
CLOCK_CYCLES(1);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_rm);
|
||||
} else {
|
||||
SEG_CHECK_WRITE(cpu_state.ea_seg);
|
||||
CHECK_WRITE_COMMON(cpu_state.ea_seg, cpu_state.eaaddr, cpu_state.eaaddr + 7);
|
||||
|
@@ -24,7 +24,7 @@ opPUNPCKLDQ_a16(uint32_t fetchdat)
|
||||
CLOCK_CYCLES(2);
|
||||
}
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -54,7 +54,7 @@ opPUNPCKLDQ_a32(uint32_t fetchdat)
|
||||
CLOCK_CYCLES(2);
|
||||
}
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -75,7 +75,7 @@ opPUNPCKHDQ_a16(uint32_t fetchdat)
|
||||
dst->l[0] = dst->l[1];
|
||||
dst->l[1] = src.l[1];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -95,7 +95,7 @@ opPUNPCKHDQ_a32(uint32_t fetchdat)
|
||||
dst->l[0] = dst->l[1];
|
||||
dst->l[1] = src.l[1];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -122,7 +122,7 @@ opPUNPCKLBW_a16(uint32_t fetchdat)
|
||||
dst->b[1] = src.b[0];
|
||||
dst->b[0] = dst->b[0];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -148,7 +148,7 @@ opPUNPCKLBW_a32(uint32_t fetchdat)
|
||||
dst->b[1] = src.b[0];
|
||||
dst->b[0] = dst->b[0];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -175,7 +175,7 @@ opPUNPCKHBW_a16(uint32_t fetchdat)
|
||||
dst->b[6] = dst->b[7];
|
||||
dst->b[7] = src.b[7];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -201,7 +201,7 @@ opPUNPCKHBW_a32(uint32_t fetchdat)
|
||||
dst->b[6] = dst->b[7];
|
||||
dst->b[7] = src.b[7];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -224,7 +224,7 @@ opPUNPCKLWD_a16(uint32_t fetchdat)
|
||||
dst->w[1] = src.w[0];
|
||||
dst->w[0] = dst->w[0];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -246,7 +246,7 @@ opPUNPCKLWD_a32(uint32_t fetchdat)
|
||||
dst->w[1] = src.w[0];
|
||||
dst->w[0] = dst->w[0];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -269,7 +269,7 @@ opPUNPCKHWD_a16(uint32_t fetchdat)
|
||||
dst->w[2] = dst->w[3];
|
||||
dst->w[3] = src.w[3];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -291,7 +291,7 @@ opPUNPCKHWD_a32(uint32_t fetchdat)
|
||||
dst->w[2] = dst->w[3];
|
||||
dst->w[3] = src.w[3];
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -318,7 +318,7 @@ opPACKSSWB_a16(uint32_t fetchdat)
|
||||
dst->sb[6] = SSATB(src.sw[2]);
|
||||
dst->sb[7] = SSATB(src.sw[3]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -344,7 +344,7 @@ opPACKSSWB_a32(uint32_t fetchdat)
|
||||
dst->sb[6] = SSATB(src.sw[2]);
|
||||
dst->sb[7] = SSATB(src.sw[3]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -371,7 +371,7 @@ opPACKUSWB_a16(uint32_t fetchdat)
|
||||
dst->b[6] = USATB(src.sw[2]);
|
||||
dst->b[7] = USATB(src.sw[3]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -397,7 +397,7 @@ opPACKUSWB_a32(uint32_t fetchdat)
|
||||
dst->b[6] = USATB(src.sw[2]);
|
||||
dst->b[7] = USATB(src.sw[3]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -422,7 +422,7 @@ opPACKSSDW_a16(uint32_t fetchdat)
|
||||
dst->sw[2] = SSATW(src.sl[0]);
|
||||
dst->sw[3] = SSATW(src.sl[1]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -446,7 +446,7 @@ opPACKSSDW_a32(uint32_t fetchdat)
|
||||
dst->sw[2] = SSATW(src.sl[0]);
|
||||
dst->sw[3] = SSATW(src.sl[1]);
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -57,7 +57,7 @@ opPSxxW_imm(uint32_t fetchdat)
|
||||
return 0;
|
||||
}
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(reg);
|
||||
|
||||
CLOCK_CYCLES(1);
|
||||
return 0;
|
||||
@@ -86,7 +86,7 @@ opPSLLW_a16(uint32_t fetchdat)
|
||||
dst->w[3] <<= shift;
|
||||
}
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -113,7 +113,7 @@ opPSLLW_a32(uint32_t fetchdat)
|
||||
dst->w[3] <<= shift;
|
||||
}
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -141,7 +141,7 @@ opPSRLW_a16(uint32_t fetchdat)
|
||||
dst->w[3] >>= shift;
|
||||
}
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -168,7 +168,7 @@ opPSRLW_a32(uint32_t fetchdat)
|
||||
dst->w[3] >>= shift;
|
||||
}
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -195,7 +195,7 @@ opPSRAW_a16(uint32_t fetchdat)
|
||||
dst->sw[2] >>= shift;
|
||||
dst->sw[3] >>= shift;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -221,7 +221,7 @@ opPSRAW_a32(uint32_t fetchdat)
|
||||
dst->sw[2] >>= shift;
|
||||
dst->sw[3] >>= shift;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -268,7 +268,7 @@ opPSxxD_imm(uint32_t fetchdat)
|
||||
return 0;
|
||||
}
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(reg);
|
||||
|
||||
CLOCK_CYCLES(1);
|
||||
return 0;
|
||||
@@ -295,7 +295,7 @@ opPSLLD_a16(uint32_t fetchdat)
|
||||
dst->l[1] <<= shift;
|
||||
}
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -320,7 +320,7 @@ opPSLLD_a32(uint32_t fetchdat)
|
||||
dst->l[1] <<= shift;
|
||||
}
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -346,7 +346,7 @@ opPSRLD_a16(uint32_t fetchdat)
|
||||
dst->l[1] >>= shift;
|
||||
}
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -371,7 +371,7 @@ opPSRLD_a32(uint32_t fetchdat)
|
||||
dst->l[1] >>= shift;
|
||||
}
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -396,7 +396,7 @@ opPSRAD_a16(uint32_t fetchdat)
|
||||
dst->sl[0] >>= shift;
|
||||
dst->sl[1] >>= shift;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -420,7 +420,7 @@ opPSRAD_a32(uint32_t fetchdat)
|
||||
dst->sl[0] >>= shift;
|
||||
dst->sl[1] >>= shift;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -464,7 +464,7 @@ opPSxxQ_imm(uint32_t fetchdat)
|
||||
return 0;
|
||||
}
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(reg);
|
||||
|
||||
CLOCK_CYCLES(1);
|
||||
return 0;
|
||||
@@ -489,7 +489,7 @@ opPSLLQ_a16(uint32_t fetchdat)
|
||||
else
|
||||
dst->q <<= shift;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -512,7 +512,7 @@ opPSLLQ_a32(uint32_t fetchdat)
|
||||
else
|
||||
dst->q <<= shift;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -536,7 +536,7 @@ opPSRLQ_a16(uint32_t fetchdat)
|
||||
else
|
||||
dst->q >>= shift;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -559,7 +559,7 @@ opPSRLQ_a32(uint32_t fetchdat)
|
||||
else
|
||||
dst->q >>= shift;
|
||||
|
||||
MMX_SETEXP();
|
||||
MMX_SETEXP(cpu_reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user