From e80b595e8ef1278ee87adb014545d0c7d93d9add Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Fri, 4 Apr 2025 16:58:53 +0200 Subject: [INTERP] Small changes in a few SSE/AVX convertions opcodes --- src/emu/x64run660f.c | 4 ++-- src/emu/x64runavx660f.c | 8 ++++---- src/emu/x64runavxf20f.c | 12 ++++++------ src/emu/x64runf30f.c | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/emu/x64run660f.c b/src/emu/x64run660f.c index 51a7b35c..27dc7af0 100644 --- a/src/emu/x64run660f.c +++ b/src/emu/x64run660f.c @@ -2433,11 +2433,11 @@ uintptr_t Run660F(x64emu_t *emu, rex_t rex, uintptr_t addr) GETEX(0); GETGX; if(isnan(EX->d[0]) || isinf(EX->d[0]) || EX->d[0]>(double)0x7fffffff) - GX->sd[0] = 0x80000000; + GX->ud[0] = 0x80000000; else GX->sd[0] = EX->d[0]; if(isnan(EX->d[1]) || isinf(EX->d[1]) || EX->d[1]>(double)0x7fffffff) - GX->sd[1] = 0x80000000; + GX->ud[1] = 0x80000000; else GX->sd[1] = EX->d[1]; GX->q[1] = 0; diff --git a/src/emu/x64runavx660f.c b/src/emu/x64runavx660f.c index 6ee3ae52..1597b63f 100644 --- a/src/emu/x64runavx660f.c +++ b/src/emu/x64runavx660f.c @@ -1672,21 +1672,21 @@ uintptr_t RunAVX_660F(x64emu_t *emu, vex_t vex, uintptr_t addr, int *step) GETGX; GETGY; if(isnan(EX->d[0]) || isinf(EX->d[0]) || EX->d[0]>(double)0x7fffffff) - GX->sd[0] = 0x80000000; + GX->ud[0] = 0x80000000; else GX->sd[0] = EX->d[0]; if(isnan(EX->d[1]) || isinf(EX->d[1]) || EX->d[1]>(double)0x7fffffff) - GX->sd[1] = 0x80000000; + GX->ud[1] = 0x80000000; else GX->sd[1] = EX->d[1]; if(vex.l) { GETEY; if(isnan(EY->d[0]) || isinf(EY->d[0]) || EY->d[0]>(double)0x7fffffff) - GX->sd[2] = 0x80000000; + GX->ud[2] = 0x80000000; else GX->sd[2] = EY->d[0]; if(isnan(EY->d[1]) || isinf(EY->d[1]) || EY->d[1]>(double)0x7fffffff) - GX->sd[3] = 0x80000000; + GX->ud[3] = 0x80000000; else GX->sd[3] = EY->d[1]; } else diff --git a/src/emu/x64runavxf20f.c b/src/emu/x64runavxf20f.c index a2c68a24..55da18dc 100644 --- a/src/emu/x64runavxf20f.c +++ b/src/emu/x64runavxf20f.c @@ -116,7 +116,7 @@ uintptr_t RunAVX_F20F(x64emu_t *emu, vex_t vex, uintptr_t addr, int *step) case 0x2C: /* VCVTTSD2SI Gd, Ex */ nextop = F8; - GETEX(0); + _GETEX(0); GETGD; if(rex.w) if(isnan(EX->d[0]) || isinf(EX->d[0]) || EX->d[0]>=(double)0x7fffffffffffffffLL) @@ -133,7 +133,7 @@ uintptr_t RunAVX_F20F(x64emu_t *emu, vex_t vex, uintptr_t addr, int *step) break; case 0x2D: /* VCVTSD2SI Gd, Ex */ nextop = F8; - GETEX(0); + _GETEX(0); GETGD; if(rex.w) { if(isnan(EX->d[0]) || isinf(EX->d[0]) || EX->d[0]>=(double)0x7fffffffffffffffLL) @@ -197,7 +197,7 @@ uintptr_t RunAVX_F20F(x64emu_t *emu, vex_t vex, uintptr_t addr, int *step) case 0x58: /* VADDSD Gx, Vx, Ex */ nextop = F8; - GETEX(0); + _GETEX(0); GETGX; GETVX; GETGY; @@ -209,7 +209,7 @@ uintptr_t RunAVX_F20F(x64emu_t *emu, vex_t vex, uintptr_t addr, int *step) break; case 0x59: /* VMULSD Gx, Vx, Ex */ nextop = F8; - GETEX(0); + _GETEX(0); GETGX; GETVX; GETGY; @@ -223,7 +223,7 @@ uintptr_t RunAVX_F20F(x64emu_t *emu, vex_t vex, uintptr_t addr, int *step) break; case 0x5A: /* VCVTSD2SS Gx, Vx, Ex */ nextop = F8; - GETEX(0); + _GETEX(0); GETGX; GETVX; GETGY; @@ -235,7 +235,7 @@ uintptr_t RunAVX_F20F(x64emu_t *emu, vex_t vex, uintptr_t addr, int *step) case 0x5C: /* VSUBSD Gx, Vx, Ex */ nextop = F8; - GETEX(0); + _GETEX(0); GETGX; GETVX; GETGY; diff --git a/src/emu/x64runf30f.c b/src/emu/x64runf30f.c index 09267166..f4d7d0a6 100644 --- a/src/emu/x64runf30f.c +++ b/src/emu/x64runf30f.c @@ -437,7 +437,7 @@ uintptr_t RunF30F(x64emu_t *emu, rex_t rex, uintptr_t addr) case 0xE6: /* CVTDQ2PD Gx, Ex */ nextop = F8; - GETEX(0); + GETEX8(0); GETGX; GX->d[1] = EX->sd[1]; GX->d[0] = EX->sd[0]; -- cgit 1.4.1