https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78727
Bug ID: 78727 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/ -O2: int dd (int gj, unsigned int o7) { long long int e8 = gj; e8 |= gj + 1u; if (e8 != 0) { short int *mn = (short int *)&e8; int pv; e8 &= e8 > gj; gj = o7 > e8; pv = ((gj != 0) ? gj : *mn) && e8; gj |= *mn / pv; } return gj; } % powerpc-e300c3-linux-gnu-gcc-7.0.0-alpha20161204 -O2 -c hvquiakt.c hvquiakt.c: In function 'dd': hvquiakt.c:19:1: error: in basic block 5: } ^ hvquiakt.c:19:1: error: flow control insn inside a basic block (insn 121 61 135 5 (trap_if (const_int 1 [0x1]) (const_int 0 [0])) 823 {trap} (nil)) hvquiakt.c:19:1: internal compiler error: in rtl_verify_bb_insns, at cfgrtl.c:2656 0x2b36917ec35 _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 0x2b368d45117 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 0x2b368d45117 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 0x2b368d3131d verify_flow_info() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfghooks.c:258 0x2b36985cdc6 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 0x2b36985cdc6 try_optimize_cfg /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfgcleanup.c:2988 0x2b36985cdc6 cleanup_cfg(int) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfgcleanup.c:3152 0x2b3698488aa execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/bb-reorder.c:2571