We already track and use known 0's; do the same for 1's.
This actually simplifies some of the logical operations,
where before required checking for a constant value.
r~
Richard Henderson (20):
tcg/optimize: Introduce arg_const_val
tcg/optimize: Add one's mask to TempOptInfo
tcg/optimize: Build and use o_bits in fold_and
tcg/optimize: Build and use o_bits in fold_andc
tcg/optimize: Build and use z_bits and o_bits in fold_eqv
tcg/optimize: Build and use z_bits and o_bits in fold_nand
tcg/optimize: Build and use z_bits and o_bits in fold_nor
tcg/optimize: Build and use z_bits and o_bits in fold_not
tcg/optimize: Build and use one and affected bits in fold_or
tcg/optimize: Build and use zero, one and affected bits in fold_orc
tcg/optimize: Build and use o_bits in fold_xor
tcg/optimize: Build and use o_bits in fold_bswap
tcg/optimize: Build and use o_bits in fold_deposit
tcg/optimize: Build and use o_bits in fold_extract
tcg/optimize: Build and use z_bits and o_bits in fold_extract2
tcg/optimize: Build and use o_bits in fold_exts
tcg/optimize: Build and use o_bits in fold_extu
tcg/optimize: Build and use o_bits in fold_movcond
tcg/optimize: Build and use o_bits in fold_sextract
tcg/optimize: Build and use o_bits in fold_shift
tcg/optimize.c | 359 +++++++++++++++++++++++++++++++------------------
1 file changed, 226 insertions(+), 133 deletions(-)
--
2.43.0