diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/rv64/dynarec_rv64_f20f_vector.c | 8 | ||||
| -rw-r--r-- | src/dynarec/rv64/dynarec_rv64_f30f_vector.c | 8 |
2 files changed, 4 insertions, 12 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_f20f_vector.c b/src/dynarec/rv64/dynarec_rv64_f20f_vector.c index e90e5956..ce46c0e0 100644 --- a/src/dynarec/rv64/dynarec_rv64_f20f_vector.c +++ b/src/dynarec/rv64/dynarec_rv64_f20f_vector.c @@ -360,10 +360,8 @@ uintptr_t dynarec64_F20F_vector(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t i GETGX_vector(v0, 1, VECTOR_SEW64); } if (box64_dynarec_fastnan) { - q0 = fpu_get_scratch(dyn); VECTOR_LOAD_VMASK(0b01, x4, 1); - VFMIN_VV(q0, v0, v1, VECTOR_MASKED); - VMERGE_VVM(v0, v0, q0); + VFMIN_VV(v0, v0, v1, VECTOR_MASKED); } else { d0 = fpu_get_scratch(dyn); d1 = fpu_get_scratch(dyn); @@ -443,10 +441,8 @@ uintptr_t dynarec64_F20F_vector(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t i GETGX_vector(v0, 1, VECTOR_SEW64); } if (box64_dynarec_fastnan) { - q0 = fpu_get_scratch(dyn); VECTOR_LOAD_VMASK(0b01, x4, 1); - VFMIN_VV(q0, v0, v1, VECTOR_MASKED); - VMERGE_VVM(v0, v0, q0); + VFMAX_VV(v0, v0, v1, VECTOR_MASKED); } else { d0 = fpu_get_scratch(dyn); d1 = fpu_get_scratch(dyn); diff --git a/src/dynarec/rv64/dynarec_rv64_f30f_vector.c b/src/dynarec/rv64/dynarec_rv64_f30f_vector.c index 2c62e35c..d5ac666a 100644 --- a/src/dynarec/rv64/dynarec_rv64_f30f_vector.c +++ b/src/dynarec/rv64/dynarec_rv64_f30f_vector.c @@ -208,10 +208,8 @@ uintptr_t dynarec64_F30F_vector(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t i GETGX_vector(v0, 1, VECTOR_SEW32); } if (box64_dynarec_fastnan) { - q0 = fpu_get_scratch(dyn); VECTOR_LOAD_VMASK(0b0001, x4, 1); - VFMIN_VV(q0, v0, v1, VECTOR_MASKED); - VMERGE_VVM(v0, v0, q0); + VFMIN_VV(v0, v0, v1, VECTOR_MASKED); } else { d0 = fpu_get_scratch(dyn); d1 = fpu_get_scratch(dyn); @@ -251,10 +249,8 @@ uintptr_t dynarec64_F30F_vector(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t i GETGX_vector(v0, 1, VECTOR_SEW32); } if (box64_dynarec_fastnan) { - q0 = fpu_get_scratch(dyn); VECTOR_LOAD_VMASK(0b0001, x4, 1); - VFMIN_VV(q0, v0, v1, VECTOR_MASKED); - VMERGE_VVM(v0, v0, q0); + VFMAX_VV(v0, v0, v1, VECTOR_MASKED); } else { d0 = fpu_get_scratch(dyn); d1 = fpu_get_scratch(dyn); |