https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78729

            Bug ID: 78729
           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
p9 (int bu, int z1)
{
  signed char x6;
  int *nr = (bu != 0) ? &k0 : &z1;

  for (;;)
    {
      unsigned char *qj;

      bu = k0;
      qj = (unsigned char *)bu;
      x6 = *qj;
      z1 = (x6 != 0 && (z1 / 0) != 0);
      bu += z1;
      k0 = (bu != 0) ? 0 : 2;

      if (qj != 0)
        {
          x6 *= 2;
          z1 = x6;
        }

      ++x6;
      if (z1 > x6)
        {
          ((k0 != 0) ? (x6 < 1) : *nr) && (++z1);
          --z1;
          k0 /= 0;
        }
    }
}

% powerpc-e300c3-linux-gnu-gcc-7.0.0-alpha20161204 -Os -w -c pl8gmryz.c 
pl8gmryz.c:34:1: error: in basic block 14:
 }
 ^
pl8gmryz.c:34:1: error: flow control insn inside a basic block
(insn 118 57 149 14 (trap_if (const_int 1 [0x1])
        (const_int 0 [0])) 823 {trap}
     (nil))
pl8gmryz.c:34:1: internal compiler error: in rtl_verify_bb_insns, at
cfgrtl.c:2656
0x2ca8305dc35 _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
0x2ca82c24117 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
0x2ca82c24117 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
0x2ca82c24184 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
0x2ca82c1031d verify_flow_info()
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfghooks.c:258
0x2ca82c2af21 execute
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfgrtl.c:3569

Reply via email to