[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 19/34] target/arm: Use float*_maybe_ah_chs in sve_ftssel_*
From: |
Richard Henderson |
Subject: |
[PATCH v2 19/34] target/arm: Use float*_maybe_ah_chs in sve_ftssel_* |
Date: |
Tue, 28 Jan 2025 17:38:42 -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
- Re: [PATCH v2 11/34] target/arm: Remove fp_status_f16_a64, (continued)
- [PATCH v2 13/34] target/arm: Remove fp_status_a64, Richard Henderson, 2025/01/28
- [PATCH v2 14/34] target/arm: Remove fp_status_a32, Richard Henderson, 2025/01/28
- [PATCH v2 15/34] target/arm: Simplify fp_status indexing in mve_helper.c, Richard Henderson, 2025/01/28
- [PATCH v2 08/34] target/arm: Remove standard_fp_status, Richard Henderson, 2025/01/28
- [PATCH v2 17/34] target/arm: Move float*_ah_chs to vec_internal.h, Richard Henderson, 2025/01/28
- [PATCH v2 19/34] target/arm: Use float*_maybe_ah_chs in sve_ftssel_*,
Richard Henderson <=
- [PATCH v2 12/34] target/arm: Remove fp_status_f16_a32, Richard Henderson, 2025/01/28
- [PATCH v2 16/34] target/arm: Simplify DO_VFP_cmp in vfp_helper.c, Richard Henderson, 2025/01/28
- [PATCH v2 18/34] target/arm: Introduce float*_maybe_ah_chs, Richard Henderson, 2025/01/28
- [PATCH v2 20/34] target/arm: Use float*_maybe_ah_chs in sve_fcadd_*, Richard Henderson, 2025/01/28
- [PATCH v2 21/34] target/arm: Use float*_maybe_ah_chs in sve_fcadd_*, Richard Henderson, 2025/01/28
- [PATCH v2 23/34] target/arm: Use flags for AH negation in sve_ftmad_*, Richard Henderson, 2025/01/28
- [PATCH v2 22/34] target/arm: Use flags for AH negation in do_fmla_zpzzz_*, Richard Henderson, 2025/01/28
- [PATCH v2 24/34] target/arm: Use flags for AH negation in float*_ah_mulsub_f, Richard Henderson, 2025/01/28