https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116569
Bug ID: 116569
Summary: [15 Regression] ICE in to_constant, at poly-int.h:592
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Keywords: aarch64-sve, ice-on-valid-code
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: ktkachov at gcc dot gnu.org
Target Milestone: ---
Target: aarch64
int a;
short b, c, e;
long d, f;
long g(long h) {
if (h)
return h;
return d;
}
void i(int h[][0][0][0]) {
for (short j; j; j += 3) {
a = g(h[1][2] ? 0 : h[1][1][1][1]);
b = e ?: f % c;
}
}
with -O3 -mcpu=neoverse-v2 ICEs with trunk:
0x24ef04b internal_error(char const*, ...)
$SRC/gcc/diagnostic-global-context.cc:492
0x80ebd7 fancy_abort(char const*, int, char const*)
$SRC/gcc/diagnostic.cc:1658
0x7fcc03 poly_int<2u, unsigned long>::to_constant() const
$SRC/gcc/poly-int.h:592
0x1589ae7 poly_int<2u, unsigned long>::to_constant() const
$SRC/gcc/poly-int.h:590
0x1589ae7 nunits_for_known_piecewise_op
$SRC/gcc/tree-vect-generic.cc:96
0x1589ae7 expand_vector_piecewise
$SRC/gcc/tree-vect-generic.cc:290
0x158c673 expand_vector_operation
$SRC/gcc/tree-vect-generic.cc:1257
0x158d657 expand_vector_operations_1
$SRC/gcc/tree-vect-generic.cc:2366
0x158d657 expand_vector_operations
$SRC/gcc/tree-vect-generic.cc:2400
0x158d657 execute
$SRC/gcc/tree-vect-generic.cc:2454