public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/16185] New: qemu 0.5.5 fails to compile with -march={i686,pentium4,athlon}
@ 2004-06-24 21:24 herton at brturbo dot com
  2004-06-24 21:29 ` [Bug c/16185] " herton at brturbo dot com
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: herton at brturbo dot com @ 2004-06-24 21:24 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2740 bytes --]

When compiling qemu 0.5.5 (http://fabrice.bellard.free.fr/qemu/), the following
error occurs:

gcc -O2 -frename-registers -fomit-frame-pointer -march=i686 -fomit-frame-pointer
-I. -I/tmp/qemu/BUILD/qemu-0.5.5/target-i386 -I/tmp/qemu/BUILD/qemu-0.5.5
-D_GNU_SOURCE -c -o translate.o /tmp/qemu/BUILD/qemu-0.5.5/target-i386/translate.c
gcc -O2 -frename-registers -fomit-frame-pointer -march=i686 -I.
-I/tmp/qemu/BUILD/qemu-0.5.5/target-i386 -I/tmp/qemu/BUILD/qemu-0.5.5
-D_GNU_SOURCE -c -o helper.o /tmp/qemu/BUILD/qemu-0.5.5/target-i386/helper.c
In file included from /tmp/qemu/BUILD/qemu-0.5.5/target-i386/helper.c:2492:
/tmp/qemu/BUILD/qemu-0.5.5/softmmu_template.h: In function `slow_ldq_mmu':
/tmp/qemu/BUILD/qemu-0.5.5/softmmu_template.h:179: error: unable to find a
register to spill in class `GENERAL_REGS'
/tmp/qemu/BUILD/qemu-0.5.5/softmmu_template.h:179: error: this is the insn:
(insn:HI 167 164 168 6 0x407a0ec8 (parallel [
            (set (reg:DI 112)
                (lshiftrt:DI (reg/v:DI 63)
                    (subreg:QI (reg:SI 111) 0)))
            (clobber (scratch:SI))
            (clobber (reg:CC 17 flags))
        ]) 320 {lshrdi3_1} (insn_list 136 (insn_list 164 (nil)))
    (expr_list:REG_DEAD (reg/v:DI 63)
        (expr_list:REG_UNUSED (scratch:SI)
            (expr_list:REG_UNUSED (reg:CC 17 flags)
                (nil)))))
/tmp/qemu/BUILD/qemu-0.5.5/softmmu_template.h:179: confused by earlier errors,
bailing out
make[1]: ** [helper.o] Erro 1
make[1]: Leaving directory `/tmp/qemu/BUILD/qemu-0.5.5/i386'
make: ** [all] Erro 1
erro: Status de saída ruim em /tmp/qemu/BUILDROOT/rpm-tmp.6894 (%build)

As the log shows, I used the flags "-O2 -frename-registers -fomit-frame-pointer
-march=i686". Interestingly, the problem above doesn't occurs when I specify
-march={i386,i486,i586}, I only have an error when using i686/athlon/pentium4 (I
didn't test all combinations, probably other options greater than i686 are also
affected). To compile qemu with different flags, you must edit Makefile and
Makefile.target from qemu sources, using for example sed:

sed -i "s/CFLAGS=.*/CFLAGS=-O2 -frename-registers -fomit-frame-pointer
-march=i686/" Makefile{,.target}

-- 
           Summary: qemu 0.5.5 fails to compile with -
                    march={i686,pentium4,athlon}
           Product: gcc
           Version: 3.3.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: herton at brturbo dot com
                CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: i386-conectiva-linux
GCC target triplet: i386-conectiva-linux


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


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

* [Bug c/16185] qemu 0.5.5 fails to compile with -march={i686,pentium4,athlon}
  2004-06-24 21:24 [Bug c/16185] New: qemu 0.5.5 fails to compile with -march={i686,pentium4,athlon} herton at brturbo dot com
@ 2004-06-24 21:29 ` herton at brturbo dot com
  2004-06-24 21:31 ` herton at brturbo dot com
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: herton at brturbo dot com @ 2004-06-24 21:29 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From herton at brturbo dot com  2004-06-24 21:24 -------
[herton@moen herton]$ gcc -v
Reading specs from /usr/lib/gcc-lib/i386-conectiva-linux/3.3.3/specs
Configured with: ../configure --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib
--mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share
--enable-shared --disable-checking --enable-long-long --enable-__cxa_atexit
--enable-threads=posix --disable-libunwind-exceptions --enable-libgcj
--enable-languages=c,c++,f77,objc,java --with-system-zlib
--host=i386-conectiva-linux --target=i386-conectiva-linux
--with-gxx_include_dir=/usr/include/c++/3.3.3
Thread model: posix
gcc version 3.3.3 (release)

