https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78730
Bug ID: 78730 Summary: [7 Regression] ICE in rtl_verify_bb_insns, at cfgrtl.c:2656 (error: flow control insn inside a basic block) 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: asolokha at gmx dot com Target Milestone: --- Target: powerpc-*-linux-gnu* gcc-7.0.0-alpha20161204 snapshot ICEs when compiling the following snippet w/ -Os: int k0; void fn1 (int bu, int z1) { signed char x6; int *nr = (bu != 0) ? &bu : &k0; for (;;) { unsigned char *qj = (unsigned char *)bu; x6 = *qj; z1 = (x6 != 0 && (bu / 0) != 0); *nr = (k0 == z1) ? 1 : 2; if (qj != 0) z1 = 1; else x6 *= 2; x6 += 3; if (x6 < z1) { z1 = (z1 != 0) ? (x6 < 1) : 1; if (z1 != 0) bu = 3; --bu; k0 /= 0; } } } % powerpc-e300c3-linux-gnu-gcc-7.0.0-alpha20161204 -Os -w -c q0fqbzjz.c q0fqbzjz.c: In function 'fn1': q0fqbzjz.c:32:1: error: in basic block 12: } ^ q0fqbzjz.c:32:1: error: flow control insn inside a basic block (insn 104 127 65 12 (trap_if (const_int 1 [0x1]) (const_int 0 [0])) 823 {trap} (nil)) q0fqbzjz.c:32:1: internal compiler error: in rtl_verify_bb_insns, at cfgrtl.c:2656 0x2e5e5fdec35 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/rtl-error.c:108 0x2e5e5ba5117 rtl_verify_bb_insns /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfgrtl.c:2656 0x2e5e5ba5117 rtl_verify_flow_info_1 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfgrtl.c:2742 0x2e5e5ba5184 rtl_verify_flow_info /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfgrtl.c:2984 0x2e5e5b9131d verify_flow_info() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfghooks.c:258 0x2e5e66bcdc6 checking_verify_flow_info /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfghooks.h:198 0x2e5e66bcdc6 try_optimize_cfg /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfgcleanup.c:2988 0x2e5e66bcdc6 cleanup_cfg(int) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfgcleanup.c:3152 0x2e5e5e5dbce do_reload /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/ira.c:5435 0x2e5e5e5dbce execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/ira.c:5570