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

            Bug ID: 89487
           Summary: [8/9 Regression] ICE in expand_expr_addr_expr_1, at
                    expr.c:7993
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: x86_64-pc-linux-gnu

gcc-9.0.0-alpha20190224 snapshot (r269177) ICEs when compiling the following
snippet reduced from ocaml 4.05.0 package:

void
caml_interprete (void)
{
  register int *pc asm("%r15");
  register int *sp asm("%r14");
  int i;

  for (i = 0; i < 3; ++i)
    *--sp = pc[i];
}

% x86_64-pc-linux-gnu-gcc-9.0.0-alpha20190224 -O2 -ftree-loop-distribution -c
/tmp/interp.i
during RTL pass: expand
/tmp/interp.i: In function 'caml_interprete':
/tmp/interp.i:2:1: internal compiler error: in expand_expr_addr_expr_1, at
expr.c:7993
    2 | caml_interprete (void)
      | ^~~~~~~~~~~~~~~
0x60739b expand_expr_addr_expr_1
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/expr.c:7993
0xa2909b expand_expr_addr_expr
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/expr.c:8106
0xa2909b expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/expr.c:11261
0xa355e4 expand_expr
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/expr.h:279
0xa355e4 expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**,
rtx_def**, expand_modifier)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/expr.c:7872
0xa3d20c expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/expr.c:8732
0xa29987 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/expr.c:11317
0xa35927 expand_expr
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/expr.h:279
0xa35927 expand_expr_addr_expr_1
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/expr.c:7931
0xa2909b expand_expr_addr_expr
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/expr.c:8106
0xa2909b expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/expr.c:11261
0xa355e4 expand_expr
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/expr.h:279
0xa355e4 expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**,
rtx_def**, expand_modifier)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/expr.c:7872
0xa3bfaa expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/expr.c:9732
0xa2bc5d expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/expr.c:9942
0xa3ed51 expand_expr
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/expr.h:279
0xa3ed51 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/expr.c:8508
0xa2bc5d expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/expr.c:9942
0x984200 expand_normal
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/expr.h:285
0x984200 do_compare_and_jump
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190224/work/gcc-9-20190224/gcc/dojump.c:1204

Reply via email to