about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-06-18 16:22:57 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-06-18 16:22:57 +0200
commitf1c0b52677c6260b2f5a9b2807aacfb87b58988a (patch)
tree15eaecac6b39403711d8ce748aa61fc8a3133b27 /src
parenta4cb62d6d60c83c8684101f19156d1bb9f5ceb81 (diff)
downloadbox64-f1c0b52677c6260b2f5a9b2807aacfb87b58988a.tar.gz
box64-f1c0b52677c6260b2f5a9b2807aacfb87b58988a.zip
[ARM64_DYNAREC] Fixed AVX.66.0F 6B opcode
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/arm64/dynarec_arm64_avx_66_0f.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_avx_66_0f.c b/src/dynarec/arm64/dynarec_arm64_avx_66_0f.c
index 46555c93..2e23b0e1 100644
--- a/src/dynarec/arm64/dynarec_arm64_avx_66_0f.c
+++ b/src/dynarec/arm64/dynarec_arm64_avx_66_0f.c
@@ -654,7 +654,7 @@ uintptr_t dynarec64_AVX_66_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip,
             if(!vex.l) YMM0(gd);
             break;
         case 0x6B:
-            INST_NAME("PACKSSDW Gx,Ex");
+            INST_NAME("VPACKSSDW Gx, Vx, Ex");
             nextop = F8;
             for(int l=0; l<1+vex.l; ++l) {
                 if(!l) {
@@ -663,7 +663,7 @@ uintptr_t dynarec64_AVX_66_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip,
                     GETGY_empty_VYEY(v0, v2, v1);
                 }
                 if(v0==v1) {
-                    q0 = fpu_get_scratch(dyn, ninst);
+                    if(!l) q0 = fpu_get_scratch(dyn, ninst);
                     VMOVQ(q0, v0);
                 }
                 SQXTN_16(v0, v2);