amdgcn: Pass vector parameters in memory
gcc/ChangeLog: * config/gcn/gcn.c (gcn_function_arg): Disallow vector arguments. (gcn_return_in_memory): Return vectors in memory.
This commit is contained in:
parent
c154b8bc56
commit
d32495261a
|
@ -2291,6 +2291,10 @@ gcn_function_arg (cumulative_args_t cum_v, const function_arg_info &arg)
|
|||
if (targetm.calls.must_pass_in_stack (arg))
|
||||
return 0;
|
||||
|
||||
/* Vector parameters are not supported yet. */
|
||||
if (VECTOR_MODE_P (arg.mode))
|
||||
return 0;
|
||||
|
||||
int reg_num = FIRST_PARM_REG + cum->num;
|
||||
int num_regs = num_arg_regs (arg);
|
||||
if (num_regs > 0)
|
||||
|
@ -2478,6 +2482,10 @@ gcn_return_in_memory (const_tree type, const_tree ARG_UNUSED (fntype))
|
|||
if (AGGREGATE_TYPE_P (type))
|
||||
return true;
|
||||
|
||||
/* Vector return values are not supported yet. */
|
||||
if (VECTOR_TYPE_P (type))
|
||||
return true;
|
||||
|
||||
if (mode == BLKmode)
|
||||
return true;
|
||||
|
||||
|
|
Loading…
Reference in New Issue