public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/30919] [4.1 regression] unable to find a register to spill in class 'CREG'
  2007-02-22  0:35 [Bug target/30919] New: [4.1 regression] unable to find a register to spill in class 'CREG' debian-gcc at lists dot debian dot org
@ 2007-02-22  0:35 ` debian-gcc at lists dot debian dot org
  2007-02-22  9:41 ` rguenth at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: debian-gcc at lists dot debian dot org @ 2007-02-22  0:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from debian-gcc at lists dot debian dot org  2007-02-22 00:35 -------
Created an attachment (id=13089)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13089&action=view)
preprocessed source


-- 


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


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

* [Bug target/30919]  New: [4.1 regression] unable to find a register to spill in class 'CREG'
@ 2007-02-22  0:35 debian-gcc at lists dot debian dot org
  2007-02-22  0:35 ` [Bug target/30919] " debian-gcc at lists dot debian dot org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: debian-gcc at lists dot debian dot org @ 2007-02-22  0:35 UTC (permalink / raw)
  To: gcc-bugs

seen with the final 4.1.2 release; taken from the OOo 2.1 sources, which built
fine with previous 4.1 versions.

test case fails with -O0, works with -O1 and -O2

  Matthias

In function 'void callVirtualMethod(void*, sal_uInt32, void*,
typelib_TypeDescription*, bool, sal_uInt64*, sal_uInt32, sal_uInt64*,
sal_uInt32, double*, sal_uInt32)':
/home/doko/gcj/openoffice.org-2.1/ooo-build/build/current/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:198:
error: unable to find a register to spill in class 'CREG'
/home/doko/gcj/openoffice.org-2.1/ooo-build/build/current/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:198:
error: this is the insn:
(insn 68 67 71 6 (parallel [
            (set (reg:DI 0 ax [orig:136 D.31215 ] [136])
                (const_int 0 [0x0]))
            (set (reg/f:DI 40 r11 [orig:134 stack ] [134])
                (plus:DI (reg/f:DI 40 r11 [orig:134 stack ] [134])
                    (reg:DI 0 ax [orig:136 D.31215 ] [136])))
            (set (reg/f:DI 39 r10 [orig:135 pStack ] [135])
                (plus:DI (reg/f:DI 39 r10 [orig:135 pStack ] [135])
                    (reg:DI 0 ax [orig:136 D.31215 ] [136])))
            (set (mem:BLK (reg/f:DI 40 r11 [orig:134 stack ] [134]) [0 A64])
                (mem:BLK (reg/f:DI 39 r10 [orig:135 pStack ] [135]) [0 A64]))
            (use (reg:DI 0 ax [orig:136 D.31215 ] [136]))
            (use (reg:SI 19 dirflag))
        ]) 707 {*rep_movqi_rex64} (nil)
    (expr_list:REG_UNUSED (reg/f:DI 39 r10 [orig:135 pStack ] [135])
        (expr_list:REG_UNUSED (reg/f:DI 40 r11 [orig:134 stack ] [134])
            (expr_list:REG_UNUSED (reg:DI 0 ax [orig:136 D.31215 ] [136])
                (expr_list:REG_DEAD (reg:SI 19 dirflag)
                    (expr_list:REG_UNUSED (reg/f:DI 39 r10 [orig:135 pStack ]
[135])
                        (expr_list:REG_UNUSED (reg/f:DI 40 r11 [orig:134 stack
] [134])
                            (expr_list:REG_UNUSED (reg:DI 0 ax [orig:136
D.31215 ] [136])
                                (nil)))))))))
/home/doko/gcj/openoffice.org-2.1/ooo-build/build/current/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:198:
confused by earlier errors, bailing out


-- 
           Summary: [4.1 regression] unable to find a register to spill in
                    class 'CREG'
           Product: gcc
           Version: 4.1.2
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: debian-gcc at lists dot debian dot org
GCC target triplet: x86_64-linux-gnu


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


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

* [Bug target/30919] [4.1 regression] unable to find a register to spill in class 'CREG'
  2007-02-22  0:35 [Bug target/30919] New: [4.1 regression] unable to find a register to spill in class 'CREG' debian-gcc at lists dot debian dot org
  2007-02-22  0:35 ` [Bug target/30919] " debian-gcc at lists dot debian dot org
@ 2007-02-22  9:41 ` rguenth at gcc dot gnu dot org
  2007-02-22 11:04 ` rguenth at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-02-22  9:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from rguenth at gcc dot gnu dot org  2007-02-22 09:41 -------
Reducing.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |4.1.1


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


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

* [Bug target/30919] [4.1 regression] unable to find a register to spill in class 'CREG'
  2007-02-22  0:35 [Bug target/30919] New: [4.1 regression] unable to find a register to spill in class 'CREG' debian-gcc at lists dot debian dot org
  2007-02-22  0:35 ` [Bug target/30919] " debian-gcc at lists dot debian dot org
  2007-02-22  9:41 ` rguenth at gcc dot gnu dot org
