https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79451
Bug ID: 79451 Summary: [7 Regression] ICE in expand_expr_real_2, at expr.c:9021 w/ -O3 -floop-nest-optimize Product: gcc Version: 7.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: powerpc-e500v2-linux-gnuspe 7.0.0-alpha20170205 snapshot ICEs when compiling the following snippet w/ -O3 (or -Ofast) -floop-nest-optimize: int dx; void bm (unsigned int ms) { int fe = dx; unsigned int *gd = &ms; for (ms = 0; ms < 1; ++ms) gd = &dx; while (fe < 1) { *gd /= dx; *gd -= fe & 1; ++fe; } } % powerpc-e500v2-linux-gnuspe-gcc-7.0.0-alpha20170205 -O3 -floop-nest-optimize -w -c kfzgpxfl.c kfzgpxfl.c: In function 'bm': kfzgpxfl.c:4:1: internal compiler error: in expand_expr_real_2, at expr.c:9021 bm (unsigned int ms) ^~ 0x312b1745f2d expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) /var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/expr.c:9021 0x312b1730b60 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/expr.c:9730 0x312b173c1fd expand_expr /var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/expr.h:276 0x312b173c1fd expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**, rtx_def**, expand_modifier) /var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/expr.c:7672 0x312b174427a expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) /var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/expr.c:9521 0x312b15f5f61 expand_gimple_stmt_1 /var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/cfgexpand.c:3677 0x312b15f5f61 expand_gimple_stmt /var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/cfgexpand.c:3737 0x312b15f7d8b expand_gimple_basic_block /var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/cfgexpand.c:5744 0x312b15fe48f execute /var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/cfgexpand.c:6357 It may be similar to PR71012, but I cannot reproduce that one w/ the current 7.0 snapshot.