diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-03-10 13:48:40 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-03-10 13:48:40 +0100 |
| commit | 4e702cfedad56ddace2941243f2b02f710e7c342 (patch) | |
| tree | 7d91a4ccc16385fc70a885e7506086016a67054f /src | |
| parent | 33846405d8e0af86bb5cfb9dab4ea5026fadb614 (diff) | |
| download | box64-4e702cfedad56ddace2941243f2b02f710e7c342.tar.gz box64-4e702cfedad56ddace2941243f2b02f710e7c342.zip | |
[ARM64_DYNAREC] Fixed printer for MVN with shift
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/arm64/arm64_printer.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dynarec/arm64/arm64_printer.c b/src/dynarec/arm64/arm64_printer.c index 4802c946..7401942b 100644 --- a/src/dynarec/arm64/arm64_printer.c +++ b/src/dynarec/arm64/arm64_printer.c @@ -387,13 +387,13 @@ const char* arm64_print(uint32_t opcode, uintptr_t addr) } if(isMask(opcode, "f00100101wwiiiiiiiiiiiiiiiiddddd", &a)) { if(sf) { - uint64_t noti=~(uint64_t)imm; + uint64_t noti=~(((uint64_t)imm)<<(hw*16)); if(!hw) snprintf(buff, sizeof(buff), "MOVN %s, 0x%x\t; 0x%lx", Xt[Rd], imm, noti); else snprintf(buff, sizeof(buff), "MOVN %s, 0x%x LSL %d\t; 0x%lx", Xt[Rd], imm, 16*hw, noti); } else { - uint32_t noti=~(uint32_t)imm; + uint32_t noti=~(((uint32_t)imm)<<(hw*16)); if(!hw) snprintf(buff, sizeof(buff), "MOVN %s, 0x%x\t; 0x%x", Wt[Rd], imm, noti); else |