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

            Bug ID: 81053
           Summary: ICE on valid code at -O3 on x86_64-linux-gnu: in as_a,
                    at is-a.h:192
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: su at cs dot ucdavis.edu
  Target Milestone: ---

$ gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/8.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc-source-trunk/configure --enable-languages=c,c++,lto
--prefix=/usr/local/gcc-trunk --disable-bootstrap
Thread model: posix
gcc version 8.0.0 20170611 (experimental) [trunk revision 249102] (GCC)
$
$ gcc-trunk -O2 -c small.c
$
$ gcc-trunk -O3 -c small.c
during GIMPLE pass: vect
small.c: In function ‘fn1’:
small.c:3:6: internal compiler error: in as_a, at is-a.h:192
 void fn1 ()
      ^~~
0xea8397 as_a<gphi*, gimple>
        ../../gcc-source-trunk/gcc/is-a.h:192
0xeb2469 as_a<gphi*, gimple>
        ../../gcc-source-trunk/gcc/vec.h:860
0xeb2469 gimple_phi_result_ptr
        ../../gcc-source-trunk/gcc/gimple.h:4322
0xeb2469 vect_is_simple_reduction
        ../../gcc-source-trunk/gcc/tree-vect-loop.c:2743
0xeb2469 vect_force_simple_reduction(_loop_vec_info*, gimple*, bool*, bool)
        ../../gcc-source-trunk/gcc/tree-vect-loop.c:3188
0xeb2ddb vect_analyze_scalar_cycles_1
        ../../gcc-source-trunk/gcc/tree-vect-loop.c:858
0xeb7eea vect_analyze_scalar_cycles
        ../../gcc-source-trunk/gcc/tree-vect-loop.c:932
0xeb7eea vect_analyze_loop_2
        ../../gcc-source-trunk/gcc/tree-vect-loop.c:1924
0xeb7eea vect_analyze_loop(loop*, _loop_vec_info*)
        ../../gcc-source-trunk/gcc/tree-vect-loop.c:2403
0xed0009 vectorize_loops()
        ../../gcc-source-trunk/gcc/tree-vectorizer.c:614
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
$


-------------------------------


int a, b[2], c, d;

void fn1 ()
{ 
  for (; d < 2; d++)
    { 
      b[d] = a;
      a = c;
    }
}

Reply via email to