about summary refs log tree commit diff stats
path: root/src/dynarec
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-05-25 11:46:31 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-05-25 11:46:31 +0200
commit1b3350437c0292ce0bd2d1947c2da201f7772ad8 (patch)
tree9918909ff2aac50044f70ae1742e81a330697541 /src/dynarec
parent03749788e8d51a2d2788f71ac3deb389d4dc0133 (diff)
downloadbox64-1b3350437c0292ce0bd2d1947c2da201f7772ad8.tar.gz
box64-1b3350437c0292ce0bd2d1947c2da201f7772ad8.zip
Added 67 66 0F D6 ([ARM64_dynarec] too)
Diffstat (limited to 'src/dynarec')
-rw-r--r--src/dynarec/arm64/dynarec_arm64_67.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_67.c b/src/dynarec/arm64/dynarec_arm64_67.c
index 5ab9a10e..b7392210 100644
--- a/src/dynarec/arm64/dynarec_arm64_67.c
+++ b/src/dynarec/arm64/dynarec_arm64_67.c
@@ -656,6 +656,29 @@ uintptr_t dynarec64_67(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
             GETREX();

             switch(opcode) {

 

+                case 0x0F:

+                    nextop = F8;

+                    switch(nextop) {

+                        case 0xD6:

+                            INST_NAME("MOVQ Ex, Gx");

+                            nextop = F8;

+                            GETGX(v0, 0);

+                            if(MODREG) {

+                                v1 = sse_get_reg_empty(dyn, ninst, x1, (nextop&7) + (rex.b<<3));

+                                FMOVD(v1, v0);

+                            } else {

+                                WILLWRITE2();

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

+                                VST64(v0, ed, fixedaddress);

+                                SMWRITE2();

+                            }

+                            break;

+

+                            default:

+                                DEFAULT;

+                    }

+                    break;

+

                 case 0x89:

                     INST_NAME("MOV Ew, Gw");

                     nextop = F8;