public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/33791] x86 out of registers ICE with -fschedule-insns -march=core2
  2007-10-16  5:46 [Bug target/33791] New: x86 out of registers ICE with -fschedule-insns -march=core2 astrange at ithinksw dot com
@ 2007-10-16  5:46 ` astrange at ithinksw dot com
  2007-10-16  8:55 ` [Bug rtl-optimization/33791] [4.1/4.2/4.3 Regression] " rguenth at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: astrange at ithinksw dot com @ 2007-10-16  5:46 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from astrange at ithinksw dot com  2007-10-16 05:46 -------
Created an attachment (id=14358)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14358&action=view)
testcase


-- 


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


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

* [Bug target/33791]  New: x86 out of registers ICE with -fschedule-insns -march=core2
@ 2007-10-16  5:46 astrange at ithinksw dot com
  2007-10-16  5:46 ` [Bug target/33791] " astrange at ithinksw dot com
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: astrange at ithinksw dot com @ 2007-10-16  5:46 UTC (permalink / raw)
  To: gcc-bugs

> /usr/local/gcc43/bin/gcc -vUsing built-in specs.
Target: i386-apple-darwin8.10.1
Configured with: ../gcc/configure --prefix=/usr/local/gcc43 --with-arch=nocona
--with-tune=nocona --with-gmp=/sw --with-system-zlib
--enable-languages=c,c++,objc,obj-c++
Thread model: posix
gcc version 4.3.0 20071015 (experimental) (GCC) 

> /usr/local/gcc43/bin/gcc -O1 -fschedule-insns -march=core2 -S gcc-sched-ice-32.i
gcc-sched-ice-32.i: In function 'decode_init':
gcc-sched-ice-32.i:177: warning: assignment from incompatible pointer type
gcc-sched-ice-32.i: In function 'decode_nal_units':
gcc-sched-ice-32.i:332: warning: assignment from incompatible pointer type
gcc-sched-ice-32.i: In function 'hl_decode_mb_internal':
gcc-sched-ice-32.i:275: error: unable to find a register to spill in class
'GENERAL_REGS'
gcc-sched-ice-32.i:275: error: this is the insn:
(insn 222 221 232 26 gcc-sched-ice-32.i:183 (set (mem:DI (plus:SI (reg:SI 170)
                (reg/f:SI 169 [ <variable>.top_borders ])) [0 S8 A64])
        (reg:DI 172)) 88 {*movdi_2} (expr_list:REG_DEAD (reg:DI 172)
        (expr_list:REG_DEAD (reg:SI 170)
            (expr_list:REG_DEAD (reg/f:SI 169 [ <variable>.top_borders ])
                (nil)))))
gcc-sched-ice-32.i:275: internal compiler error: in spill_failure, at
reload1.c:2001
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

Delta-reduced so warnings don't mean anything.
The original (large) source has variants on the same error (different insns)
with and without -m64/no-pic/omit-frame-pointer.


-- 
           Summary: x86 out of registers ICE with -fschedule-insns -
                    march=core2
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: astrange at ithinksw dot com
 GCC build triplet: i386-apple-darwin8.10.1
  GCC host triplet: i386-apple-darwin8.10.1
GCC target triplet: i386-apple-darwin8.10.1


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


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

* [Bug rtl-optimization/33791] [4.1/4.2/4.3 Regression] x86 out of registers ICE with -fschedule-insns -march=core2
  2007-10-16  5:46 [Bug target/33791] New: x86 out of registers ICE with -fschedule-insns -march=core2 astrange at ithinksw dot com
  2007-10-16  5:46 ` [Bug target/33791] " astrange at ithinksw dot com
@ 2007-10-16  8:55 ` rguenth at gcc dot gnu dot org
  2007-10-16  9:18 ` ebotcazou at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-10-16  8:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from rguenth at gcc dot gnu dot org  2007-10-16 08:55 -------
Confirmed.  Reduced testcase:

