about summary refs log tree commit diff stats
path: root/src/dynarec
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-04-02 15:50:20 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-04-02 15:50:20 +0200
commitc44b8b1936ed2cbbceb0e530fdd0c43565dd5e8d (patch)
tree1f411f3578f6ab4a84fe10d6e29e6c7bf24d4258 /src/dynarec
parentb1671dd98dfdae705fb0753d6b85940e7c6142bc (diff)
downloadbox64-c44b8b1936ed2cbbceb0e530fdd0c43565dd5e8d.tar.gz
box64-c44b8b1936ed2cbbceb0e530fdd0c43565dd5e8d.zip
[DYNAREC] Added 0F D8/D9/DC/DD opcodes
Diffstat (limited to 'src/dynarec')
-rwxr-xr-xsrc/dynarec/dynarec_arm64_0f.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/dynarec/dynarec_arm64_0f.c b/src/dynarec/dynarec_arm64_0f.c
index 18da1eba..7cc8d402 100755
--- a/src/dynarec/dynarec_arm64_0f.c
+++ b/src/dynarec/dynarec_arm64_0f.c
@@ -1327,6 +1327,21 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
             VMUL_16(q0, q0, q1);

             break;

 

+        case 0xD8:

+            INST_NAME("PSUBUSB Gm, Em");

+            nextop = F8;

+            GETGM(q0);

+            GETEM(q1, 0);

+            UQSUB_8(q0, q0, q1);

+            break;

+        case 0xD9:

+            INST_NAME("PSUBUSW Gm, Em");

+            nextop = F8;

+            GETGM(q0);

+            GETEM(q1, 0);

+            UQSUB_16(q0, q0, q1);

+            break;

+

         case 0xDB:

             INST_NAME("PAND Gm, Em");

             nextop = F8;

@@ -1334,6 +1349,20 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
             GETEM(v1, 0);

             VAND(v0, v0, v1);

             break;

+        case 0xDC:

+            INST_NAME("PADDUSB Gm,Em");

+            nextop = F8;

+            GETGM(q0);

+            GETEM(q1, 0);

+            UQADD_8(q0, q0, q1);

+            break;

+        case 0xDD:

+            INST_NAME("PADDUSW Gm,Em");

+            nextop = F8;

+            GETGM(q0);

+            GETEM(q1, 0);

+            UQADD_16(q0, q0, q1);

+            break;

 

          case 0xE0:

             INST_NAME("PAVGB Gm, Em");