about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-04-30 16:15:34 +0200
committerptitSeb <sebastien.chev@gmail.com>2025-04-30 16:15:34 +0200
commit89dbd81f27bc8a3ad1e27d7073883f27ee15865f (patch)
tree528463733116766bb26821434f81487eff191863 /src
parentc835227b8bd0516577d5d8373a1a7340dd385537 (diff)
downloadbox64-89dbd81f27bc8a3ad1e27d7073883f27ee15865f.tar.gz
box64-89dbd81f27bc8a3ad1e27d7073883f27ee15865f.zip
[INTERP] Improved NAN handling on VSUBPD opcode
Diffstat (limited to 'src')
-rw-r--r--src/emu/x64runavx660f.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/emu/x64runavx660f.c b/src/emu/x64runavx660f.c
index f0405e4a..b08a5f6c 100644
--- a/src/emu/x64runavx660f.c
+++ b/src/emu/x64runavx660f.c
@@ -445,14 +445,18 @@ uintptr_t RunAVX_660F(x64emu_t *emu, vex_t vex, uintptr_t addr, int *step)
             GETEX(0);
             GETGX;
             GETVX;
+            MARK_NAN_VD_2(VX, EX);
             GX->d[0] = VX->d[0] - EX->d[0];
             GX->d[1] = VX->d[1] - EX->d[1];
+            CHECK_NAN_VD(GX);
             GETGY;
             if(vex.l) {
                 GETEY;
                 GETVY;
+                MARK_NAN_VD_2(VY, EY);
                 GY->d[0] = VY->d[0] - EY->d[0];
                 GY->d[1] = VY->d[1] - EY->d[1];
+                CHECK_NAN_VD(GY);
             } else {
                 GY->u128 = 0;
             }