public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/101018] New: ICE when enabling OpenMP on a simple loop with SVE intrinsics (aarch64)
@ 2021-06-10 15:13 romain.gcc at dolbeau dot name
2021-06-10 20:05 ` [Bug middle-end/101018] " acoplan at gcc dot gnu.org
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: romain.gcc at dolbeau dot name @ 2021-06-10 15:13 UTC (permalink / raw)
To: gcc-bugs
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,
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug middle-end/101018] ICE when enabling OpenMP on a simple loop with SVE intrinsics (aarch64)
2021-06-10 15:13 [Bug c/101018] New: ICE when enabling OpenMP on a simple loop with SVE intrinsics (aarch64) romain.gcc at dolbeau dot name
@ 2021-06-10 20:05 ` acoplan at gcc dot gnu.org
2021-09-06 10:03 ` pinskia at gcc dot gnu.org
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: acoplan at gcc dot gnu.org @ 2021-06-10 20:05 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101018
Alex Coplan <acoplan at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Keywords| |ice-on-valid-code
Component|c |middle-end
Target| |aarch64
Status|UNCONFIRMED |NEW
Last reconfirmed| |2021-06-10
CC| |acoplan at gcc dot gnu.org,
| |rsandifo at gcc dot gnu.org
Known to fail| |10.3.0, 11.1.0, 12.0
--- Comment #1 from Alex Coplan <acoplan at gcc dot gnu.org> ---
Confirmed on trunk. ICEs with simply:
$ cat test.c
#include <arm_sve.h>
void f() {
svfloat64_t x;
#pragma omp parallel
x;
}
$ aarch64-linux-gnu-gcc -c -march=armv8.2-a+sve -fopenmp test.c
test.c: In function ‘f’:
test.c:5:3: internal compiler error: Segmentation fault
5 | x;
| ^
0xe089b3 crash_signal
/home/alecop01/toolchain/src/gcc/gcc/toplev.c:327
0xad6abc omp_add_variable
/home/alecop01/toolchain/src/gcc/gcc/gimplify.c:7028
0xad7f55 omp_notice_variable
/home/alecop01/toolchain/src/gcc/gcc/gimplify.c:7622
0xad84ee gimplify_var_or_parm_decl
/home/alecop01/toolchain/src/gcc/gcc/gimplify.c:2851
0xadd82b gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
/home/alecop01/toolchain/src/gcc/gcc/gimplify.c:14540
0xae15aa gimplify_stmt(tree_node**, gimple**)
/home/alecop01/toolchain/src/gcc/gcc/gimplify.c:6863
0xae1dae gimplify_bind_expr
/home/alecop01/toolchain/src/gcc/gcc/gimplify.c:1424
0xadc932 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
/home/alecop01/toolchain/src/gcc/gcc/gimplify.c:14280
0xae15aa gimplify_stmt(tree_node**, gimple**)
/home/alecop01/toolchain/src/gcc/gcc/gimplify.c:6863
0xae3f6a gimplify_and_add(tree_node*, gimple**)
/home/alecop01/toolchain/src/gcc/gcc/gimplify.c:492
0xae3f6a gimplify_and_return_first
/home/alecop01/toolchain/src/gcc/gcc/gimplify.c:504
0xb08ed9 gimplify_omp_parallel
/home/alecop01/toolchain/src/gcc/gcc/gimplify.c:11428
0xadd8c3 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
/home/alecop01/toolchain/src/gcc/gcc/gimplify.c:14568
0xae15aa gimplify_stmt(tree_node**, gimple**)
/home/alecop01/toolchain/src/gcc/gcc/gimplify.c:6863
0xadd753 gimplify_statement_list
/home/alecop01/toolchain/src/gcc/gcc/gimplify.c:1885
0xadd753 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
/home/alecop01/toolchain/src/gcc/gcc/gimplify.c:14524
0xae15aa gimplify_stmt(tree_node**, gimple**)
/home/alecop01/toolchain/src/gcc/gcc/gimplify.c:6863
0xae1dae gimplify_bind_expr
/home/alecop01/toolchain/src/gcc/gcc/gimplify.c:1424
0xadc932 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
/home/alecop01/toolchain/src/gcc/gcc/gimplify.c:14280
0xae15aa gimplify_stmt(tree_node**, gimple**)
/home/alecop01/toolchain/src/gcc/gcc/gimplify.c:6863
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.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug middle-end/101018] ICE when enabling OpenMP on a simple loop with SVE intrinsics (aarch64)
2021-06-10 15:13 [Bug c/101018] New: ICE when enabling OpenMP on a simple loop with SVE intrinsics (aarch64) romain.gcc at dolbeau dot name
2021-06-10 20:05 ` [Bug middle-end/101018] " acoplan at gcc dot gnu.org
@ 2021-09-06 10:03 ` pinskia at gcc dot gnu.org
2022-03-02 16:55 ` rsandifo at gcc dot gnu.org
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-09-06 10:03 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101018
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
/* When adding a variable-sized variable, we have to handle all sorts
of additional bits of data: the pointer replacement variable, and
the parameters of the type. */
None of this code is expecting base types which have non-constants sizes ....
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug middle-end/101018] ICE when enabling OpenMP on a simple loop with SVE intrinsics (aarch64)
2021-06-10 15:13 [Bug c/101018] New: ICE when enabling OpenMP on a simple loop with SVE intrinsics (aarch64) romain.gcc at dolbeau dot name
2021-06-10 20:05 ` [Bug middle-end/101018] " acoplan at gcc dot gnu.org
2021-09-06 10:03 ` pinskia at gcc dot gnu.org
@ 2022-03-02 16:55 ` rsandifo at gcc dot gnu.org
2022-03-02 16:57 ` rsandifo at gcc dot gnu.org
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: rsandifo at gcc dot gnu.org @ 2022-03-02 16:55 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101018
rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |rsandifo at gcc dot gnu.org
--- Comment #3 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> ---
Created attachment 52550
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52550&action=edit
candidate patch
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug middle-end/101018] ICE when enabling OpenMP on a simple loop with SVE intrinsics (aarch64)
2021-06-10 15:13 [Bug c/101018] New: ICE when enabling OpenMP on a simple loop with SVE intrinsics (aarch64) romain.gcc at dolbeau dot name
` (2 preceding siblings ...)
2022-03-02 16:55 ` rsandifo at gcc dot gnu.org
@ 2022-03-02 16:57 ` rsandifo at gcc dot gnu.org
2023-04-12 12:59 ` xry111 at gcc dot gnu.org
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: rsandifo at gcc dot gnu.org @ 2022-03-02 16:57 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101018
rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
URL| |https://gcc.gnu.org/piperma
| |il/gcc-patches/2022-March/5
| |91127.html
--- Comment #4 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> ---
I've attached and posted a patch that fixes this and some other
SVE-related OpenMP issues. It probably can't go in until GCC 13
though.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug middle-end/101018] ICE when enabling OpenMP on a simple loop with SVE intrinsics (aarch64)
2021-06-10 15:13 [Bug c/101018] New: ICE when enabling OpenMP on a simple loop with SVE intrinsics (aarch64) romain.gcc at dolbeau dot name
` (3 preceding siblings ...)
2022-03-02 16:57 ` rsandifo at gcc dot gnu.org
@ 2023-04-12 12:59 ` xry111 at gcc dot gnu.org
2023-04-12 13:07 ` jakub at gcc dot gnu.org
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: xry111 at gcc dot gnu.org @ 2023-04-12 12:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101018
Xi Ruoyao <xry111 at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |xry111 at gcc dot gnu.org
--- Comment #5 from Xi Ruoyao <xry111 at gcc dot gnu.org> ---
PR109481 seems a dup but I'm not sure.
Any reason the patch is not committed?
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug middle-end/101018] ICE when enabling OpenMP on a simple loop with SVE intrinsics (aarch64)
2021-06-10 15:13 [Bug c/101018] New: ICE when enabling OpenMP on a simple loop with SVE intrinsics (aarch64) romain.gcc at dolbeau dot name
` (4 preceding siblings ...)
2023-04-12 12:59 ` xry111 at gcc dot gnu.org
@ 2023-04-12 13:07 ` jakub at gcc dot gnu.org
2023-04-12 18:46 ` pinskia at gcc dot gnu.org
2023-07-04 6:32 ` pinskia at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2023-04-12 13:07 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101018
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
See https://gcc.gnu.org/pipermail/gcc-patches/2023-February/611892.html
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug middle-end/101018] ICE when enabling OpenMP on a simple loop with SVE intrinsics (aarch64)
2021-06-10 15:13 [Bug c/101018] New: ICE when enabling OpenMP on a simple loop with SVE intrinsics (aarch64) romain.gcc at dolbeau dot name
` (5 preceding siblings ...)
2023-04-12 13:07 ` jakub at gcc dot gnu.org
@ 2023-04-12 18:46 ` pinskia at gcc dot gnu.org
2023-07-04 6:32 ` pinskia at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-04-12 18:46 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101018
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |wumingchuan1992 at foxmail dot com
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
*** Bug 109481 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug middle-end/101018] ICE when enabling OpenMP on a simple loop with SVE intrinsics (aarch64)
2021-06-10 15:13 [Bug c/101018] New: ICE when enabling OpenMP on a simple loop with SVE intrinsics (aarch64) romain.gcc at dolbeau dot name
` (6 preceding siblings ...)
2023-04-12 18:46 ` pinskia at gcc dot gnu.org
@ 2023-07-04 6:32 ` pinskia at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-07-04 6:32 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101018
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pgodbole at nvidia dot com
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
*** Bug 110537 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2023-07-04 6:32 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-10 15:13 [Bug c/101018] New: ICE when enabling OpenMP on a simple loop with SVE intrinsics (aarch64) romain.gcc at dolbeau dot name
2021-06-10 20:05 ` [Bug middle-end/101018] " acoplan at gcc dot gnu.org
2021-09-06 10:03 ` pinskia at gcc dot gnu.org
2022-03-02 16:55 ` rsandifo at gcc dot gnu.org
2022-03-02 16:57 ` rsandifo at gcc dot gnu.org
2023-04-12 12:59 ` xry111 at gcc dot gnu.org
2023-04-12 13:07 ` jakub at gcc dot gnu.org
2023-04-12 18:46 ` pinskia at gcc dot gnu.org
2023-07-04 6:32 ` pinskia at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).