typedef unsigned char uint8_t;
typedef unsigned long long uint64_t;
typedef struct SPS {
        uint8_t(*top_borders[2])[16 + 2 * 8];
        int             neighbor_transform_size;
} H264Context;
static void fill_caches(H264Context * h, int mb_type, int for_deblock)
{
  h->neighbor_transform_size = 0;
}
static inline void backup_pair_border(H264Context * h, uint8_t * src_y, int
linesize)
{
  *(uint64_t *) (h->top_borders[1][linesize]) = *(uint64_t *) (src_y +
linesize);
}
void hl_decode_mb_internal(H264Context * h, int simple, int *linesize)
{
        if (!simple) {
                uint8_t *pair_dest_y;
                backup_pair_border(h, pair_dest_y, *linesize);
                fill_caches(h, 1, 1);
                (*linesize)++;
                fill_caches(h, 1, 1);
        }
}


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
          Component|target                      |rtl-optimization
     Ever Confirmed|0                           |1
   GCC host triplet|i386-apple-darwin8.10.1     |
 GCC target triplet|i386-apple-darwin8.10.1     |i?86-*-*
           Keywords|                            |ice-on-valid-code
      Known to fail|                            |4.3.0 4.2.2 4.1.2 4.1.0
      Known to work|                            |4.0.3
   Last reconfirmed|0000-00-00 00:00:00         |2007-10-16 08:55:32
               date|                            |
            Summary|x86 out of registers ICE    |[4.1/4.2/4.3 Regression] x86
                   |with -fschedule-insns -     |out of registers ICE with -
                   |march=core2                 |fschedule-insns -march=core2


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


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

* [Bug rtl-optimization/33791] [4.1/4.2/4.3 Regression] x86 out of registers ICE with -fschedule-insns -march=core2
  2007-10-16  5:46 [Bug target/33791] New: x86 out of registers ICE with -fschedule-insns -march=core2 astrange at ithinksw dot com
  2007-10-16  5:46 ` [Bug target/33791] " astrange at ithinksw dot com
  2007-10-16  8:55 ` [Bug rtl-optimization/33791] [4.1/4.2/4.3 Regression] " rguenth at gcc dot gnu dot org
@ 2007-10-16  9:18 ` ebotcazou at gcc dot gnu dot org
  2007-10-16 10:54 ` [Bug rtl-optimization/33791] " pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2007-10-16  9:18 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from ebotcazou at gcc dot gnu dot org  2007-10-16 09:18 -------
This is a known problem, -fschedule-insns should be avoided on x86.

config/i386/i386.c:2884

