https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103536
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |pinskia at gcc dot gnu.org --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- After r14-1597-g64d90d06d2db , we are just missing: ``` int src_int (int a, int b) { return (a | b) & (a & b); } ``` into: ``` int src_int_ (int a, int b) { return (a & b); } ``` Which is detected at the RTL level though. This is So mine: ``` (for bitop (bit_and bit_ior) rbitop (bit_ior bit_and) /* (x | y) & (x & z) -> (x & z) */ /* (x & y) | (x | z) -> (x | z) */ (simplify (bitop:c (rbitop:c @0 @1) (bitop:c@3 @0 @2)) @3) ```