This is the mail archive of the gcc-patches@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]

Re: [patch RFC] SH: Use FRAME_GROWS_DOWNWARD


Joern RENNECKE <joern.rennecke@st.com> wrote:
> The insns emitted by untyped_call are too imprecise about the register
> lifeness.  Another problem is that TImode floating point moves can't
> actually be generated for little endian, and we need an untyped_return
> pattern in order to make the __builtin_return safe for mode switching.

sh-elf/-m4 works fine for all testcases with it.
sh-elf fails with the spill error for builtin-apply4.c:

./builtin-apply4.c: In function 'bar':
./builtin-apply4.c:21: error: unable to find a register to spill in class 'FP_REGS'
./builtin-apply4.c:21: error: this is the insn:
(insn:HI 59 54 56 0 (parallel [
            (set (reg:CDI 0 r0)
                (unspec:CDI [
                        (reg:TI 0 r0)
                    ] 37))
            (set (reg:SI 146 pr)
                (unspec [
                        (reg:DC 0 r0)
                        (reg:SI 146 pr)
                    ] 37))
        ]) 247 {untyped_call_result} (insn_list:REG_DEP_TRUE 54 (insn_list:REG_DEP_TRUE 54 (nil)))
    (expr_list:REG_UNUSED (reg:SI 146 pr)
        (expr_list:REG_UNUSED (reg:SI 146 pr)
            (nil))))

Regards,
	kaz


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