public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/94902] New: [10 Regression] internal compiler error: output_operand: invalid use of register 'frame'
@ 2020-05-01 13:27 anbu1024.me at gmail dot com
  2020-05-04  6:23 ` [Bug c/94902] " rguenth at gcc dot gnu.org
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: anbu1024.me at gmail dot com @ 2020-05-01 13:27 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 94902
           Summary: [10 Regression] internal compiler error:
                    output_operand: invalid use of register 'frame'
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: anbu1024.me at gmail dot com
  Target Milestone: ---

$ cat reduced.c 

void foo ( void ) { 
        register int x asm ( "19" ) ; 
        x -- ; 
}

--------------------------------------------------------------------------------

$ gcc-10 --version
gcc (GCC) 10.0.1 20200419 (experimental)
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

--------------------------------------------------------------------------------

$ gcc-10 reduced.c 
reduced.c: In function ‘foo’:
reduced.c:5:1: error: frame cannot be used in ‘asm’ here
    5 | }
      | ^
during RTL pass: final
reduced.c:5:1: internal compiler error: output_operand: invalid use of register
'frame'
0xa58bb6 output_operand_lossage(char const*, ...)
        ../../gcc-10-20200419/gcc/final.c:3609
0xa58ee1 output_operand(rtx_def*, int)
        ../../gcc-10-20200419/gcc/final.c:4051
0xa59a3d output_asm_insn(char const*, rtx_def**)
        ../../gcc-10-20200419/gcc/final.c:3963
0xa5d3e7 final_scan_insn_1
        ../../gcc-10-20200419/gcc/final.c:3106
0xa5d6ab final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
        ../../gcc-10-20200419/gcc/final.c:3152
0xa5d7b6 final_1
        ../../gcc-10-20200419/gcc/final.c:2020
0xa5e374 rest_of_handle_final
        ../../gcc-10-20200419/gcc/final.c:4658
0xa5e374 execute
        ../../gcc-10-20200419/gcc/final.c:4736
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.

--------------------------------------------------------------------------------

gcc-9 --version
gcc (GCC) 9.3.1 20200425
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

--------------------------------------------------------------------------------

$ gcc-9 reduced.c 
reduced.c: In function ‘foo’:
reduced.c:5:1: error: frame cannot be used in asm here
    5 | }
      | ^
reduced.c:5: confused by earlier errors, bailing out

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

* [Bug c/94902] internal compiler error: output_operand: invalid use of register 'frame'
  2020-05-01 13:27 [Bug c/94902] New: [10 Regression] internal compiler error: output_operand: invalid use of register 'frame' anbu1024.me at gmail dot com
@ 2020-05-04  6:23 ` rguenth at gcc dot gnu.org
  2020-05-04  6:34 ` asolokha at gmx dot com
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-05-04  6:23 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[10 Regression] internal    |internal compiler error:
                   |compiler error:             |output_operand: invalid use
                   |output_operand: invalid use |of register 'frame'
                   |of register 'frame'         |
           Keywords|                            |error-recovery,
                   |                            |ice-on-invalid-code

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Please fill in the target architecture (powerpc?)

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

* [Bug c/94902] internal compiler error: output_operand: invalid use of register 'frame'
  2020-05-01 13:27 [Bug c/94902] New: [10 Regression] internal compiler error: output_operand: invalid use of register 'frame' anbu1024.me at gmail dot com
  2020-05-04  6:23 ` [Bug c/94902] " rguenth at gcc dot gnu.org
@ 2020-05-04  6:34 ` asolokha at gmx dot com
  2020-05-04  7:12 ` ubizjak at gmail dot com
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: asolokha at gmx dot com @ 2020-05-04  6:34 UTC (permalink / raw)
  To: gcc-bugs

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

Arseny Solokha <asolokha at gmx dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |asolokha at gmx dot com

--- Comment #2 from Arseny Solokha <asolokha at gmx dot com> ---
I can reproduce it on x86_64, and it seems to be a [9/10/11 Regression].

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

* [Bug c/94902] internal compiler error: output_operand: invalid use of register 'frame'
  2020-05-01 13:27 [Bug c/94902] New: [10 Regression] internal compiler error: output_operand: invalid use of register 'frame' anbu1024.me at gmail dot com
  2020-05-04  6:23 ` [Bug c/94902] " rguenth at gcc dot gnu.org
  2020-05-04  6:34 ` asolokha at gmx dot com
@ 2020-05-04  7:12 ` ubizjak at gmail dot com
  2020-05-04  7:53 ` jakub at gcc dot gnu.org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: ubizjak at gmail dot com @ 2020-05-04  7:12 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Uroš Bizjak <ubizjak at gmail dot com> ---
This is the third time I have seen this type of bugreport, and I really don't
know what is so magical on number "19" that everybody wants the register by
this number.

If this number crashes the compiler, then just don't use it.

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

* [Bug c/94902] internal compiler error: output_operand: invalid use of register 'frame'
  2020-05-01 13:27 [Bug c/94902] New: [10 Regression] internal compiler error: output_operand: invalid use of register 'frame' anbu1024.me at gmail dot com
                   ` (2 preceding siblings ...)
  2020-05-04  7:12 ` ubizjak at gmail dot com
@ 2020-05-04  7:53 ` jakub at gcc dot gnu.org
  2020-05-04  7:54 ` jakub at gcc dot gnu.org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-05-04  7:53 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Started to ICE with r9-3165-geaa17c21bac19e2abbcec9470e1537412a179909
Which just means you have to use "20" instead of "19" before that change and
then it ICEs all the way back to r105000 (oldest one I have on the bisect
seed).

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

* [Bug c/94902] internal compiler error: output_operand: invalid use of register 'frame'
  2020-05-01 13:27 [Bug c/94902] New: [10 Regression] internal compiler error: output_operand: invalid use of register 'frame' anbu1024.me at gmail dot com
                   ` (3 preceding siblings ...)
  2020-05-04  7:53 ` jakub at gcc dot gnu.org
@ 2020-05-04  7:54 ` jakub at gcc dot gnu.org
  2020-05-04  8:04 ` jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-05-04  7:54 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Or just if one uses "frame" instead of "19" or "20", it ICEs with all the
revisions.

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

* [Bug c/94902] internal compiler error: output_operand: invalid use of register 'frame'
  2020-05-01 13:27 [Bug c/94902] New: [10 Regression] internal compiler error: output_operand: invalid use of register 'frame' anbu1024.me at gmail dot com
                   ` (4 preceding siblings ...)
  2020-05-04  7:54 ` jakub at gcc dot gnu.org
@ 2020-05-04  8:04 ` jakub at gcc dot gnu.org
  2020-05-04  8:08 ` jakub at gcc dot gnu.org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-05-04  8:04 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
This is diagnosed in ira.c (ira_setup_eliminable_regset), but nothing is
actually changed in the IL.  I wonder if the RA shouldn't for the eliminable
registers that can't be eliminated couldn't delete the instructions or
something similar, so that we don't ICE during error-recovery later on.

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

* [Bug c/94902] internal compiler error: output_operand: invalid use of register 'frame'
  2020-05-01 13:27 [Bug c/94902] New: [10 Regression] internal compiler error: output_operand: invalid use of register 'frame' anbu1024.me at gmail dot com
                   ` (5 preceding siblings ...)
  2020-05-04  8:04 ` jakub at gcc dot gnu.org
@ 2020-05-04  8:08 ` jakub at gcc dot gnu.org
  2020-05-04  8:52 ` pinskia at gcc dot gnu.org
  2020-05-04  8:54 ` pinskia at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-05-04  8:08 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Or there are possible target ways, e.g. asm ("frame") would be rejected if that
register isn't in accessible_reg_set or operand_reg_set.  Now, I haven't
investigated if it doesn't have to be in both sets for what the register is
used internally.

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

* [Bug c/94902] internal compiler error: output_operand: invalid use of register 'frame'
  2020-05-01 13:27 [Bug c/94902] New: [10 Regression] internal compiler error: output_operand: invalid use of register 'frame' anbu1024.me at gmail dot com
                   ` (6 preceding siblings ...)
  2020-05-04  8:08 ` jakub at gcc dot gnu.org
@ 2020-05-04  8:52 ` pinskia at gcc dot gnu.org
  2020-05-04  8:54 ` pinskia at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu.org @ 2020-05-04  8:52 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Dup.

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

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

* [Bug c/94902] internal compiler error: output_operand: invalid use of register 'frame'
  2020-05-01 13:27 [Bug c/94902] New: [10 Regression] internal compiler error: output_operand: invalid use of register 'frame' anbu1024.me at gmail dot com
                   ` (7 preceding siblings ...)
  2020-05-04  8:52 ` pinskia at gcc dot gnu.org
@ 2020-05-04  8:54 ` pinskia at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu.org @ 2020-05-04  8:54 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #8)
> Dup.
> 
> *** This bug has been marked as a duplicate of bug 92469 ***

DUP. Only a DUP. It is DUP of his own bug.

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

end of thread, other threads:[~2020-05-04  8:54 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-01 13:27 [Bug c/94902] New: [10 Regression] internal compiler error: output_operand: invalid use of register 'frame' anbu1024.me at gmail dot com
2020-05-04  6:23 ` [Bug c/94902] " rguenth at gcc dot gnu.org
2020-05-04  6:34 ` asolokha at gmx dot com
2020-05-04  7:12 ` ubizjak at gmail dot com
2020-05-04  7:53 ` jakub at gcc dot gnu.org
2020-05-04  7:54 ` jakub at gcc dot gnu.org
2020-05-04  8:04 ` jakub at gcc dot gnu.org
2020-05-04  8:08 ` jakub at gcc dot gnu.org
2020-05-04  8:52 ` pinskia at gcc dot gnu.org
2020-05-04  8:54 ` 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).