about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/rv64/rv64_printer.c4
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);