This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/16482] New: gcc.c-torture/unsorted/SFset.c fails with "-O2 -m4"


The following part of gcc.c-torture/unsorted/SFset.c:

int glob1;
 
adrreg0limm1_set (float *p0)
{
  p0[10000000] = (float) glob1;
}

causes a spill failure for sh-elf on 3.5 with -m4 -O2:

/exp/ldroot/dodes/LOCAL/gcc/gcc/testsuite/gcc.c-torture/unsorted/SFset.c: In
function `adrreg0limm1_set':
/exp/ldroot/dodes/LOCAL/gcc/gcc/testsuite/gcc.c-torture/unsorted/SFset.c:135:
error: unable to find a register to spill in class `R0_REGS'
/exp/ldroot/dodes/LOCAL/gcc/gcc/testsuite/gcc.c-torture/unsorted/SFset.c:135:
error: this is the insn:
(insn:HI 25 44 40 0 (parallel [
            (set (mem:SF (plus:SI (reg:SI 6 r6 [ p0 ])
                        (reg:SI 2 r2 [171])) [2 S4 A32])
                (reg:SF 65 fr1 [173]))
            (use (reg/v:PSI 151 ))
            (clobber (scratch:SI))
        ]) 150 {movsf_ie} (insn_list 24 (insn_list 22 (insn_list 42 (nil))))
    (expr_list:REG_DEAD (reg/v:PSI 151 )
        (expr_list:REG_DEAD (reg:SF 65 fr1 [173])
            (expr_list:REG_DEAD (reg:SI 6 r6 [ p0 ])
                (expr_list:REG_DEAD (reg:SI 2 r2 [171])
                    (expr_list:REG_UNUSED (scratch:SI)
                        (nil)))))))

This test passed on 3.3 and 3.4 successfully.

-- 
           Summary: gcc.c-torture/unsorted/SFset.c fails with "-O2 -m4"
           Product: gcc
           Version: 3.5.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P2
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: kkojima at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: sh-unknown-elf


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]