-- 


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


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

* [Bug c/16185] qemu 0.5.5 fails to compile with -march={i686,pentium4,athlon}
  2004-06-24 21:24 [Bug c/16185] New: qemu 0.5.5 fails to compile with -march={i686,pentium4,athlon} herton at brturbo dot com
  2004-06-24 21:29 ` [Bug c/16185] " herton at brturbo dot com
@ 2004-06-24 21:31 ` herton at brturbo dot com
  2004-06-24 21:40 ` falk at debian dot org
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: herton at brturbo dot com @ 2004-06-24 21:31 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From herton at brturbo dot com  2004-06-24 21:29 -------
Ops, I forgot to include the steps to compile and reproduce the error:

1) Edit Makefile and Makefile.target with provided CFLAGS (for example using sed
as already showed).
2) Run configure: ./configure --prefix=/usr
3) make -j1

-- 


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


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

* [Bug c/16185] qemu 0.5.5 fails to compile with -march={i686,pentium4,athlon}
  2004-06-24 21:24 [Bug c/16185] New: qemu 0.5.5 fails to compile with -march={i686,pentium4,athlon} herton at brturbo dot com
  2004-06-24 21:29 ` [Bug c/16185] " herton at brturbo dot com
  2004-06-24 21:31 ` herton at brturbo dot com
@ 2004-06-24 21:40 ` falk at debian dot org
  2004-06-26 16:21 ` herton at brturbo dot com
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: falk at debian dot org @ 2004-06-24 21:40 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From falk at debian dot org  2004-06-24 21:31 -------
Please attach the preprocessed source obtained by adding -save-temps.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |WAITING


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


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

* [Bug c/16185] qemu 0.5.5 fails to compile with -march={i686,pentium4,athlon}
  2004-06-24 21:24 [Bug c/16185] New: qemu 0.5.5 fails to compile with -march={i686,pentium4,athlon} herton at brturbo dot com
                   ` (2 preceding siblings ...)
  2004-06-24 21:40 ` falk at debian dot org
@ 2004-06-26 16:21 ` herton at brturbo dot com
  2004-06-26 17:23 ` [Bug rtl-optimization/16185] [3.3/3.4/3.5 Regression] ICE: in spill_failure, at reload1.c:1892 belyshev at lubercy dot com
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: herton at brturbo dot com @ 2004-06-26 16:21 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW
     Ever Confirmed|                            |1


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


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

* [Bug rtl-optimization/16185] [3.3/3.4/3.5 Regression] ICE: in spill_failure, at reload1.c:1892
  2004-06-24 21:24 [Bug c/16185] New: qemu 0.5.5 fails to compile with -march={i686,pentium4,athlon} herton at brturbo dot com
                   ` (3 preceding siblings ...)
  2004-06-26 16:21 ` herton at brturbo dot com
@ 2004-06-26 17:23 ` belyshev at lubercy dot com
  2004-07-07 15:39 ` [Bug target/16185] " pinskia at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: belyshev at lubercy dot com @ 2004-06-26 17:23 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From belyshev at lubercy dot com  2004-06-26 17:12 -------
small testcase:
-------------------------------------------------------------------------------
register T0 asm ("ebx");
register T1 asm ("esi");
register T2 asm ("edi");

void foo (int a, int b, long long c)
{
	*(long long *) (a + b) = c;
}
-------------------------------------------------------------------------------

Confirmed, a regression from 2.6.3 and 2.7.2.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|c                           |rtl-optimization
   GCC host triplet|i386-conectiva-linux        |
 GCC target triplet|i386-conectiva-linux        |i*86-*-*
           Keywords|                            |ice-on-valid-code
      Known to fail|                            |2.95.3 3.3.3 3.3.4 3.4.0
                   |                            |3.4.1 3.5.0
            Summary|qemu 0.5.5 fails to compile |[3.3/3.4/3.5 Regression]
                   |with -                      |ICE: in spill_failure, at
                   |march={i686,pentium4,athlon}|reload1.c:1892
   Target Milestone|---                         |3.4.2


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


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

* [Bug target/16185] ICE: in spill_failure, at reload1.c:1892
  2004-06-24 21:24 [Bug c/16185] New: qemu 0.5.5 fails to compile with -march={i686,pentium4,athlon} herton at brturbo dot com
                   ` (4 preceding siblings ...)
  2004-06-26 17:23 ` [Bug rtl-optimization/16185] [3.3/3.4/3.5 Regression] ICE: in spill_failure, at reload1.c:1892 belyshev at lubercy dot com
@ 2004-07-07 15:39 ` pinskia at gcc dot gnu dot org
  2004-12-27  3:15 ` belyshev at depni dot sinp dot msu dot ru
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-07-07 15:39 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|rtl-optimization            |target
            Summary|[3.3/3.4/3.5 Regression]    |ICE: in spill_failure, at
                   |ICE: in spill_failure, at   |reload1.c:1892
                   |reload1.c:1892              |
   Target Milestone|3.4.2                       |---


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


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

* [Bug target/16185] ICE: in spill_failure, at reload1.c:1892
  2004-06-24 21:24 [Bug c/16185] New: qemu 0.5.5 fails to compile with -march={i686,pentium4,athlon} herton at brturbo dot com
                   ` (5 preceding siblings ...)
  2004-07-07 15:39 ` [Bug target/16185] " pinskia at gcc dot gnu dot org
@ 2004-12-27  3:15 ` belyshev at depni dot sinp dot msu dot ru
  2004-12-27  3:32 ` [Bug target/16185] ICE: in spill_failure, at reload1.c:1892, global registers and long long pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: belyshev at depni dot sinp dot msu dot ru @ 2004-12-27  3:15 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P2                          |P1
   Last reconfirmed|0000-00-00 00:00:00         |2004-12-27 03:15:48
               date|                            |


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


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

* [Bug target/16185] ICE: in spill_failure, at reload1.c:1892, global registers and long long
  2004-06-24 21:24 [Bug c/16185] New: qemu 0.5.5 fails to compile with -march={i686,pentium4,athlon} herton at brturbo dot com
                   ` (6 preceding siblings ...)
  2004-12-27  3:15 ` belyshev at depni dot sinp dot msu dot ru
@ 2004-12-27  3:32 ` pinskia at gcc dot gnu dot org
  2005-01-11 16:28 ` belyshev at depni dot sinp dot msu dot ru
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-12-27  3:32 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-12-27 03:32 -------
x86 is known to be register stared and global registers just makes it worse because they make the 
registers fixed.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |minor
           Priority|P1                          |P2
            Summary|ICE: in spill_failure, at   |ICE: in spill_failure, at
                   |reload1.c:1892              |reload1.c:1892, global
                   |                            |registers and long long


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


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

* [Bug target/16185] ICE: in spill_failure, at reload1.c:1892, global registers and long long
  2004-06-24 21:24 [Bug c/16185] New: qemu 0.5.5 fails to compile with -march={i686,pentium4,athlon} herton at brturbo dot com
                   ` (7 preceding siblings ...)
  2004-12-27  3:32 ` [Bug target/16185] ICE: in spill_failure, at reload1.c:1892, global registers and long long pinskia at gcc dot gnu dot org
@ 2005-01-11 16:28 ` belyshev at depni dot sinp dot msu dot ru
  2005-05-09 20:28 ` belyshev at depni dot sinp dot msu dot ru
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: belyshev at depni dot sinp dot msu dot ru @ 2005-01-11 16:28 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From belyshev at depni dot sinp dot msu dot ru  2005-01-11 16:18 -------
Caused by this patch:

Fri May 15 21:40:06 1998  John Wehle  (john@feith.com)

	* i386.md (movdi-1, movdi): Rewrite based on SI move patterns.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|2.95.3 3.3.3 3.3.4 3.4.0    |2.95 2.95.3 3.3.3 3.3.4
                   |3.4.1 4.0.0                 |3.4.0 3.4.1 4.0.0
   Last reconfirmed|2004-12-27 03:15:48         |2005-01-11 16:18:25
               date|                            |


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


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

* [Bug target/16185] ICE: in spill_failure, at reload1.c:1892, global registers and long long
  2004-06-24 21:24 [Bug c/16185] New: qemu 0.5.5 fails to compile with -march={i686,pentium4,athlon} herton at brturbo dot com
                   ` (8 preceding siblings ...)
  2005-01-11 16:28 ` belyshev at depni dot sinp dot msu dot ru
@ 2005-05-09 20:28 ` belyshev at depni dot sinp dot msu dot ru
  2005-06-15 17:28 ` belyshev at depni dot sinp dot msu dot ru
  2005-06-26 12:26 ` steven at gcc dot gnu dot org
  11 siblings, 0 replies; 13+ messages in thread
