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).