diff options
| -rw-r--r-- | src/dynarec/la64/dynarec_la64_avx_0f38.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dynarec/la64/dynarec_la64_avx_0f38.c b/src/dynarec/la64/dynarec_la64_avx_0f38.c index 78545676..7941abf7 100644 --- a/src/dynarec/la64/dynarec_la64_avx_0f38.c +++ b/src/dynarec/la64/dynarec_la64_avx_0f38.c @@ -207,12 +207,12 @@ uintptr_t dynarec64_AVX_0F38(dynarec_la64_t* dyn, uintptr_t addr, uintptr_t ip, GETVD; BSTRPICK_D(x4, vd, 7, 0); // start BSTRPICK_D(x3, vd, 15, 8); // length - ADDI_D(x5, xZR, 0); + XOR(x5, x5, x5); BEQZ_MARK(x3); MOV64xw(x6, rex.w ? 64 : 32); BGE_MARK(x4, x6); - BLT_MARK(x6, x3); SRLxw(x5, ed, x4); + BLT_MARK(x6, x3); SUBxw(x6, x6, x3); SLLxw(x5, x5, x6); SRLxw(x5, x5, x6); |