public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/105573] New: ICE when building numpy on SPARC64
@ 2022-05-11 21:57 sam at gentoo dot org
  2022-05-11 22:03 ` [Bug target/105573] " sam at gentoo dot org
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: sam at gentoo dot org @ 2022-05-11 21:57 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 105573
           Summary: ICE when building numpy on SPARC64
           Product: gcc
           Version: 11.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sam at gentoo dot org
  Target Milestone: ---

Created attachment 52957
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52957&action=edit
loops.i

Originally reported downstream in Gentoo at https://bugs.gentoo.org/843575 by
Agostino Sarubbo (ago).

Occurs when building numpy 1.22.3 on SPARC64 with GCC 11.3 (but also seen it
with: numpy 1.22.3/gcc 11.2.1_p20220115; numpy 1.21.1/gcc 10.3.0).

I've minimised a reproducer (attached) and can reproduce it myself:
```
$ cat loops.i
UINT_sign_args, UINT_sign_steps;
*UINT_sign_ip1;
__attribute__((optimize("O3"))) UINT_sign() {
  char *op1 = UINT_sign_args;
  int os1 = UINT_sign_steps, i;
  for (; i; i++, op1 += os1) {
    unsigned in = *(unsigned *)UINT_sign_ip1;
    int *out = op1;
    *out = in > 0;
  }
}

$ sparc64-unknown-linux-gnu-gcc -O2 -pipe -mcpu=niagara4 -c loops.i
loops.i:1:1: warning: data definition has no type or storage class
    1 | UINT_sign_args, UINT_sign_steps;
      | ^~~~~~~~~~~~~~
loops.i:1:1: warning: type defaults to ‘int’ in declaration of ‘UINT_sign_args’
[-Wimplicit-int]
loops.i:1:17: warning: type defaults to ‘int’ in declaration of
‘UINT_sign_steps’ [-Wimplicit-int]
    1 | UINT_sign_args, UINT_sign_steps;
      |                 ^~~~~~~~~~~~~~~
loops.i:2:1: warning: data definition has no type or storage class
    2 | *UINT_sign_ip1;
      | ^
loops.i:2:2: warning: type defaults to ‘int’ in declaration of ‘UINT_sign_ip1’
[-Wimplicit-int]
    2 | *UINT_sign_ip1;
      |  ^~~~~~~~~~~~~
loops.i:3:33: warning: return type defaults to ‘int’ [-Wimplicit-int]
    3 | __attribute__((optimize("O3"))) UINT_sign() {
      |                                 ^~~~~~~~~
loops.i: In function ‘UINT_sign’:
loops.i:4:15: warning: initialization of ‘char *’ from ‘int’ makes pointer from
integer without a cast [-Wint-conversion]
    4 |   char *op1 = UINT_sign_args;
      |               ^~~~~~~~~~~~~~
loops.i:8:16: warning: initialization of ‘int *’ from incompatible pointer type
‘char *’ [-Wincompatible-pointer-types]
    8 |     int *out = op1;
      |                ^~~
during GIMPLE pass: isel
loops.i:3:33: internal compiler error: in gimple_expand_vec_cond_expr, at
gimple-isel.cc:267
    3 | __attribute__((optimize("O3"))) UINT_sign() {
      |                                 ^~~~~~~~~
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://bugs.gentoo.org/> for instructions.
```

Please let me know if you need further information or hardware access (but I've
reproduced this above using a cross-compiler without issues).

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug target/105573] ICE when building numpy on SPARC64
  2022-05-11 21:57 [Bug c++/105573] New: ICE when building numpy on SPARC64 sam at gentoo dot org
@ 2022-05-11 22:03 ` sam at gentoo dot org
  2022-05-11 22:16 ` mpolacek at gcc dot gnu.org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: sam at gentoo dot org @ 2022-05-11 22:03 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Sam James <sam at gentoo dot org> ---
It occurs with -mcpu=native or -mcpu=niagara4 but not if I drop that.

```
$ for t in param target; do cmd="gcc -Q -O2 --help=$t"; diff -U0 <(LANG=C $cmd)
<(LANG=C $cmd -mcpu=niagara4); done
--- /dev/fd/63  2022-05-11 15:01:56.915134318 -0700
+++ /dev/fd/62  2022-05-11 15:01:56.915134318 -0700
@@ -85,2 +85,2 @@
-  --param=l1-cache-size=               64
-  --param=l2-cache-size=               512
+  --param=l1-cache-size=               16
+  --param=l2-cache-size=               128
@@ -223 +223 @@
-  --param=simultaneous-prefetches=     3
+  --param=simultaneous-prefetches=     2
--- /dev/fd/63  2022-05-11 15:01:56.965136466 -0700
+++ /dev/fd/62  2022-05-11 15:01:56.975136897 -0700
@@ -6 +6 @@
-  -mcbcond                             [disabled]
+  -mcbcond                             [enabled]
@@ -8 +8 @@
-  -mcpu=                               v9
+  -mcpu=                               niagara4
@@ -16 +16 @@
-  -mfmaf                               [disabled]
+  -mfmaf                               [enabled]
@@ -27 +27 @@
-  -mpopc                               [disabled]
+  -mpopc                               [enabled]
@@ -36 +36 @@
-  -mtune=                              v9
+  -mtune=                              niagara4
@@ -41,3 +41,3 @@
-  -mvis                                [disabled]
-  -mvis2                               [disabled]
-  -mvis3                               [disabled]
+  -mvis                                [enabled]
+  -mvis2                               [enabled]
+  -mvis3                               [enabled]
```

It looks like -mvis3 is the trigger:
```
$ sparc64-unknown-linux-gnu-gcc -O2 -pipe -c loops.i -mvis3
[...]
during GIMPLE pass: isel
loops.i:3:33: internal compiler error: in gimple_expand_vec_cond_expr, at
gimple-isel.cc:267
    3 | __attribute__((optimize("O3"))) UINT_sign() {
      |                                 ^~~~~~~~~
0x5c4b2f internal_error(char const*, ...)
        ???:0
0x5bc583 fancy_abort(char const*, int, char const*)
        ???:0
[...]
```

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug target/105573] ICE when building numpy on SPARC64
  2022-05-11 21:57 [Bug c++/105573] New: ICE when building numpy on SPARC64 sam at gentoo dot org
  2022-05-11 22:03 ` [Bug target/105573] " sam at gentoo dot org
@ 2022-05-11 22:16 ` mpolacek at gcc dot gnu.org
  2022-05-11 22:19 ` pinskia at gcc dot gnu.org
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2022-05-11 22:16 UTC (permalink / raw)
  To: gcc-bugs

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

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mpolacek at gcc dot gnu.org

--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
This seems to have been fixed in GCC 12 -- I can reproduce with
--target=sparc64-unknown-linux-gnu with GCC 11, but not GCC 12.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug target/105573] ICE when building numpy on SPARC64
  2022-05-11 21:57 [Bug c++/105573] New: ICE when building numpy on SPARC64 sam at gentoo dot org
  2022-05-11 22:03 ` [Bug target/105573] " sam at gentoo dot org
  2022-05-11 22:16 ` mpolacek at gcc dot gnu.org
@ 2022-05-11 22:19 ` pinskia at gcc dot gnu.org
  2022-05-11 22:46 ` sam at gentoo dot org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-05-11 22:19 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Marek Polacek from comment #2)
> This seems to have been fixed in GCC 12 -- I can reproduce with
> --target=sparc64-unknown-linux-gnu with GCC 11, but not GCC 12.

If that is the case, it most likely been fixed by the patch which fixed PR
105312.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug target/105573] ICE when building numpy on SPARC64
  2022-05-11 21:57 [Bug c++/105573] New: ICE when building numpy on SPARC64 sam at gentoo dot org
                   ` (2 preceding siblings ...)
  2022-05-11 22:19 ` pinskia at gcc dot gnu.org
@ 2022-05-11 22:46 ` sam at gentoo dot org
  2022-05-11 22:52 ` pinskia at gcc dot gnu.org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: sam at gentoo dot org @ 2022-05-11 22:46 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Sam James <sam at gentoo dot org> ---
Confirmed: if I apply that patch, 11.3.0 works.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug target/105573] ICE when building numpy on SPARC64
  2022-05-11 21:57 [Bug c++/105573] New: ICE when building numpy on SPARC64 sam at gentoo dot org
                   ` (3 preceding siblings ...)
  2022-05-11 22:46 ` sam at gentoo dot org
@ 2022-05-11 22:52 ` pinskia at gcc dot gnu.org
  2022-05-12 11:34 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-05-11 22:52 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Depends on|                            |105312

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
We should commit the testcase and then close it as a dup of bug 105312 then.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105312
[Bug 105312] [11 Regression] ICE in gimple_expand_vec_cond_expr on arm-linux
since r12-834-ga6eacbf1055520

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug target/105573] ICE when building numpy on SPARC64
  2022-05-11 21:57 [Bug c++/105573] New: ICE when building numpy on SPARC64 sam at gentoo dot org
                   ` (4 preceding siblings ...)
  2022-05-11 22:52 ` pinskia at gcc dot gnu.org
@ 2022-05-12 11:34 ` rguenth at gcc dot gnu.org
  2022-05-12 15:36 ` sam at gentoo dot org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-05-12 11:34 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |DUPLICATE

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
Doing the dup honor.

*** This bug has been marked as a duplicate of bug 105312 ***

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug target/105573] ICE when building numpy on SPARC64
  2022-05-11 21:57 [Bug c++/105573] New: ICE when building numpy on SPARC64 sam at gentoo dot org
                   ` (5 preceding siblings ...)
  2022-05-12 11:34 ` rguenth at gcc dot gnu.org
@ 2022-05-12 15:36 ` sam at gentoo dot org
  2022-05-19 14:06 ` rguenth at gcc dot gnu.org
  2023-04-25  6:21 ` cvs-commit at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: sam at gentoo dot org @ 2022-05-12 15:36 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Sam James <sam at gentoo dot org> ---
1. Could you consider the fix for backporting please to 11? It works for me
as-is.
2. Will the testcase be committed?

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug target/105573] ICE when building numpy on SPARC64
  2022-05-11 21:57 [Bug c++/105573] New: ICE when building numpy on SPARC64 sam at gentoo dot org
                   ` (6 preceding siblings ...)
  2022-05-12 15:36 ` sam at gentoo dot org
@ 2022-05-19 14:06 ` rguenth at gcc dot gnu.org
  2023-04-25  6:21 ` cvs-commit at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-05-19 14:06 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105573
Bug 105573 depends on bug 105312, which changed state.

Bug 105312 Summary: [11 Regression] ICE in gimple_expand_vec_cond_expr on arm-linux since r12-834-ga6eacbf1055520
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105312

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug target/105573] ICE when building numpy on SPARC64
  2022-05-11 21:57 [Bug c++/105573] New: ICE when building numpy on SPARC64 sam at gentoo dot org
                   ` (7 preceding siblings ...)
  2022-05-19 14:06 ` rguenth at gcc dot gnu.org
@ 2023-04-25  6:21 ` cvs-commit at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-04-25  6:21 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>:

https://gcc.gnu.org/g:a4916881b74c36c613a8a7abe040bb197ea8ba75

commit r14-210-ga4916881b74c36c613a8a7abe040bb197ea8ba75
Author: Sam James <sam@gentoo.org>
Date:   Tue Apr 25 08:20:29 2023 +0200

    [PATCH v2] testsuite: Add testcase for sparc ICE [PR105573]

    r11-10018-g33914983cf3734c2f8079963ba49fcc117499ef3 fixed PR105312 and
added
    a test case for target/arm but the duplicate PR105573 has a test case for
    target/sparc that was uncommitted until now.

    2023-04-21  Sam James   <sam@gentoo.org>

            PR tree-optimization/105312
            PR target/105573
    gcc/testsuite/
            * gcc.target/sparc/pr105573.c: New test.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-04-25  6:21 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-11 21:57 [Bug c++/105573] New: ICE when building numpy on SPARC64 sam at gentoo dot org
2022-05-11 22:03 ` [Bug target/105573] " sam at gentoo dot org
2022-05-11 22:16 ` mpolacek at gcc dot gnu.org
2022-05-11 22:19 ` pinskia at gcc dot gnu.org
2022-05-11 22:46 ` sam at gentoo dot org
2022-05-11 22:52 ` pinskia at gcc dot gnu.org
2022-05-12 11:34 ` rguenth at gcc dot gnu.org
2022-05-12 15:36 ` sam at gentoo dot org
2022-05-19 14:06 ` rguenth at gcc dot gnu.org
2023-04-25  6:21 ` cvs-commit 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).