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

            Bug ID: 91204
           Summary: ICE in expand_expr_real_2, at expr.c:9215 with -O3
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vsevolod.livinskij at frtk dot ru
  Target Milestone: ---

GCC fails with ICE in expand_expr_real_2, at expr.c:9215.

Reproducer:

int a, b;
extern int c[];
void d() {
  for (int e = 6; e <= a; e++)
    c[e] &= b ^ c[e] ^ c[e - 2];
}

Error:
>$ gcc -c -O3 small.c
during RTL pass: expand
small.c: In function ā€˜d’:
small.c:5:10: internal compiler error: in expand_expr_real_2, at expr.c:9215
    5 |     c[e] &= b ^ c[e] ^ c[e - 2];
      |          ^~
0x8c9408 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
        /gcc/expr.c:9215
0x8d0532 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        /gcc/expr.c:9948
0x8dac5e expand_expr
        /gcc/expr.h:281
0x8dac5e expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**,
rtx_def**, expand_modifier)
        /gcc/expr.c:7878
0x8c829d expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
        /gcc/expr.c:9738
0x796a60 expand_gimple_stmt_1
        /gcc/cfgexpand.c:3814
0x796a60 expand_gimple_stmt
        /gcc/cfgexpand.c:3875
0x79da4f expand_gimple_basic_block
        /gcc/cfgexpand.c:5915
0x7a027e execute
        /gcc/cfgexpand.c:6538

GCC version is 10.0.0 (rev. 273556)

Reply via email to