about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorphorcys <phorcys@126.com>2025-08-15 06:13:16 +0800
committerGitHub <noreply@github.com>2025-08-15 00:13:16 +0200
commit5144a2e2864b55ba4b3b49844fe400795b5039dd (patch)
tree8a998599ac7890e0c90ca13bb60fe868c6b7cdbc /src
parentfebaf31b93400e311eb0e732b4af7873834b8a98 (diff)
downloadbox64-5144a2e2864b55ba4b3b49844fe400795b5039dd.tar.gz
box64-5144a2e2864b55ba4b3b49844fe400795b5039dd.zip
[LA64_DYNAREC] Fix VMOVNTDQA. (#2934)
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/la64/dynarec_la64_avx_66_0f38.c16
-rw-r--r--src/dynarec/la64/dynarec_la64_avx_66_0f3a.c16
2 files changed, 16 insertions, 16 deletions
diff --git a/src/dynarec/la64/dynarec_la64_avx_66_0f38.c b/src/dynarec/la64/dynarec_la64_avx_66_0f38.c
index 0ac5f042..d2afd48c 100644
--- a/src/dynarec/la64/dynarec_la64_avx_66_0f38.c
+++ b/src/dynarec/la64/dynarec_la64_avx_66_0f38.c
@@ -449,6 +449,22 @@ uintptr_t dynarec64_AVX_66_0F38(dynarec_la64_t* dyn, uintptr_t addr, uintptr_t i
             GETGY_empty_VYEY_xy(v0, v1, v2, 0);
             VSEQxy(D, v0, v2, v1);
             break;
+        case 0x2A:
+            INST_NAME("VMOVNTDQA Gx, Ex");
+            nextop = F8;
+            if (MODREG) {
+                DEFAULT;
+            } else {
+                GETGYxy_empty(q0);
+                SMREAD();
+                addr = geted(dyn, addr, ninst, nextop, &ed, x2, x1, &fixedaddress, rex, NULL, 0, 0);
+                if (vex.l) {
+                    XVLD(q0, ed, fixedaddress);
+                } else {
+                    VLD(q0, ed, fixedaddress);
+                }
+            }
+            break;
         case 0x2B:
             INST_NAME("VPACKUSDW Gx, Vx, Ex");
             nextop = F8;
diff --git a/src/dynarec/la64/dynarec_la64_avx_66_0f3a.c b/src/dynarec/la64/dynarec_la64_avx_66_0f3a.c
index 1d1ffad6..c91eb1bc 100644
--- a/src/dynarec/la64/dynarec_la64_avx_66_0f3a.c
+++ b/src/dynarec/la64/dynarec_la64_avx_66_0f3a.c
@@ -589,22 +589,6 @@ uintptr_t dynarec64_AVX_66_0F3A(dynarec_la64_t* dyn, uintptr_t addr, uintptr_t i
                 VINSGR2VR_W(v0, ed, (u8 & 0x3));
             }
             break;
-        case 0x2A:
-            INST_NAME("VMOVNTDQA Gx, Ex");
-            nextop = F8;
-            if (MODREG) {
-                DEFAULT;
-            } else {
-                GETGYxy_empty(q0);
-                SMREAD();
-                addr = geted(dyn, addr, ninst, nextop, &ed, x2, x1, &fixedaddress, rex, NULL, 0, 0);
-                if (vex.l) {
-                    XVLD(q0, ed, fixedaddress);
-                } else {
-                    VLD(q0, ed, fixedaddress);
-                }
-            }
-            break;
         case 0x40:
             INST_NAME("VDPPS Gx, Vx, Ex, Ib");
             nextop = F8;