https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71295
Bug ID: 71295 Summary: [7 Regression] internal compiler error: in subreg_get_info, at rtlanal.c:3673 on arm Product: gcc Version: 7.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: ktkachov at gcc dot gnu.org Target Milestone: --- Target: arm extern void fn2 (long long); int a; void fn1 () { long long b[3]; a = 0; for (; a < 3; a++) b[a] = 1; fn2 (b[1]); } ICEs for me on arm with -O3 -march=armv8-a -mfpu=neon-fp-armv8 -mfloat-abi=hard mycrash.c: In function 'fn1': mycrash.c:12:1: internal compiler error: in subreg_get_info, at rtlanal.c:3673 } ^ 0xa7b284 subreg_get_info(unsigned int, machine_mode, unsigned int, machine_mode, subreg_info*) $SRC/gcc/rtlanal.c:3673 0xa7b52c simplify_subreg_regno(unsigned int, machine_mode, unsigned int, machine_mode) $SRC/gcc/rtlanal.c:3808 0xa500cc simplifiable_subregs(subreg_shape const&) $SRC/gcc/reginfo.c:1234 0xa501b8 record_subregs_of_mode $SRC/gcc/reginfo.c:1295 0xa50434 init_subregs_of_mode() $SRC/gcc/reginfo.c:1349 0x947656 init_costs $SRC/gcc/ira-costs.c:2187 0x94c0a8 ira_set_pseudo_classes(bool, _IO_FILE*) $SRC/gcc/ira-costs.c:2237 0x1121695 alloc_global_sched_pressure_data $SRC/gcc/haifa-sched.c:7244 0x1121695 sched_init() $SRC/gcc/haifa-sched.c:7394 0x1122a13 haifa_sched_init() $SRC/gcc/haifa-sched.c:7406 0xa878f1 schedule_insns() $SRC/gcc/sched-rgn.c:3504 0xa880a1 rest_of_handle_sched $SRC/gcc/sched-rgn.c:3717 0xa880a1 execute $SRC/gcc/sched-rgn.c:3825 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. Bisection shows it started with r236582 but that's a SLP vectorisation patch so I suspect it's exposing a latent issue