[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 19/22] target/arm: Use float*_maybe_ah_chs in sve_ftssel_*
From: |
Richard Henderson |
Subject: |
[PATCH 19/22] target/arm: Use float*_maybe_ah_chs in sve_ftssel_* |
Date: |
Mon, 27 Jan 2025 15:26:01 -0800 |
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/arm/tcg/sve_helper.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/target/arm/tcg/sve_helper.c b/target/arm/tcg/sve_helper.c
index 3f38e07829..a2ff3b7f11 100644
--- a/target/arm/tcg/sve_helper.c
+++ b/target/arm/tcg/sve_helper.c
@@ -2563,8 +2563,8 @@ void HELPER(sve_ftssel_h)(void *vd, void *vn, void *vm,
uint32_t desc)
if (mm & 1) {
nn = float16_one;
}
- if ((mm & 2) && !(fpcr_ah && float16_is_any_nan(nn))) {
- nn ^= (1 << 15);
+ if (mm & 2) {
+ nn = float16_maybe_ah_chs(nn, fpcr_ah);
}
d[i] = nn;
}
@@ -2581,8 +2581,8 @@ void HELPER(sve_ftssel_s)(void *vd, void *vn, void *vm,
uint32_t desc)
if (mm & 1) {
nn = float32_one;
}
- if ((mm & 2) && !(fpcr_ah && float32_is_any_nan(nn))) {
- nn ^= (1U << 31);
+ if (mm & 2) {
+ nn = float32_maybe_ah_chs(nn, fpcr_ah);
}
d[i] = nn;
}
@@ -2599,8 +2599,8 @@ void HELPER(sve_ftssel_d)(void *vd, void *vn, void *vm,
uint32_t desc)
if (mm & 1) {
nn = float64_one;
}
- if ((mm & 2) && !(fpcr_ah && float64_is_any_nan(nn))) {
- nn ^= (1ULL << 63);
+ if (mm & 2) {
+ nn = float64_maybe_ah_chs(nn, fpcr_ah);
}
d[i] = nn;
}
--
2.43.0
- [PATCH 06/22] target/arm: Introduce CPUARMState.vfp.fp_status[], (continued)
- [PATCH 06/22] target/arm: Introduce CPUARMState.vfp.fp_status[], Richard Henderson, 2025/01/27
- [PATCH 04/22] target/arm: Rename FPST_FPCR_F16_A64 to FPST_A64_F16, Richard Henderson, 2025/01/27
- [PATCH 08/22] target/arm: Remove standard_fp_status, Richard Henderson, 2025/01/27
- [PATCH 09/22] target/arm: Remove ah_fp_status_f16, Richard Henderson, 2025/01/27
- [PATCH 13/22] target/arm: Remove fp_status_a64, Richard Henderson, 2025/01/27
- [PATCH 15/22] target/arm: Simplify fp_status indexing in mve_helper.c, Richard Henderson, 2025/01/27
- [PATCH 12/22] target/arm: Remove fp_status_f16_a32, Richard Henderson, 2025/01/27
- [PATCH 14/22] target/arm: Remove fp_status_a32, Richard Henderson, 2025/01/27
- [PATCH 10/22] target/arm: Remove ah_fp_status, Richard Henderson, 2025/01/27
- [PATCH 11/22] target/arm: Remove fp_status_f16_a64, Richard Henderson, 2025/01/27
- [PATCH 19/22] target/arm: Use float*_maybe_ah_chs in sve_ftssel_*,
Richard Henderson <=
- [PATCH 22/22] target/arm: Use flags for AH negation in do_fmla_zpzzz_*, Richard Henderson, 2025/01/27
- [PATCH 17/22] target/arm: Move float*_ah_chs to vec_internal.h, Richard Henderson, 2025/01/27
- [PATCH 21/22] target/arm: Use float*_maybe_ah_chs in sve_ftmad_*, Richard Henderson, 2025/01/27
- [PATCH 20/22] target/arm: Use float*_maybe_ah_chs in sve_ftmad_*, Richard Henderson, 2025/01/27