rs6000.c (USE_FP_FOR_ARG_P): Remove TYPE argument.
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Remove TYPE argument. (USE_ALTIVEC_FOR_ARG_P): Likewise. (rs6000_darwin64_record_arg_advance_recurse): Update uses. (rs6000_function_arg_advance_1):Likewise. (rs6000_darwin64_record_arg_recurse): Likewise. (rs6000_function_arg): Likewise. (rs6000_arg_partial_bytes): Likewise. From-SVN: r204805
This commit is contained in:
parent
008e32c018
commit
abc991e700
2 changed files with 21 additions and 11 deletions
|
@ -1,3 +1,13 @@
|
|||
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
|
||||
|
||||
* config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Remove TYPE argument.
|
||||
(USE_ALTIVEC_FOR_ARG_P): Likewise.
|
||||
(rs6000_darwin64_record_arg_advance_recurse): Update uses.
|
||||
(rs6000_function_arg_advance_1):Likewise.
|
||||
(rs6000_darwin64_record_arg_recurse): Likewise.
|
||||
(rs6000_function_arg): Likewise.
|
||||
(rs6000_arg_partial_bytes): Likewise.
|
||||
|
||||
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
|
||||
|
||||
* config/rs6000/rs6000.c (rs6000_option_override_internal): Replace
|
||||
|
|
|
@ -8439,13 +8439,13 @@ rs6000_member_type_forces_blk (const_tree field, enum machine_mode mode)
|
|||
}
|
||||
|
||||
/* Nonzero if we can use a floating-point register to pass this arg. */
|
||||
#define USE_FP_FOR_ARG_P(CUM,MODE,TYPE) \
|
||||
#define USE_FP_FOR_ARG_P(CUM,MODE) \
|
||||
(SCALAR_FLOAT_MODE_P (MODE) \
|
||||
&& (CUM)->fregno <= FP_ARG_MAX_REG \
|
||||
&& TARGET_HARD_FLOAT && TARGET_FPRS)
|
||||
|
||||
/* Nonzero if we can use an AltiVec register to pass this arg. */
|
||||
#define USE_ALTIVEC_FOR_ARG_P(CUM,MODE,TYPE,NAMED) \
|
||||
#define USE_ALTIVEC_FOR_ARG_P(CUM,MODE,NAMED) \
|
||||
(ALTIVEC_OR_VSX_VECTOR_MODE (MODE) \
|
||||
&& (CUM)->vregno <= ALTIVEC_ARG_MAX_REG \
|
||||
&& TARGET_ALTIVEC_ABI \
|
||||
|
@ -8894,7 +8894,7 @@ rs6000_darwin64_record_arg_advance_recurse (CUMULATIVE_ARGS *cum,
|
|||
|
||||
if (TREE_CODE (ftype) == RECORD_TYPE)
|
||||
rs6000_darwin64_record_arg_advance_recurse (cum, ftype, bitpos);
|
||||
else if (USE_FP_FOR_ARG_P (cum, mode, ftype))
|
||||
else if (USE_FP_FOR_ARG_P (cum, mode))
|
||||
{
|
||||
unsigned n_fpregs = (GET_MODE_SIZE (mode) + 7) >> 3;
|
||||
rs6000_darwin64_record_arg_advance_flush (cum, bitpos, 0);
|
||||
|
@ -8935,7 +8935,7 @@ rs6000_darwin64_record_arg_advance_recurse (CUMULATIVE_ARGS *cum,
|
|||
else
|
||||
cum->words += n_fpregs;
|
||||
}
|
||||
else if (USE_ALTIVEC_FOR_ARG_P (cum, mode, type, 1))
|
||||
else if (USE_ALTIVEC_FOR_ARG_P (cum, mode, 1))
|
||||
{
|
||||
rs6000_darwin64_record_arg_advance_flush (cum, bitpos, 0);
|
||||
cum->vregno++;
|
||||
|
@ -8998,7 +8998,7 @@ rs6000_function_arg_advance_1 (CUMULATIVE_ARGS *cum, enum machine_mode mode,
|
|||
{
|
||||
bool stack = false;
|
||||
|
||||
if (USE_ALTIVEC_FOR_ARG_P (cum, mode, type, named))
|
||||
if (USE_ALTIVEC_FOR_ARG_P (cum, mode, named))
|
||||
{
|
||||
cum->vregno++;
|
||||
if (!TARGET_ALTIVEC)
|
||||
|
@ -9371,7 +9371,7 @@ rs6000_darwin64_record_arg_recurse (CUMULATIVE_ARGS *cum, const_tree type,
|
|||
|
||||
if (TREE_CODE (ftype) == RECORD_TYPE)
|
||||
rs6000_darwin64_record_arg_recurse (cum, ftype, bitpos, rvec, k);
|
||||
else if (cum->named && USE_FP_FOR_ARG_P (cum, mode, ftype))
|
||||
else if (cum->named && USE_FP_FOR_ARG_P (cum, mode))
|
||||
{
|
||||
unsigned n_fpreg = (GET_MODE_SIZE (mode) + 7) >> 3;
|
||||
#if 0
|
||||
|
@ -9399,7 +9399,7 @@ rs6000_darwin64_record_arg_recurse (CUMULATIVE_ARGS *cum, const_tree type,
|
|||
if (mode == TFmode || mode == TDmode)
|
||||
cum->fregno++;
|
||||
}
|
||||
else if (cum->named && USE_ALTIVEC_FOR_ARG_P (cum, mode, ftype, 1))
|
||||
else if (cum->named && USE_ALTIVEC_FOR_ARG_P (cum, mode, 1))
|
||||
{
|
||||
rs6000_darwin64_record_arg_flush (cum, bitpos, rvec, k);
|
||||
rvec[(*k)++]
|
||||
|
@ -9584,7 +9584,7 @@ rs6000_function_arg (cumulative_args_t cum_v, enum machine_mode mode,
|
|||
/* Else fall through to usual handling. */
|
||||
}
|
||||
|
||||
if (USE_ALTIVEC_FOR_ARG_P (cum, mode, type, named))
|
||||
if (USE_ALTIVEC_FOR_ARG_P (cum, mode, named))
|
||||
if (TARGET_64BIT && ! cum->prototype)
|
||||
{
|
||||
/* Vector parameters get passed in vector register
|
||||
|
@ -9712,7 +9712,7 @@ rs6000_function_arg (cumulative_args_t cum_v, enum machine_mode mode,
|
|||
if (mode == TDmode && (cum->fregno % 2) == 1)
|
||||
cum->fregno++;
|
||||
|
||||
if (USE_FP_FOR_ARG_P (cum, mode, type))
|
||||
if (USE_FP_FOR_ARG_P (cum, mode))
|
||||
{
|
||||
rtx rvec[GP_ARG_NUM_REG + 1];
|
||||
rtx r;
|
||||
|
@ -9828,7 +9828,7 @@ rs6000_arg_partial_bytes (cumulative_args_t cum_v, enum machine_mode mode,
|
|||
if (DEFAULT_ABI == ABI_V4)
|
||||
return 0;
|
||||
|
||||
if (USE_ALTIVEC_FOR_ARG_P (cum, mode, type, named)
|
||||
if (USE_ALTIVEC_FOR_ARG_P (cum, mode, named)
|
||||
&& cum->nargs_prototype >= 0)
|
||||
return 0;
|
||||
|
||||
|
@ -9838,7 +9838,7 @@ rs6000_arg_partial_bytes (cumulative_args_t cum_v, enum machine_mode mode,
|
|||
|
||||
align_words = rs6000_parm_start (mode, type, cum->words);
|
||||
|
||||
if (USE_FP_FOR_ARG_P (cum, mode, type))
|
||||
if (USE_FP_FOR_ARG_P (cum, mode))
|
||||
{
|
||||
/* If we are passing this arg in the fixed parameter save area
|
||||
(gprs or memory) as well as fprs, then this function should
|
||||
|
|
Loading…
Add table
Reference in a new issue