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.