From: belyshev at depni dot sinp dot msu dot ru @ 2005-05-09 20:28 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From belyshev at depni dot sinp dot msu dot ru  2005-05-09 20:28 -------
*** Bug 21469 has been marked as a duplicate of this bug. ***

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


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


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

* [Bug target/16185] ICE: in spill_failure, at reload1.c:1892, global registers and long long
  2004-06-24 21:24 [Bug c/16185] New: qemu 0.5.5 fails to compile with -march={i686,pentium4,athlon} herton at brturbo dot com
                   ` (9 preceding siblings ...)
  2005-05-09 20:28 ` belyshev at depni dot sinp dot msu dot ru
@ 2005-06-15 17:28 ` belyshev at depni dot sinp dot msu dot ru
  2005-06-26 12:26 ` steven at gcc dot gnu dot org
  11 siblings, 0 replies; 13+ messages in thread
From: belyshev at depni dot sinp dot msu dot ru @ 2005-06-15 17:28 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From belyshev at depni dot sinp dot msu dot ru  2005-06-15 17:28 -------
*** Bug 22080 has been marked as a duplicate of this bug. ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |greenrd at greenrd dot org


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


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

* [Bug target/16185] ICE: in spill_failure, at reload1.c:1892, global registers and long long
  2004-06-24 21:24 [Bug c/16185] New: qemu 0.5.5 fails to compile with -march={i686,pentium4,athlon} herton at brturbo dot com
                   ` (10 preceding siblings ...)
  2005-06-15 17:28 ` belyshev at depni dot sinp dot msu dot ru
