This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/38900] ICE: unable to find a register to spill



------- Comment #3 from fxcoudert at gcc dot gnu dot org  2009-05-13 20:04 -------
Simpler testcase, confirmed on native i386-pc-mingw32 (trunk, SVN rev. 147441):

$ cat a.c
void __attribute__((dllimport,fastcall)) h(int);

void f()
{
  h(2);
  h(1);
}

$ gcc -S -O1 a.c -foptimize-sibling-calls
a.c: In function 'f':
a.c:7: error: unable to find a register to spill in class 'CREG'
a.c:7: error: this is the insn:
(call_insn/j 10 8 11 2 a.c:6 (call (mem:QI (reg/f:SI 3 bx [58]) [0 S1 A8])
        (const_int 0 [0x0])) 468 {*sibcall_1} (expr_list:REG_DEAD (reg/f:SI 3
bx [58])
        (expr_list:REG_DEAD (reg:SI 2 cx)
            (nil)))
    (expr_list:REG_DEP_TRUE (use (reg:SI 2 cx))
        (nil)))
a.c:7: internal compiler error: in spill_failure, at reload1.c:2094


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
  GCC build triplet|i686-pc-linux-gnu           |
   GCC host triplet|i686-pc-linux-gnu           |
   Last reconfirmed|0000-00-00 00:00:00         |2009-05-13 20:04:31
               date|                            |


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]