[Bug c/101018] New: ICE when enabling OpenMP on a simple loop with SVE intrinsics (aarch64)

romain.gcc at dolbeau dot name gcc-bugzilla@gcc.gnu.org
Thu Jun 10 15:13:11 GMT 2021


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

            Bug ID: 101018
           Summary: ICE when enabling OpenMP on a simple loop with SVE
                    intrinsics (aarch64)
           Product: gcc
           Version: 11.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: romain.gcc at dolbeau dot name
  Target Milestone: ---

Created attachment 50980
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50980&action=edit
Simple SVE loop in a function illustrating the ICE with OpenMP

I have a simple loop in SVE intrinsics (see attached file).

Compiling with:
`gcc -O3 -march=armv8.2-a+sve -S bug.c`
works fine whereas:
`gcc -O3 -march=armv8.2-a+sve -fopenmp -S bug.c`

causes:

```
bug.c: In function ‘tuned_STREAM_Triad’:
bug.c:19:16: internal compiler error: Segmentation fault
   19 |           va = svmla_f64_z(svptrue_b64(), vb , vscalar, vc );
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0xb8a6b3 crash_signal
        ../../gcc-11.1.0/gcc/toplev.c:327
0x9323d4 omp_add_variable
        ../../gcc-11.1.0/gcc/gimplify.c:7042
0x932cf3 omp_add_variable
        ../../gcc-11.1.0/gcc/gimplify.c:6989
0x932cf3 omp_notice_variable
        ../../gcc-11.1.0/gcc/gimplify.c:7636
0x932a8f omp_notice_variable
        ../../gcc-11.1.0/gcc/gimplify.c:7705
0x934573 gimplify_var_or_parm_decl
        ../../gcc-11.1.0/gcc/gimplify.c:2845
0x93a8cf gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc-11.1.0/gcc/gimplify.c:14544
0x93f9bb gimplify_expr
        ../../gcc-11.1.0/gcc/gimplify.c:15118
0x94072f gimplify_call_expr
        ../../gcc-11.1.0/gcc/gimplify.c:3521
0x93b1b3 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc-11.1.0/gcc/gimplify.c:14055
0x94512b gimplify_modify_expr
        ../../gcc-11.1.0/gcc/gimplify.c:5818
0x93a8f3 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc-11.1.0/gcc/gimplify.c:14083
0x93b64b gimplify_stmt(tree_node**, gimple**)
        ../../gcc-11.1.0/gcc/gimplify.c:6877
0x93b64b gimplify_statement_list
        ../../gcc-11.1.0/gcc/gimplify.c:1879
0x93b64b gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc-11.1.0/gcc/gimplify.c:14528
0x94161b gimplify_stmt(tree_node**, gimple**)
        ../../gcc-11.1.0/gcc/gimplify.c:6877
0x94161b gimplify_bind_expr
        ../../gcc-11.1.0/gcc/gimplify.c:1421
0x93b22f gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc-11.1.0/gcc/gimplify.c:14284
0x9483af gimplify_stmt(tree_node**, gimple**)
        ../../gcc-11.1.0/gcc/gimplify.c:6877
0x9483af gimplify_and_add(tree_node*, gimple**)
        ../../gcc-11.1.0/gcc/gimplify.c:489
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
```

I originally found this in a home-compiled 10.2.0, and was able to reproduce it
after recompiling 11.1.0 on a Ubuntu 20.04.2 LTS distribution.

Cordially,


More information about the Gcc-bugs mailing list