about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/dynarec/dynarec_arm64_0f.c8
-rw-r--r--src/emu/x64run0f.c8
2 files changed, 14 insertions, 2 deletions
diff --git a/src/dynarec/dynarec_arm64_0f.c b/src/dynarec/dynarec_arm64_0f.c
index 5d465fb7..be7f194c 100755
--- a/src/dynarec/dynarec_arm64_0f.c
+++ b/src/dynarec/dynarec_arm64_0f.c
@@ -1341,7 +1341,13 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
             GETEM(q1, 0);

             UQSUB_16(q0, q0, q1);

             break;

-

+        case 0xDA:

+            INST_NAME("PMINUB Gm, Em");

+            nextop = F8;

+            GETGM(d0);

+            GETEM(d1, 0);

+            UMIN_8(d0, d0, d1);

+            break;

         case 0xDB:

             INST_NAME("PAND Gm, Em");

             nextop = F8;

diff --git a/src/emu/x64run0f.c b/src/emu/x64run0f.c
index 6037f073..6ac0f0a6 100644
--- a/src/emu/x64run0f.c
+++ b/src/emu/x64run0f.c
@@ -1276,7 +1276,13 @@ int Run0F(x64emu_t *emu, rex_t rex)
                 GM->uw[i] = (tmp32s < 0) ? 0 : tmp32s;

             }

             break;

-

+        case 0xDA:                   /* PMINUB Gm,Em */

+            nextop = F8;

+            GETEM(0);

+            GETGM;

+            for (int i=0; i<8; ++i)

+                GM->ub[i] = (GM->ub[i]<EM->ub[i])?GM->ub[i]:EM->ub[i];

+            break;

         case 0xDB:                   /* PAND Gm,Em */

             nextop = F8;

             GETEM(0);