about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-03-31 20:01:36 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-03-31 20:01:36 +0200
commit5d694fe2f204b99f80d213932e6b13d387b9b413 (patch)
tree28b32edc93d414fdb2b33e62ba7ba2e969e177ce
parentccd9692875b5120600cde4b7807dbaec6f32886f (diff)
downloadbox64-5d694fe2f204b99f80d213932e6b13d387b9b413.tar.gz
box64-5d694fe2f204b99f80d213932e6b13d387b9b413.zip
[DYNAREC] Added 0F F6 opcode
-rwxr-xr-xsrc/dynarec/dynarec_arm64_0f.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/dynarec/dynarec_arm64_0f.c b/src/dynarec/dynarec_arm64_0f.c
index e5949a8a..584dcaf1 100755
--- a/src/dynarec/dynarec_arm64_0f.c
+++ b/src/dynarec/dynarec_arm64_0f.c
@@ -1171,6 +1171,19 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
             }

             break;

 

+        case 0xF6:

+            INST_NAME("PSADBW Gm, Em");

+            nextop = F8;

+            GETGM(q0);

+            GETEM(q1, 0);

+            d0 = fpu_get_scratch(dyn);

+            d1 = fpu_get_scratch(dyn);

+            VEOR(d1, d1, d1);   // is it necessary?

+            UABDL_8(d0, q0, q1);

+            UADDLVQ_16(d1, d0);

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

+            break;

+

         default:

             DEFAULT;

     }