https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120276
Bug ID: 120276
Summary: [16 Regression] ICE in partial_subreg_p with SVE
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Keywords: aarch64-sve, ice-on-valid-code
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: ktkachov at gcc dot gnu.org
Target Milestone: ---
Target: aarch64
int a;
char b[1];
int c[18];
void d(char *);
void e() {
int f;
char *g;
a = 0;
for (; a < 18; a++) {
int h = f = 0;
for (; f < 4; f++) {
g[a * 4 + f] = c[a] >> h;
h += 8;
}
}
d(b);
}
ICEs on aarch64 with e.g. -O3 -march=armv8.2-a+sve
during RTL pass: cprop_hardreg
ice.c: In function āeā:
ice.c:17:1: internal compiler error: in partial_subreg_p, at rtl.h:3203
17 | }
| ^
0x239032b internal_error(char const*, ...)
$SRC/gcc/diagnostic-global-context.cc:517
0x8282ff fancy_abort(char const*, int, char const*)
$SRC/gcc/diagnostic.cc:1815
0x806df3 partial_subreg_p(machine_mode, machine_mode)
$SRC/gcc/rtl.h:3203
0xf8e807 partial_subreg_p(machine_mode, machine_mode)
$SRC/gcc/poly-int.h:1365
0xf8e807 copy_value
$SRC/gcc/regcprop.cc:374
0xf8eff3 copyprop_hardreg_forward_1
$SRC/gcc/regcprop.cc:1153
0xf8f9d3 execute
$SRC/gcc/regcprop.cc:1423
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.