https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83123
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization Target| |x86_64-*-*, i?86-*-* Status|UNCONFIRMED |NEW Last reconfirmed| |2017-11-23 CC| |segher at gcc dot gnu.org Component|c |rtl-optimization Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- The first case is somehow optimized by combine while the latter is not. The gimple is almost equal, so is the expanded RTL. test1 (int a, int b) { _Bool _1; _Bool _2; _Bool _3; int _6; <bb 2> [local count: 1073741825]: _1 = a_4(D) < 0; _2 = b_5(D) < 0; _3 = _1 & _2; _6 = (int) _3; return _6; test2 (int a, int b) { _Bool _1; _Bool _2; _Bool _3; <bb 2> [local count: 1073741825]: _1 = a_4(D) < 0; _2 = b_5(D) < 0; _3 = _1 & _2; return _3;