public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/99781] New: [11 Regression] ICE in partial_subreg_p, at rtl.h:3144
@ 2021-03-26  2:43 asolokha at gmx dot com
  2021-03-26  9:02 ` [Bug target/99781] " rguenth at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: asolokha at gmx dot com @ 2021-03-26  2:43 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 99781
           Summary: [11 Regression] ICE in partial_subreg_p, at rtl.h:3144
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: aarch64-linux-gnu

g++-11.0.1-alpha20210321 snapshot (g:fc24ea2374259d401a46ce3526688b7e79d4cc13)
ICEs when compiling gcc/testsuite/g++.target/aarch64/sve/dup_sel_2.C w/
-march=armv8-a+sve:

% aarch64-linux-gnu-g++-11.0.1 -march=armv8-a+sve -c
gcc/testsuite/g++.target/aarch64/sve/dup_sel_2.C
during RTL pass: reload
gcc/testsuite/g++.target/aarch64/sve/dup_sel_2.C: In function 'void
foo(int32_t)':
gcc/testsuite/g++.target/aarch64/sve/dup_sel_2.C:18:1: internal compiler error:
in partial_subreg_p, at rtl.h:3144
   18 | }
      | ^
0x1042d61 partial_subreg_p(machine_mode, machine_mode)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210321/work/gcc-11-20210321/gcc/rtl.h:3144
0x1042d61 partial_subreg_p(machine_mode, machine_mode)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210321/work/gcc-11-20210321/gcc/rtl.h:3138
0x1042d61 process_bb_lives
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210321/work/gcc-11-20210321/gcc/lra-lives.c:744
0x104488c lra_create_live_ranges_1
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210321/work/gcc-11-20210321/gcc/lra-lives.c:1394
0x10452df lra_create_live_ranges(bool, bool)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210321/work/gcc-11-20210321/gcc/lra-lives.c:1463
0x1023aeb lra(_IO_FILE*)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210321/work/gcc-11-20210321/gcc/lra.c:2376
0xfd9ba4 do_reload
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210321/work/gcc-11-20210321/gcc/ira.c:5834
0xfd9ba4 execute
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210321/work/gcc-11-20210321/gcc/ira.c:6020

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

* [Bug target/99781] [11 Regression] ICE in partial_subreg_p, at rtl.h:3144
  2021-03-26  2:43 [Bug target/99781] New: [11 Regression] ICE in partial_subreg_p, at rtl.h:3144 asolokha at gmx dot com
@ 2021-03-26  9:02 ` rguenth at gcc dot gnu.org
  2021-03-26 18:27 ` jakub at gcc dot gnu.org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-03-26  9:02 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |11.0
           Priority|P3                          |P1

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

* [Bug target/99781] [11 Regression] ICE in partial_subreg_p, at rtl.h:3144
  2021-03-26  2:43 [Bug target/99781] New: [11 Regression] ICE in partial_subreg_p, at rtl.h:3144 asolokha at gmx dot com
  2021-03-26  9:02 ` [Bug target/99781] " rguenth at gcc dot gnu.org
@ 2021-03-26 18:27 ` jakub at gcc dot gnu.org
  2021-03-29  5:10 ` asolokha at gmx dot com
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-03-26 18:27 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

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

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
ICEs since r8-6032-g43cacb12fc859b671464b63668794158974b2a34 when SVE support
has been added, so doesn't look like a regression to me, as before that it
would not accept that option:
invalid feature modifier in ‘-march=armv8-a+sve’

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

* [Bug target/99781] [11 Regression] ICE in partial_subreg_p, at rtl.h:3144
  2021-03-26  2:43 [Bug target/99781] New: [11 Regression] ICE in partial_subreg_p, at rtl.h:3144 asolokha at gmx dot com
  2021-03-26  9:02 ` [Bug target/99781] " rguenth at gcc dot gnu.org
  2021-03-26 18:27 ` jakub at gcc dot gnu.org
@ 2021-03-29  5:10 ` asolokha at gmx dot com
  2021-03-30 10:57 ` jakub at gcc dot gnu.org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: asolokha at gmx dot com @ 2021-03-29  5:10 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Arseny Solokha <asolokha at gmx dot com> ---
(In reply to Jakub Jelinek from comment #1)
> ICEs since r8-6032-g43cacb12fc859b671464b63668794158974b2a34 when SVE
> support has been added, so doesn't look like a regression to me, as before
> that it would not accept that option:
> invalid feature modifier in ‘-march=armv8-a+sve’

I can remove the regression marker, but I cannot change the PR priority.

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

* [Bug target/99781] [11 Regression] ICE in partial_subreg_p, at rtl.h:3144
  2021-03-26  2:43 [Bug target/99781] New: [11 Regression] ICE in partial_subreg_p, at rtl.h:3144 asolokha at gmx dot com
                   ` (2 preceding siblings ...)
  2021-03-29  5:10 ` asolokha at gmx dot com
@ 2021-03-30 10:57 ` jakub at gcc dot gnu.org
  2021-03-30 14:31 ` rsandifo at gcc dot gnu.org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-03-30 10:57 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rsandifo at gcc dot gnu.org,
                   |                            |vmakarov at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Seems in *.ira dump the v1 (33) register is only used in OImode, so
reg->biggest_mode being E_OImode makes sense.
But for some reason LRA has added
     (expr_list:REG_DEAD (reg:VNx8BF 33 v1)
and the code is unhappy to see partial_subreg_p called for unordered modes.

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

* [Bug target/99781] [11 Regression] ICE in partial_subreg_p, at rtl.h:3144
  2021-03-26  2:43 [Bug target/99781] New: [11 Regression] ICE in partial_subreg_p, at rtl.h:3144 asolokha at gmx dot com
                   ` (3 preceding siblings ...)
  2021-03-30 10:57 ` jakub at gcc dot gnu.org
@ 2021-03-30 14:31 ` rsandifo at gcc dot gnu.org
  2021-03-30 19:31 ` vmakarov at gcc dot gnu.org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rsandifo at gcc dot gnu.org @ 2021-03-30 14:31 UTC (permalink / raw)
  To: gcc-bugs

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

rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2021-03-30
             Status|UNCONFIRMED                 |NEW

--- Comment #4 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> ---
Confirmed.  The REG_NOTE itself is easy to fix (I have a patch),
but then we run into similar problems because of the (correct-looking)
code added for PR77761.  Not sure what the best way out of this is.

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

* [Bug target/99781] [11 Regression] ICE in partial_subreg_p, at rtl.h:3144
  2021-03-26  2:43 [Bug target/99781] New: [11 Regression] ICE in partial_subreg_p, at rtl.h:3144 asolokha at gmx dot com
                   ` (4 preceding siblings ...)
  2021-03-30 14:31 ` rsandifo at gcc dot gnu.org
@ 2021-03-30 19:31 ` vmakarov at gcc dot gnu.org
  2021-04-06 13:22 ` cvs-commit at gcc dot gnu.org
  2021-04-06 16:30 ` jakub at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: vmakarov at gcc dot gnu.org @ 2021-03-30 19:31 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
I've reproduced it too and started to work on it. I hope the fix will be ready
this week.

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

* [Bug target/99781] [11 Regression] ICE in partial_subreg_p, at rtl.h:3144
  2021-03-26  2:43 [Bug target/99781] New: [11 Regression] ICE in partial_subreg_p, at rtl.h:3144 asolokha at gmx dot com
                   ` (5 preceding siblings ...)
  2021-03-30 19:31 ` vmakarov at gcc dot gnu.org
@ 2021-04-06 13:22 ` cvs-commit at gcc dot gnu.org
  2021-04-06 16:30 ` jakub at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-04-06 13:22 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Vladimir Makarov <vmakarov@gcc.gnu.org>:

https://gcc.gnu.org/g:4bbd51afaa4a3c116fb538d912b35e126be80b41

commit r11-8008-g4bbd51afaa4a3c116fb538d912b35e126be80b41
Author: Vladimir N. Makarov <vmakarov@redhat.com>
Date:   Wed Mar 31 13:26:30 2021 -0400

    [PR99781] Update correctly reg notes in LRA for multi-registers and set up
biggest mode safely

    The PR is about incorrect use of partial_subreg_p for unordered modes.
    I found 2 places of dangerous comparing unordered modes in LRA.  The
    patch removes dangerous use of paradoxical_subreg_p and
    partial_subreg_p in split_reg and process_bb_lives.  The both places
    used them to solve PR77761 long time ago.  But the problem was also
    fixed by later patches too (if there is no hard reg explicitly, it
    have VOIDmode and we use natural mode to split hard reg live,
    otherwise we use the biggest explicitly used mode for hard reg
    splitting).  The PR also says about inaccurate update of reg notes in
    LRA.  It happens for reg notes which refer for multi-registers.  The
    patch also fixes this issue.

    gcc/ChangeLog:

            PR target/99781
            * lra-constraints.c (split_reg): Don't check paradoxical_subreg_p.
            * lra-lives.c (clear_sparseset_regnos, regnos_in_sparseset_p): New
            functions.
            (process_bb_lives): Don't update biggest mode of hard reg for
            implicit in multi-register group.  Use the new functions for
            updating dead_set and unused_set by register notes.

    gcc/testsuite/ChangeLog:

            PR target/99781
            * g++.target/aarch64/sve/pr99781.C: New.

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

* [Bug target/99781] [11 Regression] ICE in partial_subreg_p, at rtl.h:3144
  2021-03-26  2:43 [Bug target/99781] New: [11 Regression] ICE in partial_subreg_p, at rtl.h:3144 asolokha at gmx dot com
                   ` (6 preceding siblings ...)
  2021-04-06 13:22 ` cvs-commit at gcc dot gnu.org
@ 2021-04-06 16:30 ` jakub at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-04-06 16:30 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

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

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
So should be fixed now.

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

end of thread, other threads:[~2021-04-06 16:30 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-26  2:43 [Bug target/99781] New: [11 Regression] ICE in partial_subreg_p, at rtl.h:3144 asolokha at gmx dot com
2021-03-26  9:02 ` [Bug target/99781] " rguenth at gcc dot gnu.org
2021-03-26 18:27 ` jakub at gcc dot gnu.org
2021-03-29  5:10 ` asolokha at gmx dot com
2021-03-30 10:57 ` jakub at gcc dot gnu.org
2021-03-30 14:31 ` rsandifo at gcc dot gnu.org
2021-03-30 19:31 ` vmakarov at gcc dot gnu.org
2021-04-06 13:22 ` cvs-commit at gcc dot gnu.org
2021-04-06 16:30 ` jakub 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).