about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-04-11 15:46:36 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-04-11 15:46:36 +0200
commita8d4f17add2506e46c309d18b606a983ab0ca342 (patch)
tree3f4fe27dd7b7fe0f4c23c3721664099ace7e6fc9 /src
parentaf6fb49e482c64fc6a717321148e60ad488318b3 (diff)
downloadbox64-a8d4f17add2506e46c309d18b606a983ab0ca342.tar.gz
box64-a8d4f17add2506e46c309d18b606a983ab0ca342.zip
[DYNAREC] Added F3 0F D6 opcode
Diffstat (limited to 'src')
-rwxr-xr-xsrc/dynarec/dynarec_arm64_f30f.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/dynarec/dynarec_arm64_f30f.c b/src/dynarec/dynarec_arm64_f30f.c
index d297effc..6cf91165 100755
--- a/src/dynarec/dynarec_arm64_f30f.c
+++ b/src/dynarec/dynarec_arm64_f30f.c
@@ -360,6 +360,20 @@ uintptr_t dynarec64_F30F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n
             VMOVQSfrom(v0, 0, x2);

             break;

 

+        case 0xD6:

+            INST_NAME("MOVQ2DQ Gx, Em");

+            nextop = F8;

+            GETGX_empty(v0);

+            if(MODREG) {

+                v1 = mmx_get_reg(dyn, ninst, x1, (nextop&7));

+                VEORQ(v0, v0, v0);  // usefull?

+                VMOV(v0, v1);

+            } else {

+                addr = geted(dyn, addr, ninst, nextop, &ed, x1, &fixedaddress, 0xfff<<3, 7, rex, 0, 0);

+                VLDR64_U12(v0, ed, fixedaddress);

+            }

+            break;

+

         case 0xE6:

             INST_NAME("CVTDQ2PD Gx, Ex");

             nextop = F8;