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 <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
4a88387056
commit
d55a3211e2
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user