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,