Commit e1aeeae9 by Richard Sandiford Committed by Richard Sandiford

mips.c (mips_function_value): For o32, o64, n32 and n64, use FPRs for scalar,…

mips.c (mips_function_value): For o32, o64, n32 and n64, use FPRs for scalar, complex and vector types only.

	* config/mips/mips.c (mips_function_value): For o32, o64, n32 and n64,
	use FPRs for scalar, complex and vector types only.

From-SVN: r87848
parent c3002ae9
2004-09-22 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.c (mips_function_value): For o32, o64, n32 and n64,
use FPRs for scalar, complex and vector types only.
2004-09-21 Jeff Law <law@redhat.com>
* tree-ssa-dom.c (opt_stats): Move so that it lives just after
......
......@@ -6764,6 +6764,13 @@ mips_function_value (tree valtype, tree func ATTRIBUTE_UNUSED,
mode = mode_for_size (size * BITS_PER_UNIT, MODE_INT, 0);
}
}
/* For EABI, the class of return register depends entirely on MODE.
For example, "struct { some_type x; }" and "union { some_type x; }"
are returned in the same way as a bare "some_type" would be.
Other ABIs only use FPRs for scalar, complex or vector types. */
if (mips_abi != ABI_EABI && !FLOAT_TYPE_P (valtype))
return gen_rtx_REG (mode, GP_RETURN);
}
if ((GET_MODE_CLASS (mode) == MODE_FLOAT
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment