[Bug tree-optimization/85529] [8/9 Regression] wrong code at -O2 and -O3 on x86_64-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85529 Richard Biener changed: What|Removed |Added Status|UNCONFIRMED |NEW Known to work||7.3.1 Version|unknown |8.0.1 Keywords||needs-bisection, wrong-code Last reconfirmed||2018-04-26 Ever confirmed|0 |1 Summary|wrong code at -O2 and -O3 |[8/9 Regression] wrong code |on x86_64-linux-gnu |at -O2 and -O3 on ||x86_64-linux-gnu Target Milestone|--- |8.0 --- Comment #1 from Richard Biener --- Confirmed.
[Bug tree-optimization/85529] [8/9 Regression] wrong code at -O2 and -O3 on x86_64-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85529 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek --- Started with r257852. I'll have a look.
[Bug tree-optimization/85529] [8/9 Regression] wrong code at -O2 and -O3 on x86_64-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85529 --- Comment #3 from Richard Biener --- Reassoc does [local count: 530374774]: - # b.9_28 = PHI + # b.9_28 = PHI # RANGE [-83, 1] NONZERO 173 - # k_32 = PHI - # c_lsm.11_10 = PHI - # c_lsm.12_24 = PHI <0(13), c_lsm.12_25(9)> + # k_32 = PHI + # c_lsm.11_10 = PHI + # c_lsm.12_24 = PHI <0(12), c_lsm.12_25(8)> _4 ={v} s.a; # RANGE [-2147483647, 2147483647] _42 = b.9_28 + 1; - if (k_32 >= 0) -goto ; [26.46%] - else -goto ; [73.54%] - - [local count: 140323371]: - # RANGE [0, 1] NONZERO 1 _5 = (int) k_32; - # RANGE [0, 4] NONZERO 4 _20 = _5 << 2; - # RANGE [0, 4] NONZERO 4 iftmp.0_44 = (char) _20; - if (k_32 < iftmp.0_44) -goto ; [84.48%] + _14 = (unsigned char) k_32; + _8 = (unsigned char) iftmp.0_44; + if (_8 > _14) likely the reset_flow_sensitive_info_in_bb call is too late for the simplification bits it does.