@ 2007-02-22 11:04 ` rguenth at gcc dot gnu dot org
  2007-02-22 11:25 ` ebotcazou at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-02-22 11:04 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from rguenth at gcc dot gnu dot org  2007-02-22 11:04 -------
Confirmed.  Whoever wrote that code should be ....

typedef long unsigned int size_t;
typedef signed int sal_Int32;
typedef unsigned int sal_uInt32;
typedef unsigned long int sal_uInt64;
extern "C" void *memcpy (void *__restrict __dest, __const void *__restrict
__src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2)));
void callVirtualMethod(void * pThis, sal_uInt64 *pStack, sal_uInt32 nStack)
{
    sal_uInt64 *stack = (sal_uInt64 *) __builtin_alloca( nStack * 8 );
    memcpy( stack, pStack, nStack * 8 );
    register sal_uInt64 a0 asm("rdi");
    register sal_uInt64 a1 asm("rsi");
    register sal_uInt64 a2 asm("rdx");
    register sal_uInt64 a3 asm("rcx");
    register sal_uInt64 a4 asm("r8");
    register sal_uInt64 a5 asm("r9");
    sal_uInt64 pMethod = *((sal_uInt64 *)pThis);
    typedef struct {} ReturnValue;
    typedef ReturnValue (* FunctionCall )( sal_uInt64, sal_uInt64, sal_uInt64,
sal_uInt64, sal_uInt64, sal_uInt64 );
    ReturnValue aRet = ( ( FunctionCall ) pMethod )( a0, a1, a2, a3, a4, a5 );
}


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |ice-on-valid-code
   Last reconfirmed|0000-00-00 00:00:00         |2007-02-22 11:04:19
               date|                            |


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


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

* [Bug target/30919] [4.1 regression] unable to find a register to spill in class 'CREG'
  2007-02-22  0:35 [Bug target/30919] New: [4.1 regression] unable to find a register to spill in class 'CREG' debian-gcc at lists dot debian dot org
                   ` (2 preceding siblings ...)
  2007-02-22 11:04 ` rguenth at gcc dot gnu dot org
@ 2007-02-22 11:25 ` ebotcazou at gcc dot gnu dot org
  2007-09-26 19:10 ` pinskia at gcc dot gnu dot org
  2008-07-04 16:02 ` jsm28 at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2007-02-22 11:25 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from ebotcazou at gcc dot gnu dot org  2007-02-22 11:25 -------
> Confirmed.  Whoever wrote that code should be ....

You meant "whoever wrote a compiler which accepts that code...", right. :-)


-- 

ebotcazou at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ebotcazou at gcc dot gnu dot
                   |                            |org


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


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

* [Bug target/30919] [4.1 regression] unable to find a register to spill in class 'CREG'
  2007-02-22  0:35 [Bug target/30919] New: [4.1 regression] unable to find a register to spill in class 'CREG' debian-gcc at lists dot debian dot org
                   ` (3 preceding siblings ...)
  2007-02-22 11:25 ` ebotcazou at gcc dot gnu dot org
@ 2007-09-26 19:10 ` pinskia at gcc dot gnu dot org
  2008-07-04 16:02 ` jsm28 at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-09-26 19:10 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.1.3


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


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

* [Bug target/30919] [4.1 regression] unable to find a register to spill in class 'CREG'
  2007-02-22  0:35 [Bug target/30919] New: [4.1 regression] unable to find a register to spill in class 'CREG' debian-gcc at lists dot debian dot org
                   ` (4 preceding siblings ...)
  2007-09-26 19:10 ` pinskia at gcc dot gnu dot org
@ 2008-07-04 16:02 ` jsm28 at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2008-07-04 16:02 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from jsm28 at gcc dot gnu dot org  2008-07-04 16:01 -------
Closing 4.1 branch, please reopen and mark accordingly if still present with
later versions.


-- 

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
      Known to fail|4.1.2                       |4.1.2 4.1.3
      Known to work|4.1.1                       |4.1.1 4.2.0
         Resolution|                            |FIXED
   Target Milestone|4.1.3                       |4.2.0


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


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

end of thread, other threads:[~2008-07-04 16:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-22  0:35 [Bug target/30919] New: [4.1 regression] unable to find a register to spill in class 'CREG' debian-gcc at lists dot debian dot org
2007-02-22  0:35 ` [Bug target/30919] " debian-gcc at lists dot debian dot org
2007-02-22  9:41 ` rguenth at gcc dot gnu dot org
2007-02-22 11:04 ` rguenth at gcc dot gnu dot org
2007-02-22 11:25 ` ebotcazou at gcc dot gnu dot org
2007-09-26 19:10 ` pinskia at gcc dot gnu dot org
2008-07-04 16:02 ` jsm28 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).