@ 2005-06-26 12:26 ` steven at gcc dot gnu dot org
  11 siblings, 0 replies; 13+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-06-26 12:26 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From steven at gcc dot gnu dot org  2005-06-26 12:26 -------
Taking three or more registers as in the test cases from comment #5 and 
from Bug 21469, or using regparam, is just asking for trouble on a target 
with only six registers available, total.  While this is a regression, we 
also have cases that didn't compile with old compilers and now do.  It is 
just a matter of luck if you're going to fix registers -- even the order 
in which the statements are expanded to RTL can matter for the register 
pressure, and in this case y'all are so unlucky to need a larger number of 
registers than what you've left available to the compiler. 
 
I believe this bug should be closed as SUSPEND unless test cases exist 
that use neither regparam nor global register variables. 
 

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |WAITING


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


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

end of thread, other threads:[~2005-06-26 12:26 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-06-24 21:24 [Bug c/16185] New: qemu 0.5.5 fails to compile with -march={i686,pentium4,athlon} herton at brturbo dot com
2004-06-24 21:29 ` [Bug c/16185] " herton at brturbo dot com
2004-06-24 21:31 ` herton at brturbo dot com
2004-06-24 21:40 ` falk at debian dot org
2004-06-26 16:21 ` herton at brturbo dot com
2004-06-26 17:23 ` [Bug rtl-optimization/16185] [3.3/3.4/3.5 Regression] ICE: in spill_failure, at reload1.c:1892 belyshev at lubercy dot com
2004-07-07 15:39 ` [Bug target/16185] " pinskia at gcc dot gnu dot org
2004-12-27  3:15 ` belyshev at depni dot sinp dot msu dot ru
2004-12-27  3:32 ` [Bug target/16185] ICE: in spill_failure, at reload1.c:1892, global registers and long long pinskia at gcc dot gnu dot org
2005-01-11 16:28 ` belyshev at depni dot sinp dot msu dot ru
2005-05-09 20:28 ` belyshev at depni dot sinp dot msu dot ru
2005-06-15 17:28 ` belyshev at depni dot sinp dot msu dot ru
2005-06-26 12:26 ` steven 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).