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/dynarec_rv64_66.c4
-rw-r--r--src/dynarec/rv64/dynarec_rv64_f30f.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_66.c b/src/dynarec/rv64/dynarec_rv64_66.c
index 55c79e9b..aa2d5f7c 100644
--- a/src/dynarec/rv64/dynarec_rv64_66.c
+++ b/src/dynarec/rv64/dynarec_rv64_66.c
@@ -155,12 +155,12 @@ uintptr_t dynarec64_66(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni
             OR(xRAX, xRAX, x1);
             break;
         case 0x29:
-            INST_NAME("SUB Ex, Gw");
+            INST_NAME("SUB Ew, Gw");
             SETFLAGS(X_ALL, SF_SET_PENDING);
             nextop = F8;
             GETGW(x1);
             GETEW(x2, 0);
-            emit_sub16(dyn, ninst, x2, x1, x3, x4, x5);
+            emit_sub16(dyn, ninst, x2, x1, x4, x5, x6);
             EWBACK;
             break;
         case 0x2B:
diff --git a/src/dynarec/rv64/dynarec_rv64_f30f.c b/src/dynarec/rv64/dynarec_rv64_f30f.c
index 945a62d6..bce8879f 100644
--- a/src/dynarec/rv64/dynarec_rv64_f30f.c
+++ b/src/dynarec/rv64/dynarec_rv64_f30f.c
@@ -288,7 +288,7 @@ uintptr_t dynarec64_F30F(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int
                 ed = x4;
             }
             BNE_MARK(ed, xZR);
-            MOV32w(gd, 0);
+            MOV32w(gd, rex.w?64:32);
             B_MARK2_nocond;
             MARK;
             ANDI(xFlags, xFlags, ~(1<<F_ZF));