This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: mips16 float and complex support
- From: Richard Sandiford <richard at codesourcery dot com>
- To: Sandra Loosemore <sandra at codesourcery dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 23 May 2007 08:59:07 +0100
- Subject: Re: PATCH: mips16 float and complex support
- References: <46538D21.5020007@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com> writes:
> *************** function_arg (const CUMULATIVE_ARGS *cum
> *** 4032,4038 ****
> }
> }
>
> ! if (!info.fpr_p)
> return gen_rtx_REG (mode, GP_ARG_FIRST + info.reg_offset);
> else if (mips_abi == ABI_32 && TARGET_DOUBLE_FLOAT && info.reg_offset > 0)
> /* In o32, the second argument is always passed in $f14
> --- 4031,4037 ----
> }
> }
>
> ! if (!info.fpr_p || TARGET_MIPS16)
> return gen_rtx_REG (mode, GP_ARG_FIRST + info.reg_offset);
> else if (mips_abi == ABI_32 && TARGET_DOUBLE_FLOAT && info.reg_offset > 0)
> /* In o32, the second argument is always passed in $f14
Please move mips_arg_regno before this function and replace the above
if-else block with:
return mips_arg_regno (mode, TARGET_HARD_FLOAT);
> + /* Return a two-character string representing a function floating
> + point return mode, used to name MIPS16 function stubs. */
Nit, but: "floating point" -> "floating-point"? (Probably my fault.)
> + /* INFO describes an argument that is pased in a single register value.
> + Return the register it uses, assuming that FPRs are available if
> + HARD_FLOAT_P. */
"pased" -> "passed" and "single register" -> "single-register".
(Definitely my fault, sorry.)
OK with those changes. Thanks for putting so much effort into this.
Richard