diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/rv64/dynarec_rv64_0f.c | 3 | ||||
| -rw-r--r-- | src/main.c | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_0f.c b/src/dynarec/rv64/dynarec_rv64_0f.c index 32211e31..ba40f297 100644 --- a/src/dynarec/rv64/dynarec_rv64_0f.c +++ b/src/dynarec/rv64/dynarec_rv64_0f.c @@ -1045,6 +1045,7 @@ uintptr_t dynarec64_0F(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni ANDI(xFlags, xFlags, ~1); OR(xFlags, xFlags, x4); ADDI(x3, xZR, 1); + ANDI(x2, gd, rex.w ? 0x3f : 0x1f); SLL(x3, x3, x2); OR(ed, ed, x3); if (wback) { @@ -1190,6 +1191,7 @@ uintptr_t dynarec64_0F(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni ANDI(xFlags, xFlags, ~1); OR(xFlags, xFlags, x4); ADDI(x5, xZR, 1); + ANDI(x2, gd, rex.w ? 0x3f : 0x1f); SLL(x5, x5, x2); NOT(x5, x5); AND(ed, ed, x5); @@ -1351,6 +1353,7 @@ uintptr_t dynarec64_0F(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni ANDI(xFlags, xFlags, ~1); OR(xFlags, xFlags, x4); ADDI(x3, xZR, 1); + ANDI(x2, gd, rex.w ? 0x3f : 0x1f); SLL(x3, x3, x2); XOR(ed, ed, x3); if (wback) { diff --git a/src/main.c b/src/main.c index 4fae8d7f..ddd918b4 100644 --- a/src/main.c +++ b/src/main.c @@ -1087,7 +1087,7 @@ void PrintHelp() { printf(" BOX64_TRACE with 1 to enable x86_64 execution trace\n"); printf(" or with XXXXXX-YYYYYY to enable x86_64 execution trace only between address\n"); printf(" or with FunctionName to enable x86_64 execution trace only in one specific function\n"); - printf(" use BOX64_TRACE_INIT instead of BOX_TRACE to start trace before init of Libs and main program\n\t (function name will probably not work then)\n"); + printf(" use BOX64_TRACE_INIT instead of BOX64_TRACE to start trace before init of Libs and main program\n\t (function name will probably not work then)\n"); printf(" BOX64_TRACE_EMM with 1 to enable dump of MMX registers along with regular registers\n"); printf(" BOX64_TRACE_XMM with 1 to enable dump of SSE registers along with regular registers\n"); printf(" BOX64_TRACE_COLOR with 1 to enable detection of changed general register values\n"); |