[Bug optimization/15385] New: [3.5 regression] ICE in spill_failure

bangerth at dealii dot org gcc-bugzilla@gcc.gnu.org
Wed May 12 17:33:00 GMT 2004


With this little testcase 
---------------------- 
int foo(); 
 
void bar () { 
  int n = foo(); 
  double d; 
 
  if (d==0) 
    for (int i=0; i<n; ++i) 
      d = 1.; 
} 
----------------------- 
 
I get this with mainline: 
 
g/x> /home/bangerth/bin/gcc-3.5-pre/bin/c++ -O2 -funroll-loops -c x.cc 
x.cc: In function `void bar()': 
x.cc:10: error: unable to find a register to spill in class `AREG' 
x.cc:10: error: this is the insn: 
(jump_insn:HI 25 24 72 0 (parallel [ 
            (set (pc) 
                (if_then_else (ne (reg/v:DF 59 [ d ]) 
                        (reg:DF 8 st [60])) 
                    (label_ref 69) 
                    (pc))) 
            (clobber (reg:CCFP 18 fpsr)) 
            (clobber (reg:CCFP 17 flags)) 
            (clobber (scratch:HI)) 
        ]) 355 {*fp_jcc_5} (insn_list 24 (nil)) 
    (expr_list:REG_UNUSED (scratch:HI) 
        (expr_list:REG_UNUSED (reg:CCFP 17 flags) 
            (expr_list:REG_UNUSED (reg:CCFP 18 fpsr) 
                (expr_list:REG_DEAD (reg/v:DF 59 [ d ]) 
                    (expr_list:REG_DEAD (reg:DF 8 st [60]) 
                        (expr_list:REG_UNUSED (scratch:HI) 
                            (expr_list:REG_UNUSED (reg:CCFP 17 flags) 
                                (expr_list:REG_UNUSED (reg:CCFP 18 fpsr) 
                                    (expr_list:REG_BR_PROB (const_int 5000 [0x1388]) 
                                        (nil))))))))))) 
x.cc:10: internal compiler error: in spill_failure, at reload1.c:1887 
Please submit a full bug report, 
with preprocessed source if appropriate. 
See <URL:http://gcc.gnu.org/bugs.html> for instructions. 
 
That's a regression against 3.4 that didn't ICE. Note that my mainline version is 
slightly outdated: 
 
g/x> /home/bangerth/bin/gcc-3.5-pre/bin/c++ -v 
Reading specs from /home/bangerth/bin/gcc-3.5-pre/lib/gcc/i686-pc-linux-gnu/3.5.0/specs 
Configured with: ../gcc-3.5/configure --prefix=/home/bangerth/bin/gcc-3.5-pre --enable-checking 
--enable-languages=c,c++,f77 
Thread model: posix 
gcc version 3.5.0 20040421 (experimental) 
 
Someone may be able to confirm with a newer version. 
 
W.

-- 
           Summary: [3.5 regression] ICE in spill_failure
           Product: gcc
           Version: 3.5.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P2
         Component: optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bangerth at dealii dot org
                CC: gcc-bugs at gcc dot gnu dot org


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



More information about the Gcc-bugs mailing list