diff options
| -rw-r--r-- | src/dynarec/rv64/dynarec_rv64_df.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_df.c b/src/dynarec/rv64/dynarec_rv64_df.c index 38fab20b..4c4a6e9c 100644 --- a/src/dynarec/rv64/dynarec_rv64_df.c +++ b/src/dynarec/rv64/dynarec_rv64_df.c @@ -51,8 +51,7 @@ uintptr_t dynarec64_DF(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni LHU(x1, xEmu, offsetof(x64emu_t, sw)); MOV32w(x3, 0b1100011111111111); // mask AND(x1, x1, x3); - NOT(x3, x3); - AND(x2, x2, x3); + SLLI(x2, x2, 11); OR(x1, x1, x2); // inject top SH(x1, xEmu, offsetof(x64emu_t, sw)); SRLI(xRAX, xRAX, 16); |