This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/15464] New: ICE: unable to find a register to spill in class `DREG'
- From: "coyote at coyotegulch dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 15 May 2004 15:37:19 -0000
- Subject: [Bug c/15464] New: ICE: unable to find a register to spill in class `DREG'
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
When compiling the attached program with
gcc -c -std=gnu99 -O1 -march=pentium4 -fschedule-insns -funit-at-a-time
-fno-inline bug_reg_spill.c
GCC mainline (3.5.0 20040514) expresses an ICE:
bug_reg_spill.c: In function `decode':
bug_reg_spill.c:135: error: unable to find a register to spill in class `DREG'
bug_reg_spill.c:135: error: this is the insn:
(insn 52 51 53 14 (parallel [
(set (reg:SI 0 ax [95])
(udiv:SI (reg:SI 0 ax [93])
(reg/v:SI 4 si [orig:70 range ] [70])))
(set (reg:SI 96)
(umod:SI (reg:SI 0 ax [93])
(reg/v:SI 4 si [orig:70 range ] [70])))
(clobber (reg:CC 17 flags))
]) 190 {udivmodsi4} (insn_list 51 (insn_list 42 (nil)))
(expr_list:REG_DEAD (reg:SI 0 ax [93])
(expr_list:REG_UNUSED (reg:CC 17 flags)
(expr_list:REG_UNUSED (reg:SI 96)
(nil)))))
bug_reg_spill.c:135: confused by earlier errors, bailing out
I believe this is different from bug 15318, but the causes might be similar.
This ICE does not occur on my X86_64 system, or if the -march=pentium4 flag is
removed from the compile command.
--
Summary: ICE: unable to find a register to spill in class `DREG'
Product: gcc
Version: 3.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: coyote at coyotegulch dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-pc-linux
GCC host triplet: i686-pc-linux
GCC target triplet: i686-pc-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15464