about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/arm64/dynarec_arm64_660f.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_660f.c b/src/dynarec/arm64/dynarec_arm64_660f.c
index 408ebade..b6450d96 100644
--- a/src/dynarec/arm64/dynarec_arm64_660f.c
+++ b/src/dynarec/arm64/dynarec_arm64_660f.c
@@ -2751,6 +2751,16 @@ uintptr_t dynarec64_660F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n
             }

             break;

 

+        case 0xD0:

+            INST_NAME("ADDSUBPD Gx,Ex");

+            nextop = F8;

+            GETGX(q0, 1);

+            GETEX(q1, 0, 0);

+            v0 = fpu_get_scratch(dyn, ninst);

+            VFSUBQD(v0, q0, q1);

+            VFADDQD(q0, q0, q1);

+            VMOVeD(q0, 0, v0, 0);

+            break;

         case 0xD1:

             INST_NAME("PSRLW Gx,Ex");

             nextop = F8;

@@ -2765,16 +2775,6 @@ uintptr_t dynarec64_660F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n
             VDUPQ_16(v0, v0, 0);    // only the low 8bits will be used anyway

             USHLQ_16(q0, q0, v0);   // SHR x8

             break;

-        case 0xD0:

-            INST_NAME("ADDSUBPD Gx,Ex");

-            nextop = F8;

-            GETGX(q0, 1);

-            GETEX(q1, 0, 0);

-            v0 = fpu_get_scratch(dyn, ninst);

-            VFSUBQD(v0, q0, q1);

-            VFADDQD(q0, q0, q1);

-            VMOVeD(q0, 0, v0, 0);

-            break;

         case 0xD2:

             INST_NAME("PSRLD Gx,Ex");

             nextop = F8;