about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-04-21 11:45:09 +0200
committerptitSeb <sebastien.chev@gmail.com>2025-04-21 11:45:09 +0200
commite6e6c3ac653443af958a18b5f86d3cf7f8199a46 (patch)
tree88d60874fab98a59574cd32b0caf510007a7bacf
parent102e6a1f616ad96c5a34a90f39af259c6d261e05 (diff)
downloadbox64-e6e6c3ac653443af958a18b5f86d3cf7f8199a46.tar.gz
box64-e6e6c3ac653443af958a18b5f86d3cf7f8199a46.zip
[ARM64_DYNAREC] Small change to 66 0F 3A 17 opcode
-rw-r--r--src/dynarec/arm64/dynarec_arm64_660f.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_660f.c b/src/dynarec/arm64/dynarec_arm64_660f.c
index ca3e677e..14540eef 100644
--- a/src/dynarec/arm64/dynarec_arm64_660f.c
+++ b/src/dynarec/arm64/dynarec_arm64_660f.c
@@ -1162,13 +1162,13 @@ uintptr_t dynarec64_660F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n
                     if (MODREG) {

                         ed = TO_NAT((nextop & 7) + (rex.b << 3));

                         u8 = F8&0b11;

-                        MOVx_REG(ed, xZR);

-                        VMOVSto(ed, q0, u8);

+                        VMOVSto(ed, q0, u8);    // will zero extend

                     } else {

                         addr = geted(dyn, addr, ninst, nextop, &wback, x2, &fixedaddress, &unscaled, 0xfff<<2, 3, rex, NULL, 0, 1);

                         u8 = F8&0b11;

                         VMOVSto(x1, q0, u8);

                         STW(x1, wback, fixedaddress);

+                        SMWRITE2();

                     }

                     break;

                 case 0x20: