[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 03/24] target/alpha: Use tcg_gen_movcond_i64 in gen_fold_mzero
From: |
Richard Henderson |
Subject: |
[PATCH 03/24] target/alpha: Use tcg_gen_movcond_i64 in gen_fold_mzero |
Date: |
Mon, 7 Aug 2023 20:11:22 -0700 |
The setcond + neg + and sequence is a complex method of
performing a conditional move.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/alpha/translate.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/target/alpha/translate.c b/target/alpha/translate.c
index 846f3d8091..0839182a1f 100644
--- a/target/alpha/translate.c
+++ b/target/alpha/translate.c
@@ -517,10 +517,9 @@ static void gen_fold_mzero(TCGCond cond, TCGv dest, TCGv
src)
case TCG_COND_GE:
case TCG_COND_LT:
- /* For >= or <, map -0.0 to +0.0 via comparison and mask. */
- tcg_gen_setcondi_i64(TCG_COND_NE, dest, src, mzero);
- tcg_gen_neg_i64(dest, dest);
- tcg_gen_and_i64(dest, dest, src);
+ /* For >= or <, map -0.0 to +0.0. */
+ tcg_gen_movcond_i64(TCG_COND_NE, dest, src, tcg_constant_i64(mzero),
+ src, tcg_constant_i64(0));
break;
default:
--
2.34.1
- [PATCH for-8.2 00/24] tcg: Introduce negsetcond opcodes, Richard Henderson, 2023/08/07
- [PATCH 01/24] tcg: Introduce negsetcond opcodes, Richard Henderson, 2023/08/07
- [PATCH 02/24] tcg: Use tcg_gen_negsetcond_*, Richard Henderson, 2023/08/07
- [PATCH 03/24] target/alpha: Use tcg_gen_movcond_i64 in gen_fold_mzero,
Richard Henderson <=
- [PATCH 04/24] target/arm: Use tcg_gen_negsetcond_*, Richard Henderson, 2023/08/07
- [PATCH 05/24] target/m68k: Use tcg_gen_negsetcond_*, Richard Henderson, 2023/08/07
- [PATCH 06/24] target/openrisc: Use tcg_gen_negsetcond_*, Richard Henderson, 2023/08/07
- [PATCH 07/24] target/ppc: Use tcg_gen_negsetcond_*, Richard Henderson, 2023/08/07