From e47e1b62c8cda39d35481ecd196fc5b241ffdfb8 Mon Sep 17 00:00:00 2001 From: OBattler Date: Sun, 16 Jul 2023 03:28:37 +0200 Subject: [PATCH] Part 4. --- src/cpu/x86_ops_3dnow.h | 46 ++++++++++++------------- src/cpu/x86_ops_mmx.h | 4 +-- src/cpu/x86_ops_mmx_arith.h | 68 ++++++++++++++++++------------------- src/cpu/x86_ops_mmx_cmp.h | 24 ++++++------- src/cpu/x86_ops_mmx_logic.h | 16 ++++----- src/cpu/x86_ops_mmx_mov.h | 12 +++---- src/cpu/x86_ops_mmx_pack.h | 36 ++++++++++---------- src/cpu/x86_ops_mmx_shift.h | 38 ++++++++++----------- 8 files changed, 122 insertions(+), 122 deletions(-) diff --git a/src/cpu/x86_ops_3dnow.h b/src/cpu/x86_ops_3dnow.h index 3b647b69c..ff657d708 100644 --- a/src/cpu/x86_ops_3dnow.h +++ b/src/cpu/x86_ops_3dnow.h @@ -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; } diff --git a/src/cpu/x86_ops_mmx.h b/src/cpu/x86_ops_mmx.h index 77df5d990..9706b206c 100644 --- a/src/cpu/x86_ops_mmx.h +++ b/src/cpu/x86_ops_mmx.h @@ -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) { \ diff --git a/src/cpu/x86_ops_mmx_arith.h b/src/cpu/x86_ops_mmx_arith.h index 66ff79cd2..642e99c8a 100644 --- a/src/cpu/x86_ops_mmx_arith.h +++ b/src/cpu/x86_ops_mmx_arith.h @@ -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; } diff --git a/src/cpu/x86_ops_mmx_cmp.h b/src/cpu/x86_ops_mmx_cmp.h index d98e56511..b3081b8e8 100644 --- a/src/cpu/x86_ops_mmx_cmp.h +++ b/src/cpu/x86_ops_mmx_cmp.h @@ -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; } diff --git a/src/cpu/x86_ops_mmx_logic.h b/src/cpu/x86_ops_mmx_logic.h index d0079347a..26d7c1693 100644 --- a/src/cpu/x86_ops_mmx_logic.h +++ b/src/cpu/x86_ops_mmx_logic.h @@ -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; } diff --git a/src/cpu/x86_ops_mmx_mov.h b/src/cpu/x86_ops_mmx_mov.h index d65c82693..65bbb0c01 100644 --- a/src/cpu/x86_ops_mmx_mov.h +++ b/src/cpu/x86_ops_mmx_mov.h @@ -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); diff --git a/src/cpu/x86_ops_mmx_pack.h b/src/cpu/x86_ops_mmx_pack.h index a76ad1d0a..90590638b 100644 --- a/src/cpu/x86_ops_mmx_pack.h +++ b/src/cpu/x86_ops_mmx_pack.h @@ -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; } diff --git a/src/cpu/x86_ops_mmx_shift.h b/src/cpu/x86_ops_mmx_shift.h index 912919064..c0c80e87e 100644 --- a/src/cpu/x86_ops_mmx_shift.h +++ b/src/cpu/x86_ops_mmx_shift.h @@ -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; }