[Bug rtl-optimization/46793] New: -fschedule-insns causes ICE in compiling zlib/trees.c

changpeng.fang at amd dot com gcc-bugzilla@gcc.gnu.org
Fri Dec 3 20:26:00 GMT 2010


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

           Summary: -fschedule-insns causes ICE in compiling zlib/trees.c
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: changpeng.fang@amd.com


-fschedule-insns causes ICE in compiling zlib/trees.c: 
trees.c:701:1: error: unable to find a register to spill in class ‘Q_REGS’
This failure only occurs for -m32 compilation.

To reproduce:
cd trunk/zlib
gcc trees.c -c -o ~/tree.o -O2 -fschedule-insns -m32

[~/gcc-4.6-20101120/zlib]$ gcc trees.c -c -o ~/tree.o -O2 -fschedule-insns -m32
trees.c: In function ‘build_tree’:
trees.c:701:1: error: unable to find a register to spill in class ‘Q_REGS’
trees.c:701:1: error: this is the insn:
(insn 473 429 164 18 (set (subreg:SI (reg:QI 83 [ iftmp.7 ]) 0)
        (if_then_else:SI (ltu (reg:CC 17 flags)
                (const_int 0 [0]))
            (subreg:SI (reg:QI 388) 0)
            (subreg:SI (reg:QI 83 [ iftmp.7 ]) 0))) trees.c:677 854
{*movsicc_noc}
     (expr_list:REG_DEAD (reg:QI 388)
        (expr_list:REG_DEAD (reg:CC 17 flags)
            (nil))))
trees.c:701:1: internal compiler error: in spill_failure, at reload1.c:2105
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

This should be a regression (I only know 4.3 is working)



More information about the Gcc-bugs mailing list