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.