about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-04-25 11:14:02 +0200
committerptitSeb <sebastien.chev@gmail.com>2025-04-25 11:14:02 +0200
commite9715e4f0fd5c2ccc5beab772638bab0fc9be81a (patch)
tree55f9b48ea3255ac719e02688d50a25d80f91629b /src
parent8f197a7c084423a27a44c5910617851dc73461c6 (diff)
downloadbox64-e9715e4f0fd5c2ccc5beab772638bab0fc9be81a.tar.gz
box64-e9715e4f0fd5c2ccc5beab772638bab0fc9be81a.zip
[INTERP] Fixed a small issue where VPCMP[E/I]STRM would not wipe upper 128bits of ymm0
Diffstat (limited to 'src')
-rw-r--r--src/emu/x64runavx660f3a.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/emu/x64runavx660f3a.c b/src/emu/x64runavx660f3a.c
index da8eaef7..c462c72a 100644
--- a/src/emu/x64runavx660f3a.c
+++ b/src/emu/x64runavx660f3a.c
@@ -865,8 +865,8 @@ uintptr_t RunAVX_660F3A(x64emu_t *emu, vex_t vex, uintptr_t addr, int *step)
             } else {
                 emu->xmm[0].q[1] = emu->xmm[0].q[0] = 0;
                 emu->xmm[0].uw[0] = tmp32u;
-                emu->ymm[0].u128 = 0;
             }
+            emu->ymm[0].u128 = 0;
             break;
         case 0x61:  /* VPCMPESTRI */
             nextop = F8;
@@ -895,8 +895,8 @@ uintptr_t RunAVX_660F3A(x64emu_t *emu, vex_t vex, uintptr_t addr, int *step)
             } else {
                 emu->xmm[0].q[1] = emu->xmm[0].q[0] = 0;
                 emu->xmm[0].uw[0] = tmp32u;
-                emu->ymm[0].u128 = 0;
             }
+            emu->ymm[0].u128 = 0;
             break;
         case 0x63:  /* VPCMPISTRI */
             nextop = F8;