diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/rv64/dynarec_rv64_0f.c | 4 | ||||
| -rw-r--r-- | src/dynarec/rv64/dynarec_rv64_0f_vector.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_0f.c b/src/dynarec/rv64/dynarec_rv64_0f.c index 1ced055c..e9de73cf 100644 --- a/src/dynarec/rv64/dynarec_rv64_0f.c +++ b/src/dynarec/rv64/dynarec_rv64_0f.c @@ -2791,7 +2791,7 @@ uintptr_t dynarec64_0F(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni nextop = F8; GETGM(); GETEM(x4, 0, 1); - LBU(x1, wback, fixedaddress); + LD(x1, wback, fixedaddress); ADDI(x2, xZR, 15); if (cpuext.zbb) { MINU(x1, x1, x2); @@ -2810,7 +2810,7 @@ uintptr_t dynarec64_0F(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni nextop = F8; GETGM(); GETEM(x4, 0, 1); - LBU(x1, wback, fixedaddress); + LD(x1, wback, fixedaddress); ADDI(x2, xZR, 31); if (cpuext.zbb) { MINU(x1, x1, x2); diff --git a/src/dynarec/rv64/dynarec_rv64_0f_vector.c b/src/dynarec/rv64/dynarec_rv64_0f_vector.c index 65082437..c3e7dfdd 100644 --- a/src/dynarec/rv64/dynarec_rv64_0f_vector.c +++ b/src/dynarec/rv64/dynarec_rv64_0f_vector.c @@ -1312,11 +1312,11 @@ uintptr_t dynarec64_0F_vector(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, GETGM_vector(v0); SET_ELEMENT_WIDTH(x1, VECTOR_SEW64, 1); GETEM_vector(v1, 0); - SET_ELEMENT_WIDTH(x1, u8, 1); MOV32w(x5, i32 - 1); q0 = fpu_get_scratch(dyn); VMINU_VX(q0, v1, x5, VECTOR_UNMASKED); VMV_X_S(x4, q0); + SET_ELEMENT_WIDTH(x1, u8, 1); VSRA_VX(v0, v0, x4, VECTOR_UNMASKED); break; case 0xE5: |