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.