From: Richard Henderson Date: Fri, 4 Aug 2023 23:40:42 +0000 (+0000) Subject: target/alpha: Use tcg_gen_movcond_i64 in gen_fold_mzero X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=d55a3211e24d7b918b1b0bcb8a89aafb524c2b14;p=qemu.git target/alpha: Use tcg_gen_movcond_i64 in gen_fold_mzero The setcond + neg + and sequence is a complex method of performing a conditional move. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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: