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

            Bug ID: 88134
           Summary: ICE in create_component_ref_by_pieces_1, at
                    tree-ssa-pre.c:2520
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: powerpc-*-linux-gnu, powerpcspe-*-linux-gnu

gcc-9.0.0-alpha20181118 snapshot (r266255) ICEs when compiling the following
snippet extracted from gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-5.c w/
-mcpu=860 -O2:

_Atomic double oe;

void
i6 (void)
{
  int er;

  for (er = 0; er < 2; ++er)
    oe += __builtin_huge_val ();
}

% powerpc-e300c3-linux-gnu-gcc-9.0.0-alpha20181118 -mcpu=860 -O2 -c cptctz2r.c
during GIMPLE pass: pre                                                         
cptctz2r.c: In function 'i6':
cptctz2r.c:4:1: internal compiler error: in create_component_ref_by_pieces_1,
at tree-ssa-pre.c:2520
    4 | i6 (void)
      | ^~
0x69262c create_component_ref_by_pieces_1
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181118/work/gcc-9-20181118/gcc/tree-ssa-pre.c:2520
0xeab26a create_component_ref_by_pieces_1
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181118/work/gcc-9-20181118/gcc/tree-ssa-pre.c:2464
0xeab052 create_component_ref_by_pieces_1
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181118/work/gcc-9-20181118/gcc/tree-ssa-pre.c:2528
0xeaa1dc create_component_ref_by_pieces
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181118/work/gcc-9-20181118/gcc/tree-ssa-pre.c:2674
0xeaa1dc create_expression_by_pieces
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181118/work/gcc-9-20181118/gcc/tree-ssa-pre.c:2820
0xeac80b insert_into_preds_of_block
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181118/work/gcc-9-20181118/gcc/tree-ssa-pre.c:3037
0xeaf0ae do_pre_regular_insertion
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181118/work/gcc-9-20181118/gcc/tree-ssa-pre.c:3292
0xeaf0ae insert_aux
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181118/work/gcc-9-20181118/gcc/tree-ssa-pre.c:3642
0xeae43f insert_aux
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181118/work/gcc-9-20181118/gcc/tree-ssa-pre.c:3656
0xeae43f insert_aux
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181118/work/gcc-9-20181118/gcc/tree-ssa-pre.c:3656
0xeb07c8 insert
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181118/work/gcc-9-20181118/gcc/tree-ssa-pre.c:3679
0xeb07c8 execute
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181118/work/gcc-9-20181118/gcc/tree-ssa-pre.c:4209

Additionally, decreasing the loop iteration count, removing it altogether, or
decreasing the optimization level makes it fail as described in PR85594 comment
0.

Reply via email to