Bug 12492 - unable to find a register to spill in class
Summary: unable to find a register to spill in class
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: rtl-optimization (show other bugs)
Version: 3.2.3
: P2 critical
Target Milestone: 3.3
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2003-10-02 14:28 UTC by Axel Siebenwirth
Modified: 2005-07-23 22:49 UTC (History)
1 user (show)

See Also:
Host: i686-pc-linux-gnu
Target: i686-pc-linux-gnu
Build: i686-pc-linux-gnu
Known to work:
Known to fail:
Last reconfirmed:


Attachments
the preprocessed file that triggers the bug (39.15 KB, application/x-bzip)
2003-10-02 14:32 UTC, Axel Siebenwirth
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Axel Siebenwirth 2003-10-02 14:28:51 UTC
Distribution: Slackware 9.1

Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/specs
Configured with: ../gcc-3.2/configure --prefix=/usr --enable-shared
--enable-threads=posix --enable-__cxa_atexit --disable-checking --with-gnu-ld
--verbose --with-cpu=pentium4 --enable-languages=c,c++ --disable-libgcj
--disable-nls
Thread model: posix
gcc version 3.2.3

gcc built with Slackware 9.1 gcc-3.2.3-i486-2

gcc -v -save-temps -m32 -c -march=pentium4 -Wall -ansi -pedantic -O3
-mfpmath=sse -msse2 -maccumulate-outgoing-args -ffast-math -I../include
-I../../../include -I../../../include/GL -I../../.. -I../../../exports/include
-Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE
-D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DFUNCPROTO=15 -DNARROWPROTO -DNDEBUG
-march=pentium4 -fno-strength-reduce -fomit-frame-pointer -O3 -mfpmath=sse
-msse2 -maccumulate-outgoing-args -ffast-math mipmap.c -o unshared/mipmap.o
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/specs
Configured with: ../gcc-3.2/configure --prefix=/usr --enable-shared
--enable-threads=posix --enable-__cxa_atexit --disable-checking --with-gnu-ld
--verbose --with-cpu=pentium4 --enable-languages=c,c++ --disable-libgcj
--disable-nls
Thread model: posix
gcc version 3.2.3
 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/cpp0 -lang-c -std=c89 -v -I../include
-I../../../include -I../../../include/GL -I../../.. -I../../../exports/include
-D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=3 -D__GXX_ABI_VERSION=102
-D__ELF__ -D__unix__ -D__gnu_linux__ -D__linux__ -D__unix -D__linux
-Asystem=posix -D__OPTIMIZE__ -D__FAST_MATH__ -D__STDC_HOSTED__=1 -Acpu=i386
-Amachine=i386 -D__i386 -D__i386__ -D__pentium4 -D__pentium4__
-D__tune_pentium4__ -D__SSE__ -D__MMX__ -D__SSE2__ -Dlinux -D__i386__
-D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE
-D_SVID_SOURCE -D_GNU_SOURCE -DFUNCPROTO=15 -DNARROWPROTO -DNDEBUG mipmap.c
-Wall -pedantic mipmap.i
GNU CPP version 3.2.3 (cpplib) (i386 Linux/ELF)
ignoring nonexistent directory "/usr/i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 ../include
 ../../../include
 ../../../include/GL
 ../../..
 ../../../exports/include
 /usr/local/include
 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include
 /usr/include
End of search list.
 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/cc1 -fpreprocessed mipmap.i -quiet
-dumpbase mipmap.c -m32 -march=pentium4 -mfpmath=sse -msse2
-maccumulate-outgoing-args -march=pentium4 -mfpmath=sse -msse2
-maccumulate-outgoing-args -ansi -O3 -O3 -Wall -pedantic -ansi -version
-ffast-math -fno-strength-reduce -fomit-frame-pointer -ffast-math -o mipmap.s
GNU CPP version 3.2.3 (cpplib) (i386 Linux/ELF)
GNU C version 3.2.3 (i686-pc-linux-gnu)
        compiled by GNU C version 3.2.3.
mipmap.c: In function `halve1Dimage_float':
mipmap.c:1268: unable to find a register to spill in class `FLOAT_REGS'
mipmap.c:1268: this is the insn:
(insn 111 109 114 (set (subreg:SF (reg/v:DI 22 rxmm1 [73]) 0)
        (float:SF (reg:DI 0 rax [89]))) 170 {*floatdisf2_i387_only} (insn_list
108 (nil))
    (expr_list:REG_DEAD (reg:DI 0 rax [89])
        (nil)))
mipmap.c:1268: confused by earlier errors, bailing out
Comment 1 Axel Siebenwirth 2003-10-02 14:32:54 UTC
Created attachment 4882 [details]
the preprocessed file that triggers the bug

By the way, it's XFree86 from CVS that I am trying to build.
Comment 2 Andrew Pinski 2003-10-02 17:30:35 UTC
I can confirm this in 3.2.3 but it is already fixed in 3.3.1.