[Bug tree-optimization/85529] [8/9 Regression] wrong code at -O2 and -O3 on x86_64-linux-gnu

2018-04-26 Thread rguenth at gcc dot gnu.org
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.

[Bug tree-optimization/85529] [8/9 Regression] wrong code at -O2 and -O3 on x86_64-linux-gnu

2018-04-26 Thread jakub at gcc dot gnu.org
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

2018-04-26 Thread rguenth at gcc dot gnu.org
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.