------- 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

Reply via email to