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

            Bug ID: 99544
           Summary: [11 Regression] ICE in expand_mult, at expmed.c:3582
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Keywords: openmp
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: aarch64-linux-gnu

gcc-11.0.1-alpha20210307 snapshot (g:a18ebd6c439227b048a91fbfa66f5983f884c157)
ICEs when compiling the following testcase, extracted from
libgomp/testsuite/libgomp.c-c++-common/pr66199-2.c, w/ -Os -fopenmp:

void
f2 (long a, long b, long c)
{
  long d, e;
  #pragma omp teams distribute parallel for simd firstprivate (a, b, c)
lastprivate(e)
  for (d = a; d < b; d++)
    e = c + d * 5;
}

% aarch64-linux-gnu-gcc-11.0.1 -Os -fopenmp -c drqo2auz.c
during RTL pass: expand
drqo2auz.c: In function 'f2._omp_fn.1':
drqo2auz.c:7:7: internal compiler error: in expand_mult, at expmed.c:3582
    7 |     e = c + d * 5;
      |     ~~^~~~~~~~~~~
0x6cd56b expand_mult(machine_mode, rtx_def*, rtx_def*, rtx_def*, int, bool)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210307/work/gcc-11-20210307/gcc/expmed.c:3582
0xb39874 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210307/work/gcc-11-20210307/gcc/expr.c:9211
0xb3f39a expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210307/work/gcc-11-20210307/gcc/expr.c:10210
0xb3a735 expand_expr
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210307/work/gcc-11-20210307/gcc/expr.h:282
0xb3a735 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210307/work/gcc-11-20210307/gcc/expr.c:8789
0xb3f39a expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210307/work/gcc-11-20210307/gcc/expr.c:10210
0xb49214 expand_expr
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210307/work/gcc-11-20210307/gcc/expr.h:282
0xb49214 expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**,
rtx_def**, expand_modifier)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210307/work/gcc-11-20210307/gcc/expr.c:8110
0xb37be8 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210307/work/gcc-11-20210307/gcc/expr.c:9013
0xa12f85 expand_gimple_stmt_1
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210307/work/gcc-11-20210307/gcc/cfgexpand.c:3947
0xa12f85 expand_gimple_stmt
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210307/work/gcc-11-20210307/gcc/cfgexpand.c:4008
0xa18bfa expand_gimple_basic_block
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210307/work/gcc-11-20210307/gcc/cfgexpand.c:6045
0xa1a79f execute
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210307/work/gcc-11-20210307/gcc/cfgexpand.c:6729

Reply via email to