about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-03-23 14:19:41 +0100
committerptitSeb <sebastien.chev@gmail.com>2021-03-23 14:19:41 +0100
commit31508f673c8d9d9fa8e043021142156ce01e4326 (patch)
treeb26c8f64985d2e952235ee4699f65c668192f9e6 /src
parenta1f87da9f5d31186e5c2ece0e42c9ae749987860 (diff)
downloadbox64-31508f673c8d9d9fa8e043021142156ce01e4326.tar.gz
box64-31508f673c8d9d9fa8e043021142156ce01e4326.zip
[DYNAREC] Added 66 0F 68/69/6A opcodes
Diffstat (limited to 'src')
-rwxr-xr-xsrc/dynarec/dynarec_arm64_660f.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/dynarec/dynarec_arm64_660f.c b/src/dynarec/dynarec_arm64_660f.c
index 565a193d..dc3fdc2b 100755
--- a/src/dynarec/dynarec_arm64_660f.c
+++ b/src/dynarec/dynarec_arm64_660f.c
@@ -197,6 +197,28 @@ uintptr_t dynarec64_660F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n
         GOCOND(0x40, "CMOV", "Gw, Ew");

         #undef GO

 

+        case 0x68:

+            INST_NAME("PUNPCKHBW Gx,Ex");

+            nextop = F8;

+            GETGX(q0);

+            GETEX(q1, 1);

+            VZIP2Q_8(q0, q0, q1);

+            break;

+        case 0x69:

+            INST_NAME("PUNPCKHWD Gx,Ex");

+            nextop = F8;

+            GETGX(q0);

+            GETEX(q1, 1);

+            VZIP2Q_16(q0, q0, q1);

+            break;

+        case 0x6A:

+            INST_NAME("PUNPCKHDQ Gx,Ex");

+            nextop = F8;

+            GETGX(q0);

+            GETEX(q1, 1);

+            VZIP2Q_32(q0, q0, q1);

+            break;

+

         case 0x6E:

             INST_NAME("MOVD Gx, Ed");

             nextop = F8;