about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-03-15 22:44:20 +0000
committerptitSeb <sebastien.chev@gmail.com>2023-03-15 22:44:20 +0000
commit6707640fa383a3fee40db4ed7db539cbe247d968 (patch)
tree12c2f8ec890c7d9f80cb116319a0449f3d24ea2f /src
parent50bc5c83986e1ce6b9980d191796921b2191d5be (diff)
downloadbox64-6707640fa383a3fee40db4ed7db539cbe247d968.tar.gz
box64-6707640fa383a3fee40db4ed7db539cbe247d968.zip
[RV64_DYNAREC] A few more fixes to the printer
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);