This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [x32] PATCH: PR middle-end/47725: [x32] error: unable to find a register to spill in class DIREG
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: Bernd Schmidt <bernds at codesourcery dot com>, Richard Henderson <rth at redhat dot com>, Uros Bizjak <ubizjak at gmail dot com>, gcc-patches at gcc dot gnu dot org, Jeff Law <law at redhat dot com>
- Date: Wed, 23 Mar 2011 09:22:34 +0100
- Subject: Re: [x32] PATCH: PR middle-end/47725: [x32] error: unable to find a register to spill in class DIREG
- References: <20110214185738.GA13004@intel.com> <201103222105.58424.ebotcazou@adacore.com> <AANLkTimHHwG-K=K_sqWN4EuG3Xdhhi8VsRRy2shi6YkT@mail.gmail.com>
> It is:
>
> op0 = parmreg;
> op1 = validated_mem;
> if (icode != CODE_FOR_nothing
> && insn_data[icode].operand[0].predicate (op0,
> promoted_nominal_mode) && insn_data[icode].operand[1].predicate (op1,
> data->passed_mode)) {
> enum rtx_code code = unsignedp ? ZERO_EXTEND : SIGN_EXTEND;
> rtx insn, insns;
> HARD_REG_SET hardregs;
>
> start_sequence ();
> insn = gen_extend_insn (op0, op1, promoted_nominal_mode,
> data->passed_mode, unsignedp);
> emit_insn (insn);
> insns = get_insns ();
Sure, but why is need_conversion set to true?
--
Eric Botcazou