[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