https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78728
Bug ID: 78728 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 ur (int bu, int z1) { signed char x6; char *sk = (char *)&k0; unsigned char *qj; bu = k0; qj = (unsigned char *)bu; x6 = *qj; z1 = (x6 != 0 && (z1 / 0) != 0); k0 = (bu != 0) ? 0 : 2; if (qj != 0) { x6 *= 2; z1 = x6; } ++x6; if (z1 > x6) { ((z1 != 0) ? (x6 < 1) : *sk) && (++k0); k0 /= 0; } } % powerpc-e300c3-linux-gnu-gcc-7.0.0-alpha20161204 -Os -w -c k5naowlz.c k5naowlz.c: In function 'ur': k5naowlz.c:28:1: error: in basic block 8: } ^ k5naowlz.c:28:1: error: flow control insn inside a basic block (insn 103 47 65 8 (trap_if (const_int 1 [0x1]) (const_int 0 [0])) 823 {trap} (nil)) k5naowlz.c:28:1: internal compiler error: in rtl_verify_bb_insns, at cfgrtl.c:2656 0x30d23c30c35 _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 0x30d237f7117 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 0x30d237f7117 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 0x30d237e331d verify_flow_info() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfghooks.c:258 0x30d2430edc6 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 0x30d2430edc6 try_optimize_cfg /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfgcleanup.c:2988 0x30d2430edc6 cleanup_cfg(int) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfgcleanup.c:3152 0x30d2432cddd rest_of_handle_combine /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/combine.c:14608 0x30d2432cddd execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/combine.c:14642