diff options
| author | Yang Liu <liuyang22@iscas.ac.cn> | 2024-11-27 03:58:12 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-26 20:58:12 +0100 |
| commit | bc9086551bf73206a564d6ddcf2f6a0278d11457 (patch) | |
| tree | d42a9249f99938ae3cfa645040a99d2f2b2acecf /src | |
| parent | f9f0c99c1b3e3928454fbe7848220180a0ede92e (diff) | |
| download | box64-bc9086551bf73206a564d6ddcf2f6a0278d11457.tar.gz box64-bc9086551bf73206a564d6ddcf2f6a0278d11457.zip | |
[RV64_DYNAREC] Fixed more regressions for vector (#2082)
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/rv64/dynarec_rv64_0f_vector.c | 8 | ||||
| -rw-r--r-- | src/dynarec/rv64/dynarec_rv64_660f_vector.c | 4 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_0f_vector.c b/src/dynarec/rv64/dynarec_rv64_0f_vector.c index 51a37da1..5018a2e6 100644 --- a/src/dynarec/rv64/dynarec_rv64_0f_vector.c +++ b/src/dynarec/rv64/dynarec_rv64_0f_vector.c @@ -589,7 +589,7 @@ uintptr_t dynarec64_0F_vector(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, GETEM_vector(q1, 0); SET_ELEMENT_WIDTH(x1, VECTOR_SEW8, 1); v0 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL2); - v1 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL1); + v1 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL2); d0 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL2); VSLIDEDOWN_VI(v0, q0, 4, VECTOR_UNMASKED); VSLIDEDOWN_VI(v1, q1, 4, VECTOR_UNMASKED); @@ -607,7 +607,7 @@ uintptr_t dynarec64_0F_vector(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, GETEM_vector(q1, 0); SET_ELEMENT_WIDTH(x1, VECTOR_SEW16, 1); v0 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL2); - v1 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL1); + v1 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL2); d0 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL2); VSLIDEDOWN_VI(v0, q0, 2, VECTOR_UNMASKED); VSLIDEDOWN_VI(v1, q1, 2, VECTOR_UNMASKED); @@ -626,7 +626,7 @@ uintptr_t dynarec64_0F_vector(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, SET_ELEMENT_WIDTH(x1, VECTOR_SEW32, 1); MOV32w(x2, 32); v0 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL2); - v1 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL1); + v1 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL2); d0 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL2); VSLIDEDOWN_VI(v0, q0, 1, VECTOR_UNMASKED); VSLIDEDOWN_VI(v1, q1, 1, VECTOR_UNMASKED); @@ -1060,7 +1060,7 @@ 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); - q1 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL1); + q1 = fpu_get_scratch(dyn); q0 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL2); ADDI(x3, xZR, 32); SET_ELEMENT_WIDTH(x1, VECTOR_SEW16, 1); diff --git a/src/dynarec/rv64/dynarec_rv64_660f_vector.c b/src/dynarec/rv64/dynarec_rv64_660f_vector.c index ed29f3a8..9c4c90f5 100644 --- a/src/dynarec/rv64/dynarec_rv64_660f_vector.c +++ b/src/dynarec/rv64/dynarec_rv64_660f_vector.c @@ -1249,7 +1249,7 @@ uintptr_t dynarec64_660F_vector(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t i GETGX_vector(q0, 1, dyn->vector_eew); GETEX_vector(q1, 0, 0, dyn->vector_eew); v0 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL2); - v1 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL1); + v1 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL2); d0 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL2); VSLIDEDOWN_VI(v0, q0, s8, VECTOR_UNMASKED); VSLIDEDOWN_VI(v1, q1, s8, VECTOR_UNMASKED); @@ -2182,7 +2182,7 @@ uintptr_t dynarec64_660F_vector(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t i SET_ELEMENT_WIDTH(x1, VECTOR_SEW16, 1); GETGX_vector(v0, 1, VECTOR_SEW16); GETEX_vector(v1, 0, 0, VECTOR_SEW16); - q1 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL1); + q1 = fpu_get_scratch(dyn); q0 = fpu_get_scratch_lmul(dyn, VECTOR_LMUL2); ADDI(x3, xZR, 32); SET_ELEMENT_WIDTH(x1, VECTOR_SEW16, 1); |