about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-03-23 14:46:56 +0100
committerptitSeb <sebastien.chev@gmail.com>2021-03-23 14:46:56 +0100
commitf084966fd3a4c8417310b4e335ee47fc5e0d8ff4 (patch)
treed27fbdf42cc4110f569e4c1d2c948ebd1b94d108
parent79dd8c29ae688c0f184c551e557c6937be23d488 (diff)
downloadbox64-f084966fd3a4c8417310b4e335ee47fc5e0d8ff4.tar.gz
box64-f084966fd3a4c8417310b4e335ee47fc5e0d8ff4.zip
[DYNAREC] Added 66 0F 6C opcode
-rwxr-xr-xsrc/dynarec/dynarec_arm64_660f.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/dynarec/dynarec_arm64_660f.c b/src/dynarec/dynarec_arm64_660f.c
index dc3fdc2b..55df44a6 100755
--- a/src/dynarec/dynarec_arm64_660f.c
+++ b/src/dynarec/dynarec_arm64_660f.c
@@ -219,6 +219,19 @@ uintptr_t dynarec64_660F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n
             VZIP2Q_32(q0, q0, q1);

             break;

 

+        case 0x6C:

+            INST_NAME("PUNPCKLQDQ Gx,Ex");

+            nextop = F8;

+            GETGX(v0);

+            if(MODREG) {

+                v1 = sse_get_reg(dyn, ninst, x1, (nextop&7)+(rex.b<<3));

+                VMOVeD(v0, 1, v1, 0);

+            } else {

+                addr = geted(dyn, addr, ninst, nextop, &ed, x1, &fixedaddress, 0, 0, rex, 0, 0);

+                VLD1_64(v0, 1, ed);

+            }

+            break;

+

         case 0x6E:

             INST_NAME("MOVD Gx, Ed");

             nextop = F8;