about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-06-01 13:10:53 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-06-01 13:10:53 +0200
commit2b07fd7c6a89fc4d47aadf0d72995766d5d2681b (patch)
treed824c844f4ea440b1eb8d5efec7cb6bea3ec26df /src
parentf8cc423f3dbefbbc32f35f2a15dcfa0f0a89c165 (diff)
downloadbox64-2b07fd7c6a89fc4d47aadf0d72995766d5d2681b.tar.gz
box64-2b07fd7c6a89fc4d47aadf0d72995766d5d2681b.zip
[ARM64_DYNAREC] Added AVX.66.0F3A 38/39 opcodes
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/arm64/dynarec_arm64_avx_66_0f3a.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_avx_66_0f3a.c b/src/dynarec/arm64/dynarec_arm64_avx_66_0f3a.c
index e5894ce1..14b3c30e 100644
--- a/src/dynarec/arm64/dynarec_arm64_avx_66_0f3a.c
+++ b/src/dynarec/arm64/dynarec_arm64_avx_66_0f3a.c
@@ -186,7 +186,8 @@ uintptr_t dynarec64_AVX_66_0F3A(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip
             }
             break;
         case 0x18:
-            INST_NAME("VINSERTF128 Gx, Vx, Ex, imm8");
+        case 0x38:
+            if(opcode==0x18) {INST_NAME("VINSERTF128 Gx, Vx, Ex, imm8");} else {INST_NAME("VINSERTI128 Gx, Vx, Ex, imm8");}
             nextop = F8;
             if(MODREG) {
                 v1 = sse_get_reg(dyn, ninst, x1, (nextop&7)+(rex.b<<3), 0);
@@ -206,7 +207,8 @@ uintptr_t dynarec64_AVX_66_0F3A(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip
                 VMOVQ((u8&1)?v0:q0, (u8&1)?v2:q2);
             break;
         case 0x19:
-            INST_NAME("VEXTRACTF128 Ex, Gx, imm8");
+        case 0x39:
+            if(opcode==0x19) {INST_NAME("VEXTRACTF128 Ex, Gx, imm8");} else {INST_NAME("VEXTRACTI128 Ex, Gx, imm8");}
             nextop = F8;
             u8 = geted_ib(dyn, addr, ninst, nextop);
             if(u8&1) {GETG; GETGY(v0, 0, -1, -1, -1);} else {GETGX(v0, 0);}