gcc version 4.4.0 20081128 (experimental) [trunk revision 142257] yields,

> gfortran  -O3 -ffast-math -funroll-loops -ftree-vectorize -march=k8-sse3 
> -mcx16 -msahf -mtune=k8  -ffree-form -fschedule-insns  test.f90
test.f90: In function ‘integrate_core_9’:
test.f90:2372: error: unable to find a register to spill in class ‘CREG’
test.f90:2372: error: this is the insn:
(insn:HI 72 71 42 2 test.f90:2368 (parallel [
            (set (reg:DI 6 bp [2320])
                (const_int 0 [0x0]))
            (set (reg/f:DI 39 r10 [orig:524 coef_xyz ] [524])
                (plus:DI (ashift:DI (reg:DI 6 bp [527])
                        (const_int 3 [0x3]))
                    (reg/v/f:DI 4 si [orig:498 coef_xyz ] [498])))
            (set (mem/s:BLK (reg/v/f:DI 4 si [orig:498 coef_xyz ] [498]) [0 (*
coef_xyz) A64])
                (const_int 0 [0x0]))
            (use (reg:DI 0 ax [511]))
            (use (reg:DI 6 bp [527]))
        ]) 854 {*rep_stosdi_rex64} (expr_list:REG_DEAD (reg:DI 6 bp [527])
        (expr_list:REG_UNUSED (reg:DI 6 bp [2320])
            (expr_list:REG_UNUSED (reg/f:DI 39 r10 [orig:524 coef_xyz ] [524])
                (nil)))))
test.f90:2372: internal compiler error: in spill_failure, at reload1.c:2093

gcc 4.3 compiles without error


-- 
           Summary: [4.4 Regression] unable to find a register to spill in
                    class ‘CREG’ with -fschedule-insns
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jv244 at cam dot ac dot uk


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

Reply via email to