diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-04-04 16:58:53 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-04-04 16:58:53 +0200 |
| commit | e80b595e8ef1278ee87adb014545d0c7d93d9add (patch) | |
| tree | f2819676fae3a6d92c48cb3596e64d4ce43b3cca /src | |
| parent | ecc53756154ba93f08772b57757ee6f235efd782 (diff) | |
| download | box64-e80b595e8ef1278ee87adb014545d0c7d93d9add.tar.gz box64-e80b595e8ef1278ee87adb014545d0c7d93d9add.zip | |
[INTERP] Small changes in a few SSE/AVX convertions opcodes
Diffstat (limited to 'src')
| -rw-r--r-- | src/emu/x64run660f.c | 4 | ||||
| -rw-r--r-- | src/emu/x64runavx660f.c | 8 | ||||
| -rw-r--r-- | src/emu/x64runavxf20f.c | 12 | ||||
| -rw-r--r-- | src/emu/x64runf30f.c | 2 |
4 files changed, 13 insertions, 13 deletions
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]; |