[Bug target/71012] ICE: in expand_expr_real_2, at expr.c:9348 when compiling stress-ng

asolokha at gmx dot com gcc-bugzilla@gcc.gnu.org
Wed May 10 09:41:00 GMT 2017


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

--- Comment #4 from Arseny Solokha <asolokha at gmx dot com> ---
int mw;

int
j3 (int cn)
{
  const int l7 = 0;
  int wz;

  for (wz = l7; wz < l7 + 3; ++wz)
    while (mw != 0)
      {
        cn ^= -(wz == l7);
        ++mw;
      }

  return cn;
}

actually leads to ICE w/ -O2 (-O3, -Ofast) -ftree-vectorize all the way from
gcc-8.0.0-alpha20170507 snapshot down to 4.9:

% powerpc-e500v2-linux-gnuspe-gcc-8.0.0-alpha20170507 -O2 -ftree-vectorize -c
ndknofut.c       
ndknofut.c: In function 'j3':
ndknofut.c:12:12: internal compiler error: in expand_expr_real_2, at
expr.c:9069
         cn ^= -(wz == l7);
         ~~~^~~~~~~~~~~~~~
0x8a1b2a expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
       
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-8.0.0_alpha20170507/work/gcc-8-20170507/gcc/expr.c:9069
0x74e4de expand_gimple_stmt_1
       
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-8.0.0_alpha20170507/work/gcc-8-20170507/gcc/cfgexpand.c:3676
0x74e4de expand_gimple_stmt
       
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-8.0.0_alpha20170507/work/gcc-8-20170507/gcc/cfgexpand.c:3737
0x7510e7 expand_gimple_basic_block
       
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-8.0.0_alpha20170507/work/gcc-8-20170507/gcc/cfgexpand.c:5744
0x7576df execute
       
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-8.0.0_alpha20170507/work/gcc-8-20170507/gcc/cfgexpand.c:6357


More information about the Gcc-bugs mailing list