[Bug tree-optimization/112585] wrong code at -O3 on x86_64-linux-gnu since r14-5444

2023-11-17 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112585

Richard Biener  changed:

   What|Removed |Added

 Blocks||112281
Version|unknown |14.0
 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org

--- Comment #3 from Richard Biener  ---
Mine.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112281
[Bug 112281] [12/13 Regression] wrong code at -O3 on x86_64-linux-gnu since
r12-2097-g9f34b780b0461e

[Bug tree-optimization/112585] wrong code at -O3 on x86_64-linux-gnu since r14-5444

2023-11-17 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112585

--- Comment #2 from Richard Biener  ---
Confirmed.  In .optimized all loops are unrolled and we have

  e.0_103 = e;
  _105 = (int) e.0_103;
  a[2] = _105;
...
  _7 = a[2];
  if (_7 != 1)
goto ; [0.00%]
  else
goto ; [100.00%]

   [count: 0]:
  __builtin_abort ();

loop distribution splits the loop, putting a loop with just a[f] = 1 first.
I think that's wrong.  Related to PR112281, here we have a zero distance
for the inner loop.

[Bug tree-optimization/112585] wrong code at -O3 on x86_64-linux-gnu since r14-5444

2023-11-17 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112585

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
Summary|wrong code at -O3 on|wrong code at -O3 on
   |x86_64-linux-gnu|x86_64-linux-gnu since
   ||r14-5444
 CC||jakub at gcc dot gnu.org,
   ||rguenth at gcc dot gnu.org
   Last reconfirmed||2023-11-17
   Target Milestone|--- |14.0
 Ever confirmed|0   |1
   Priority|P3  |P1

--- Comment #1 from Jakub Jelinek  ---
Started with r14-5444-g5ea2965b499f9e491e45db19fedbccfccb75076a