This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
optimization/8994: ICE with -O -march=pentium4
- From: towa8667 at student dot uu dot se
- To: gcc-gnats at gcc dot gnu dot org
- Date: 18 Dec 2002 19:45:52 -0000
- Subject: optimization/8994: ICE with -O -march=pentium4
- Reply-to: towa8667 at student dot uu dot se
>Number: 8994
>Category: optimization
>Synopsis: ICE with -O -march=pentium4
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: ice-on-legal-code
>Submitter-Id: net
>Arrival-Date: Wed Dec 18 11:46:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator: Torbjörn Wassberg
>Release: gcc version 3.2.2 20021218 (prerelease)
>Organization:
>Environment:
Mandrake 9.0 x86
binutils 2.13.90.0.10
Configured with: ../gcc/configure --prefix=/usr/local/gcc-3_2-branch --enable-languages=c
>Description:
This is causing problems when compiling mozilla's javascript-source (see bugzilla.mozilla.org 172618) with -O -march=pentium4, note that this is not a dup of 7630.
gcc -Wall -save-temps -O -march=pentium4 -o A -c A.c
A.c: In function `js_dtoa':
A.c:12: warning: deprecated use of label at end of compound statement
A.c:12: unable to find a register to spill in class `AREG'
A.c:12: this is the insn:
(insn 26 25 27 (set (reg:CCNO 17 flags)
(compare:CCNO (and:SI (subreg:SI (reg/v:DI 21 rxmm0 [59]) 0)
(const_int 1 [0x1]))
(const_int 0 [0x0]))) 281 {testsi_1} (insn_list 22 (nil))
(expr_list:REG_DEAD (reg/v:DI 21 rxmm0 [59])
(nil)))
A.c:12: confused by earlier errors, bailing out
# 1 "A.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "A.c"
typedef union {
double value;
int lsw;
} astr;
void js_dtoa(double d)
{
while(1)
if (( { astr sh_u; sh_u.value = d; sh_u.lsw; }) & 1)
goto ret;
ret:
}
>How-To-Repeat:
gcc -O -march=pentium4 -o A -c A.c
>Fix:
Change -march=pentium4 to something else
>Release-Note:
>Audit-Trail:
>Unformatted: