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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=96669

--- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #8)
> 
> So maybe:
> /* `1 >> x` can be "simplified" into `(convert)x == 0`. */
> (simplify
>  (rshift integer_onep @2)
>  (if (INTEGRAL_TYPE_P (type))
>   (convert (eq:boolean_type_node @2 { build_zero_cst (type); }))))

It also means we can remove the simplification for `(1 >> X) !=/== 0` too. as
it won't show up any more since most passes that use fold/match-and-simplify
works from inside out.

Reply via email to