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

--- Comment #3 from Drea Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Drea Pinski from comment #2)
> So the transformation is really simple:
> 
>   _1 = -x_5(D);
>   _2 = _1 & x_5(D);
>   _3 = _2 + 4294967295;
>   _6 = __builtin_popcount (_3); [tail call]
> 
> ->
> 
> _6 = __builtin_ctz(x_5(D));
> 
> if x_5(D) is known to be non-zero at this point.


And then the phiopt code kicks in.

Reply via email to