diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/rv64/rv64_printer.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/dynarec/rv64/rv64_printer.c b/src/dynarec/rv64/rv64_printer.c index e6760bd1..0e054e35 100644 --- a/src/dynarec/rv64/rv64_printer.c +++ b/src/dynarec/rv64/rv64_printer.c @@ -758,6 +758,7 @@ const char* rv64_print(uint32_t data, uintptr_t addr) insn.name = "srli"; } else if (imm116 == 0x10) { /* SRAI */ insn.name = "srai"; + insn.imm&=0b111111; } break; } @@ -801,11 +802,12 @@ const char* rv64_print(uint32_t data, uintptr_t addr) break; case 0x20: /* SRAIW */ insn.name = "sraiw"; + insn.imm&=0b111111; break; } } } - PRINT_rd_rs1_rs2(); + PRINT_rd_rs1_imm(); } case 0x8: { uint32_t funct3 = FUNCT3(data); |