On 6/7/23 01:12, Jakub Jelinek via Gcc-patches wrote:
I guess that would cover both cases without the extra conditional. I'm fine with that approach too. Consider it pre-approved if someone wants to make that change.+/* zero_one_valued_p will match when a value is known to be either+ 0 or 1 including the constant 0. */ (match zero_one_valued_p @0 (if (INTEGRAL_TYPE_P (type) && tree_nonzero_bits (@0) == 1)))So perhaps instead change this to && wi::leu_p (tree_nonzero_bits (@0), 1)
jeff