void
optimization_options (int level, int size ATTRIBUTE_UNUSED)
{
  /* For -O2 and beyond, turn off -fschedule-insns by default.  It tends to
     make the problem with not enough registers even worse.  */
#ifdef INSN_SCHEDULING
  if (level > 1)
    flag_schedule_insns = 0;
#endif


-- 

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


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

* [Bug rtl-optimization/33791] x86 out of registers ICE with -fschedule-insns -march=core2
  2007-10-16  5:46 [Bug target/33791] New: x86 out of registers ICE with -fschedule-insns -march=core2 astrange at ithinksw dot com
                   ` (2 preceding siblings ...)
  2007-10-16  9:18 ` ebotcazou at gcc dot gnu dot org
@ 2007-10-16 10:54 ` pinskia at gcc dot gnu dot org
  2007-10-16 10:55 ` pinskia at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-10-16 10:54 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pinskia at gcc dot gnu dot org  2007-10-16 10:54 -------
How can this be a regression if -march=core2 support is new?


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|4.0.3                       |
            Summary|[4.1/4.2/4.3 Regression] x86|x86 out of registers ICE
                   |out of registers ICE with - |with -fschedule-insns -
                   |fschedule-insns -march=core2|march=core2


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


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

* [Bug rtl-optimization/33791] x86 out of registers ICE with -fschedule-insns -march=core2
  2007-10-16  5:46 [Bug target/33791] New: x86 out of registers ICE with -fschedule-insns -march=core2 astrange at ithinksw dot com
                   ` (3 preceding siblings ...)
  2007-10-16 10:54 ` [Bug rtl-optimization/33791] " pinskia at gcc dot gnu dot org
@ 2007-10-16 10:55 ` pinskia at gcc dot gnu dot org
  2007-10-16 11:08 ` [Bug rtl-optimization/33791] [4.1/4.2/4.3 Regression] " rguenth at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-10-16 10:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from pinskia at gcc dot gnu dot org  2007-10-16 10:54 -------


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


-- 

pinskia at gcc dot gnu dot org changed:

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


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


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

* [Bug rtl-optimization/33791] [4.1/4.2/4.3 Regression] x86 out of registers ICE with -fschedule-insns -march=core2
  2007-10-16  5:46 [Bug target/33791] New: x86 out of registers ICE with -fschedule-insns -march=core2 astrange at ithinksw dot com
                   ` (4 preceding siblings ...)
  2007-10-16 10:55 ` pinskia at gcc dot gnu dot org
@ 2007-10-16 11:08 ` rguenth at gcc dot gnu dot org
  2007-10-16 11:10 ` rguenth at gcc dot gnu dot org
  2007-10-16 11:13 ` [Bug rtl-optimization/33791] " pinskia at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-10-16 11:08 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from rguenth at gcc dot gnu dot org  2007-10-16 11:08 -------
Because it fails on x86_64 with just -O -fschedule-insns -m32 -mtune=pentiumpro
but works with 4.0.3.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |4.0.3
            Summary|x86 out of registers ICE    |[4.1/4.2/4.3 Regression] x86
                   |with -fschedule-insns -     |out of registers ICE with -
                   |march=core2                 |fschedule-insns -march=core2


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


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

* [Bug rtl-optimization/33791] [4.1/4.2/4.3 Regression] x86 out of registers ICE with -fschedule-insns -march=core2
  2007-10-16  5:46 [Bug target/33791] New: x86 out of registers ICE with -fschedule-insns -march=core2 astrange at ithinksw dot com
                   ` (5 preceding siblings ...)
  2007-10-16 11:08 ` [Bug rtl-optimization/33791] [4.1/4.2/4.3 Regression] " rguenth at gcc dot gnu dot org
@ 2007-10-16 11:10 ` rguenth at gcc dot gnu dot org
  2007-10-16 11:13 ` [Bug rtl-optimization/33791] " pinskia at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-10-16 11:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from rguenth at gcc dot gnu dot org  2007-10-16 11:09 -------
Re-open, as this fails with -O, not -O2 and so is not an exact duplicate of
PR27432 (which is also not a regression).  Lowering severity as avoiding
-fschedule-insns for x86 still holds.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |minor
             Status|RESOLVED                    |REOPENED
         Resolution|DUPLICATE                   |


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


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

* [Bug rtl-optimization/33791] x86 out of registers ICE with -fschedule-insns -march=core2
  2007-10-16  5:46 [Bug target/33791] New: x86 out of registers ICE with -fschedule-insns -march=core2 astrange at ithinksw dot com
                   ` (6 preceding siblings ...)
  2007-10-16 11:10 ` rguenth at gcc dot gnu dot org
@ 2007-10-16 11:13 ` pinskia at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-10-16 11:13 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from pinskia at gcc dot gnu dot org  2007-10-16 11:12 -------
The problem is exactly the same, the ra sucks.

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


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
           Keywords|                            |ra
         Resolution|                            |DUPLICATE
            Summary|[4.1/4.2/4.3 Regression] x86|x86 out of registers ICE
                   |out of registers ICE with - |with -fschedule-insns -
                   |fschedule-insns -march=core2|march=core2


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


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

end of thread, other threads:[~2007-10-16 11:13 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-16  5:46 [Bug target/33791] New: x86 out of registers ICE with -fschedule-insns -march=core2 astrange at ithinksw dot com
2007-10-16  5:46 ` [Bug target/33791] " astrange at ithinksw dot com
2007-10-16  8:55 ` [Bug rtl-optimization/33791] [4.1/4.2/4.3 Regression] " rguenth at gcc dot gnu dot org
2007-10-16  9:18 ` ebotcazou at gcc dot gnu dot org
2007-10-16 10:54 ` [Bug rtl-optimization/33791] " pinskia at gcc dot gnu dot org
2007-10-16 10:55 ` pinskia at gcc dot gnu dot org
2007-10-16 11:08 ` [Bug rtl-optimization/33791] [4.1/4.2/4.3 Regression] " rguenth at gcc dot gnu dot org
2007-10-16 11:10 ` rguenth at gcc dot gnu dot org
2007-10-16 11:13 ` [Bug rtl-optimization/33791] " pinskia 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).