[Bug tree-optimization/114464] [14 regression] ICE when building tdscpp-20240212

2024-03-26 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114464

Richard Biener  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #9 from Richard Biener  ---
Fixed (but possibly latent in GCC 13).

[Bug tree-optimization/114464] [14 regression] ICE when building tdscpp-20240212

2024-03-26 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114464

--- Comment #8 from GCC Commits  ---
The master branch has been updated by Richard Biener :

https://gcc.gnu.org/g:226a220d0056396e825e12435cc0da52cbd5ac56

commit r14-9665-g226a220d0056396e825e12435cc0da52cbd5ac56
Author: Richard Biener 
Date:   Tue Mar 26 09:39:30 2024 +0100

tree-optimization/114464 - verify types in recurrence vectorization

The following adds missing verification of vector type compatibility
to recurrence vectorization.

PR tree-optimization/114464
* tree-vect-loop.cc (vectorizable_recurr): Verify the latch
vector type is compatible with what we chose for the recurrence.

* g++.dg/vect/pr114464.cc: New testcase.

[Bug tree-optimization/114464] [14 regression] ICE when building tdscpp-20240212

2024-03-26 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114464

Richard Biener  changed:

   What|Removed |Added

   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
 Status|NEW |ASSIGNED

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

[Bug tree-optimization/114464] [14 regression] ICE when building tdscpp-20240212

2024-03-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114464

--- Comment #6 from Andrew Pinski  ---
(In reply to Xi Ruoyao from comment #4)
> Interestingly, this only happens when N % 16 == 0.

That depends on the target, for aarch64 (and arm with neon enabled), GCC ICEs
for all multiplies of 8, while x86_64 is multiples of 16.

[Bug tree-optimization/114464] [14 regression] ICE when building tdscpp-20240212

2024-03-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114464

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 CC||pinskia at gcc dot gnu.org
 Ever confirmed|0   |1
   Last reconfirmed||2024-03-25
   Keywords||needs-bisection

--- Comment #5 from Andrew Pinski  ---
Better reduced testcase (removes the template and unused arguments):
```
void h(unsigned char *scratch, bool carry) {
  for (int i = 0; i < 16; i++) {
bool b = scratch[i] <<= 1;
if (carry)
  scratch[i] |= 1;
carry = b;
  }
}
```

[Bug tree-optimization/114464] [14 regression] ICE when building tdscpp-20240212

2024-03-25 Thread xry111 at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114464

Xi Ruoyao  changed:

   What|Removed |Added

 CC||xry111 at gcc dot gnu.org

--- Comment #4 from Xi Ruoyao  ---
Interestingly, this only happens when N % 16 == 0.

[Bug tree-optimization/114464] [14 regression] ICE when building tdscpp-20240212

2024-03-25 Thread sjames at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114464

--- Comment #3 from Sam James  ---
Reduced:
```
template  void double_to_int(double, unsigned char *scratch, bool carry)
{
  for (int i = 0; i < N; i++) {
bool b = scratch[i] <<= 1;
if (carry)
  scratch[i] |= 1;
carry = b;
  }
}
double bcp_row_data_d;
unsigned char bcp_row_data_ptr;
bool carry;
void bcp_row_data() { double_to_int<16>(bcp_row_data_d, _row_data_ptr,
carry); }
```

[Bug tree-optimization/114464] [14 regression] ICE when building tdscpp-20240212

2024-03-25 Thread sjames at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114464

--- Comment #2 from Sam James  ---
Ah, yes, sorry. Reducing too.

[Bug tree-optimization/114464] [14 regression] ICE when building tdscpp-20240212

2024-03-25 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114464

Richard Biener  changed:

   What|Removed |Added

   Keywords||ice-on-valid-code,
   ||needs-reduction
   Target Milestone|--- |14.0
 CC||rguenth at gcc dot gnu.org
  Component|middle-end  |tree-optimization

--- Comment #1 from Richard Biener  ---
x86-64?