Commit 4526e5ec by Segher Boessenkool Committed by Segher Boessenkool

rs6000: Fix AIX aggregate passing fix

David's fix for the AIX aggregate passing from yesterday unfortunately
also triggers on powerpc64-linux.  This fixes it.


	* config/rs6000/rs6000.c (rs6000_function_arg): Only do the special
	aggregate handling on actual AIX, not on somewhat similar systems.
	(rs6000_arg_partial_bytes): Ditto.

From-SVN: r266811
parent 561094ee
2018-12-05 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.c (rs6000_function_arg): Only do the special
aggregate handling on actual AIX, not on somewhat similar systems.
(rs6000_arg_partial_bytes): Ditto.
2018-12-04 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/88317
......@@ -11990,7 +11990,7 @@ rs6000_function_arg (cumulative_args_t cum_v, machine_mode mode,
cum->fregno++;
if (USE_FP_FOR_ARG_P (cum, elt_mode)
&& !(TARGET_AIX && AGGREGATE_TYPE_P (type)))
&& !(TARGET_AIX && !TARGET_ELF && AGGREGATE_TYPE_P (type)))
{
rtx rvec[GP_ARG_NUM_REG + AGGR_ARG_NUM_REG + 1];
rtx r, off;
......@@ -12127,7 +12127,7 @@ rs6000_arg_partial_bytes (cumulative_args_t cum_v, machine_mode mode,
align_words = rs6000_parm_start (mode, type, cum->words);
if (USE_FP_FOR_ARG_P (cum, elt_mode)
&& !(TARGET_AIX && AGGREGATE_TYPE_P (type)))
&& !(TARGET_AIX && !TARGET_ELF && AGGREGATE_TYPE_P (type)))
{
unsigned long n_fpreg = (GET_MODE_SIZE (elt_mode) + 7) >> 3;
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