Commit 7617ec02 by Eric Botcazou Committed by Eric Botcazou

sparc.c (function_arg_slotno): In 64-bit mode...

	* config/sparc/sparc.c (function_arg_slotno): In 64-bit mode, align
	the slot on an even boundary for any type with 16-byte alignment.

From-SVN: r105524
parent 0ef8776d
2005-10-17 Eric Botcazou <ebotcazou@libertysurf.fr>
* config/sparc/sparc.c (function_arg_slotno): In 64-bit mode, align
the slot on an even boundary for any type with 16-byte alignment.
2005-10-17 Hans-Peter Nilsson <hp@axis.com>
PR target/23424
......
......@@ -4443,7 +4443,7 @@ function_arg_slotno (const struct sparc_args *cum, enum machine_mode mode,
/* For SPARC64, objects requiring 16-byte alignment get it. */
if (TARGET_ARCH64
&& GET_MODE_ALIGNMENT (mode) >= 2 * BITS_PER_WORD
&& (type ? TYPE_ALIGN (type) : GET_MODE_ALIGNMENT (mode)) >= 128
&& (slotno & 1) != 0)
slotno++, *ppadding = 1;
......@@ -4503,13 +4503,6 @@ function_arg_slotno (const struct sparc_args *cum, enum machine_mode mode,
gcc_assert (mode == BLKmode);
/* For SPARC64, objects requiring 16-byte alignment get it. */
if (TARGET_ARCH64
&& type
&& TYPE_ALIGN (type) >= 2 * BITS_PER_WORD
&& (slotno & 1) != 0)
slotno++, *ppadding = 1;
if (TARGET_ARCH32 || !type || (TREE_CODE (type) == UNION_TYPE))
{
if (slotno >= SPARC_INT_ARG_MAX)
......
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