about summary refs log tree commit diff stats
path: root/src/dynarec/rv64/dynarec_rv64_66.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dynarec/rv64/dynarec_rv64_66.c')
-rw-r--r--src/dynarec/rv64/dynarec_rv64_66.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_66.c b/src/dynarec/rv64/dynarec_rv64_66.c
index 0e13192b..d7183e1b 100644
--- a/src/dynarec/rv64/dynarec_rv64_66.c
+++ b/src/dynarec/rv64/dynarec_rv64_66.c
@@ -1012,7 +1012,7 @@ uintptr_t dynarec64_66(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni
                         MOV32w(x2, 1);
                     } else {
                         INST_NAME("ROL Ew, CL");
-                        ANDI(x2, xRCX, 15);
+                        ANDI(x2, xRCX, 0x1f);
                     }
                     MESSAGE(LOG_DUMP, "Need Optimization\n");
                     SETFLAGS(X_OF|X_CF, SF_SET_DF);
@@ -1026,7 +1026,7 @@ uintptr_t dynarec64_66(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni
                         MOV32w(x2, 1);
                     } else {
                         INST_NAME("ROR Ew, CL");
-                        ANDI(x2, xRCX, 15);
+                        ANDI(x2, xRCX, 0x1f);
                     }
                     MESSAGE(LOG_DUMP, "Need Optimization\n");
                     SETFLAGS(X_OF|X_CF, SF_SET_DF);
@@ -1040,7 +1040,7 @@ uintptr_t dynarec64_66(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni
                         MOV32w(x2, 1);
                     } else {
                         INST_NAME("RCL Ew, CL");
-                        ANDI(x2, xRCX, 15);
+                        ANDI(x2, xRCX, 0x1f);
                     }
                     MESSAGE("LOG_DUMP", "Need optimization\n");
                     READFLAGS(X_CF);
@@ -1048,13 +1048,14 @@ uintptr_t dynarec64_66(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni
                     GETEW(x1, 1);
                     CALL_(rcl16, x1, x3);
                     EWBACK;
+                    break;
                 case 3:
                     if(opcode==0xD1) {
                         INST_NAME("RCR Ew, 1");
                         MOV32w(x2, 1);
                     } else {
                         INST_NAME("RCR Ew, CL");
-                        ANDI(x2, xRCX, 15);
+                        ANDI(x2, xRCX, 0x1f);
                     }
                     MESSAGE("LOG_DUMP", "Need optimization\n");
                     READFLAGS(X_CF);
@@ -1062,6 +1063,7 @@ uintptr_t dynarec64_66(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni
                     GETEW(x1, 1);
                     CALL_(rcr16, x1, x3);
                     EWBACK;
+                    break;
                 case 5:
                     if(opcode==0xD1) {
                         INST_NAME("SHR Ew, 1");