Commit b848dc65 by John David Anglin Committed by John David Anglin

pa.c (function_arg): Pass floating arguments in both general and floating registers in indirect...

	* pa.c (function_arg): Pass floating arguments in both general and
	floating registers in indirect (dynamic) calls when generating code
	for the 32 bit ABI and the HP assembler.

From-SVN: r45775
parent 250d5688
2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
* pa.c (function_arg): Pass floating arguments in both general and
floating registers in indirect (dynamic) calls when generating code
for the 32 bit ABI and the HP assembler.
2001-09-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* doc/install.texi: Markup fixes.
......
......@@ -7145,9 +7145,9 @@ function_arg (cum, mode, type, named, incoming)
gen_rtx_REG (DImode, gpr_reg_base),
GEN_INT (8))));
}
/* Determine if the register needs to be passed in both general and
/* Determine if the argument needs to be passed in both general and
floating point registers. */
if ((TARGET_PORTABLE_RUNTIME || TARGET_64BIT || TARGET_ELF32)
if (((TARGET_PORTABLE_RUNTIME || TARGET_64BIT || TARGET_ELF32)
/* If we are doing soft-float with portable runtime, then there
is no need to worry about FP regs. */
&& ! TARGET_SOFT_FLOAT
......@@ -7160,7 +7160,15 @@ function_arg (cum, mode, type, named, incoming)
registers. */
&& type != NULL_TREE
/* All this hair applies to outgoing args only. */
&& !incoming)
&& ! incoming)
/* Also pass outgoing floating arguments in both registers in indirect
calls with the 32 bit ABI and the HP assembler since there is no
way to the specify argument locations in static functions. */
|| (! TARGET_64BIT
&& ! TARGET_GAS
&& ! incoming
&& cum->indirect
&& FLOAT_MODE_P (mode)))
{
retval
= gen_rtx_PARALLEL
......
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