Commit 42373118 by Segher Boessenkool Committed by Segher Boessenkool

rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement as rs6000_promote_function_mode.

	* config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
	as rs6000_promote_function_mode.  Move comment to there.
	(rs6000_promote_function_mode): New function.

From-SVN: r219751
parent 96922e4c
2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
as rs6000_promote_function_mode. Move comment to there.
(rs6000_promote_function_mode): New function.
2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
-mpowerpc64 is active.
......
......@@ -1511,10 +1511,8 @@ static const struct attribute_spec rs6000_attribute_table[] =
#undef TARGET_MEMBER_TYPE_FORCES_BLK
#define TARGET_MEMBER_TYPE_FORCES_BLK rs6000_member_type_forces_blk
/* On rs6000, function arguments are promoted, as are function return
values. */
#undef TARGET_PROMOTE_FUNCTION_MODE
#define TARGET_PROMOTE_FUNCTION_MODE default_promote_function_mode_always_promote
#define TARGET_PROMOTE_FUNCTION_MODE rs6000_promote_function_mode
#undef TARGET_RETURN_IN_MEMORY
#define TARGET_RETURN_IN_MEMORY rs6000_return_in_memory
......@@ -9308,6 +9306,20 @@ init_cumulative_args (CUMULATIVE_ARGS *cum, tree fntype,
}
}
/* On rs6000, function arguments are promoted, as are function return
values. */
static machine_mode
rs6000_promote_function_mode (const_tree type ATTRIBUTE_UNUSED,
machine_mode mode,
int *punsignedp ATTRIBUTE_UNUSED,
const_tree, int)
{
PROMOTE_MODE (mode, *punsignedp, type);
return mode;
}
/* Return true if TYPE must be passed on the stack and not in registers. */
static bool
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