https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80112
Bug ID: 80112 Summary: ICE in doloop_condition_get at loop-doloop.c:158 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: marxin at gcc dot gnu.org Target Milestone: --- Host: x86_64-linux-gnu Target: aarch64-linux-gnu Following test-case ICEs with cross-compiler: $ cat /tmp/tmpqlv6dcz4.i int a; int b (int c) { void *d[] = {&&e, &&f}; switch (c) { f: c = 9; case 9: goto *a++; e:; } } $ aarch64-linux-gnu-gcc -Os -fmodulo-sched /tmp/tmpqlv6dcz4.i /tmp/tmpqlv6dcz4.i: In function ‘b’: /tmp/tmpqlv6dcz4.i:13:1: internal compiler error: Segmentation fault } ^ 0xb76b0f crash_signal .././../gcc/toplev.c:337 0x11b1ad6 doloop_condition_get(rtx_insn*) .././../gcc/loop-doloop.c:158 0x11bb961 doloop_register_get .././../gcc/modulo-sched.c:353 0x11bdee0 doloop_register_get .././../gcc/modulo-sched.c:349 0x11bdee0 sms_schedule .././../gcc/modulo-sched.c:1457 0x11bdee0 execute .././../gcc/modulo-sched.c:3339