tcg/optimize: Fix a_mask computation for orc
In computing a_mask, for or, we remove the bits from t1->o_mask
which are known to be zero. For orc, the bits known to be zero
are the inverse of those known to be one.
Cc: qemu-stable@nongnu.org
Fixes: cc4033ee47 ("tcg/optimize: Build and use zero, one and affected bits in fold_orc")
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
(cherry picked from commit 08b12bfb8f532dbc62e35c31d081ede1aa12098b)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
This commit is contained in:
parent
682e043b17
commit
b276b2ca22
1 changed files with 1 additions and 1 deletions
|
|
@ -2360,7 +2360,7 @@ static bool fold_orc(OptContext *ctx, TCGOp *op)
|
|||
s_mask = t1->s_mask & t2->s_mask;
|
||||
|
||||
/* Affected bits are those not known one, masked by those known one. */
|
||||
a_mask = ~t1->o_mask & t2->o_mask;
|
||||
a_mask = ~t1->o_mask & ~t2->o_mask;
|
||||
|
||||
return fold_masks_zosa(ctx, op, z_mask, o_mask, s_mask, a_mask);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue