public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/15482] New: can't find a register in class `GENERAL_REGS' while reloading `asm'
@ 2004-05-17 12:31 pbrook at gcc dot gnu dot org
  2004-05-17 13:07 ` [Bug rtl-optimization/15482] " pbrook at gcc dot gnu dot org
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: pbrook at gcc dot gnu dot org @ 2004-05-17 12:31 UTC (permalink / raw)
  To: gcc-bugs

Compiling the following code with arm-none-elf-gcc -O2 -fno-apcs-frame gives  
"can't find a register in class `GENERAL_REGS' while reloading `asm'"  
  
void bar(int, int, int, int);  
int x;  
int foo (int a1, int a2, int a3)  
{  
  int b;  
  __asm volatile("mov %0, #0":"=r" (b)::  
  /* Clobber everything except the first 3 argument registers.  */  
      , "r3", "r4", "r5", "r6", "r7"  
      , "r8", "r9", "sl","ip", "lr", "fp");  
  x = b;  
  bar(a1, a2, a3);  
}  
  
Similar examples can probably be constructed on other targets that pass  
function args in registers.

-- 
           Summary: can't find a register in class `GENERAL_REGS' while
                    reloading `asm'
           Product: gcc
           Version: tree-ssa
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P2
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pbrook at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: arm-none-elf


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15482


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

* [Bug rtl-optimization/15482] can't find a register in class `GENERAL_REGS' while reloading `asm'
  2004-05-17 12:31 [Bug rtl-optimization/15482] New: can't find a register in class `GENERAL_REGS' while reloading `asm' pbrook at gcc dot gnu dot org
@ 2004-05-17 13:07 ` pbrook at gcc dot gnu dot org
  2004-05-17 13:23 ` pinskia at gcc dot gnu dot org
  2004-05-17 13:26 ` pbrook at gcc dot gnu dot org
  2 siblings, 0 replies; 7+ messages in thread
From: pbrook at gcc dot gnu dot org @ 2004-05-17 13:07 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pbrook at gcc dot gnu dot org  2004-05-16 22:56 -------
Created an attachment (id=6314)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=6314&action=view)
powerpc testcase


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15482


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

* [Bug rtl-optimization/15482] can't find a register in class `GENERAL_REGS' while reloading `asm'
  2004-05-17 12:31 [Bug rtl-optimization/15482] New: can't find a register in class `GENERAL_REGS' while reloading `asm' pbrook at gcc dot gnu dot org
  2004-05-17 13:07 ` [Bug rtl-optimization/15482] " pbrook at gcc dot gnu dot org
@ 2004-05-17 13:23 ` pinskia at gcc dot gnu dot org
  2004-05-17 13:26 ` pbrook at gcc dot gnu dot org
  2 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-05-17 13:23 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-05-16 23:06 -------
Confirmed, it should store the arguments on the stack but for some reason they are not which causes 
the ICE.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2004-05-16 23:06:05
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15482


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

* [Bug rtl-optimization/15482] can't find a register in class `GENERAL_REGS' while reloading `asm'
  2004-05-17 12:31 [Bug rtl-optimization/15482] New: can't find a register in class `GENERAL_REGS' while reloading `asm' pbrook at gcc dot gnu dot org
  2004-05-17 13:07 ` [Bug rtl-optimization/15482] " pbrook at gcc dot gnu dot org
  2004-05-17 13:23 ` pinskia at gcc dot gnu dot org
@ 2004-05-17 13:26 ` pbrook at gcc dot gnu dot org
  2 siblings, 0 replies; 7+ messages in thread
From: pbrook at gcc dot gnu dot org @ 2004-05-17 13:26 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pbrook at gcc dot gnu dot org  2004-05-16 23:15 -------
Similar failure mode to this: 
http://gcc.gnu.org/ml/gcc-patches/2004-04/msg00427.html 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15482


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

* [Bug rtl-optimization/15482] can't find a register in class `GENERAL_REGS' while reloading `asm'
       [not found] <bug-15482-6527@http.gcc.gnu.org/bugzilla/>
  2008-01-11 10:14 ` dominiq at lps dot ens dot fr
  2008-02-12 21:12 ` ubizjak at gmail dot com
@ 2010-01-09 23:59 ` ramana at gcc dot gnu dot org
  2 siblings, 0 replies; 7+ messages in thread
From: ramana at gcc dot gnu dot org @ 2010-01-09 23:59 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from ramana at gcc dot gnu dot org  2010-01-09 23:59 -------
void bar(int, int, int, int);
Corrected testcase 

void bar (int, int , int);

int x;
int foo (int a1, int a2, int a3)
{
  int b;
  __asm volatile("mov %0, #0":"=r" (b)::
                 "r3", "r4", "r5", "r6", "r7" , "r8", "r9", "sl","ip", "lr",
"fp");
  x = b;
  bar(a1, a2, a3);
}

Reconfirmed with trunk as on today


-- 

ramana at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |4.4.2 4.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15482


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

* [Bug rtl-optimization/15482] can't find a register in class `GENERAL_REGS' while reloading `asm'
       [not found] <bug-15482-6527@http.gcc.gnu.org/bugzilla/>
  2008-01-11 10:14 ` dominiq at lps dot ens dot fr
@ 2008-02-12 21:12 ` ubizjak at gmail dot com
  2010-01-09 23:59 ` ramana at gcc dot gnu dot org
  2 siblings, 0 replies; 7+ messages in thread
From: ubizjak at gmail dot com @ 2008-02-12 21:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from ubizjak at gmail dot com  2008-02-12 21:11 -------
(In reply to comment #4)
> I see the same problem at any level of optimization I have tried on
> i686-apple-darwin9 for the test case gcc.target/i386/asm-3.c:
> 
> [ibook-dhum] f90/bug% /opt/gcc/gcc4.3w/bin/gcc -O0
> /opt/gcc/_gcc_clean/gcc/testsuite/gcc.target/i386/asm-3.c
> /opt/gcc/_gcc_clean/gcc/testsuite/gcc.target/i386/asm-3.c: In function 'main':
> /opt/gcc/_gcc_clean/gcc/testsuite/gcc.target/i386/asm-3.c:19: error: can't find
> a register in class 'GENERAL_REGS' while reloading 'asm'
> /opt/gcc/_gcc_clean/gcc/testsuite/gcc.target/i386/asm-3.c:19: error: 'asm'
> operand has impossible constraints
> 
> The failure was present for rev. 130218 (see
> http://gcc.gnu.org/ml/gcc-testresults/2007-11/msg00861.html).
> 

This test can't run on 32bit x86 PIC targets due to register starvation.
dg-skip-if directive was fixed to include all PIC targets with !nonpic target
selector.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15482


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

* [Bug rtl-optimization/15482] can't find a register in class `GENERAL_REGS' while reloading `asm'
       [not found] <bug-15482-6527@http.gcc.gnu.org/bugzilla/>
@ 2008-01-11 10:14 ` dominiq at lps dot ens dot fr
  2008-02-12 21:12 ` ubizjak at gmail dot com
  2010-01-09 23:59 ` ramana at gcc dot gnu dot org
  2 siblings, 0 replies; 7+ messages in thread
From: dominiq at lps dot ens dot fr @ 2008-01-11 10:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from dominiq at lps dot ens dot fr  2008-01-11 09:35 -------
I see the same problem at any level of optimization I have tried on
i686-apple-darwin9 for the test case gcc.target/i386/asm-3.c:

[ibook-dhum] f90/bug% /opt/gcc/gcc4.3w/bin/gcc -O0
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.target/i386/asm-3.c
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.target/i386/asm-3.c: In function 'main':
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.target/i386/asm-3.c:19: error: can't find
a register in class 'GENERAL_REGS' while reloading 'asm'
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.target/i386/asm-3.c:19: error: 'asm'
operand has impossible constraints

The failure was present for rev. 130218 (see
http://gcc.gnu.org/ml/gcc-testresults/2007-11/msg00861.html).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15482


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

end of thread, other threads:[~2010-01-09 23:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-05-17 12:31 [Bug rtl-optimization/15482] New: can't find a register in class `GENERAL_REGS' while reloading `asm' pbrook at gcc dot gnu dot org
2004-05-17 13:07 ` [Bug rtl-optimization/15482] " pbrook at gcc dot gnu dot org
2004-05-17 13:23 ` pinskia at gcc dot gnu dot org
2004-05-17 13:26 ` pbrook at gcc dot gnu dot org
     [not found] <bug-15482-6527@http.gcc.gnu.org/bugzilla/>
2008-01-11 10:14 ` dominiq at lps dot ens dot fr
2008-02-12 21:12 ` ubizjak at gmail dot com
2010-01-09 23:59 ` ramana at gcc dot gnu dot 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).