https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110087

--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #2) 
> there?  There's zero_one_valued_p we could use for both the
> tested value and the value or-ed into.
> 
> We already have
> 
> /* ((x & 0x1) == 0) ? y : z <op> y -> (-(typeof(y))(x & 0x1) & z) <op> y */
> 
> and
> 
> /* ((x & 0x1) == 0) ? z <op> y : y -> (-(typeof(y))(x & 0x1) & z) <op> y */

That is exactly what my patch does (I put it in PR 89263), I was going to
submit this patch a couple of days ago but got side tracked with other fixes
not to add the testcases to the patch and submit it.

Reply via email to