xtensa.c (function_arg): Generalize logic so that it handles complex and vector modes.
* config/xtensa/xtensa.c (function_arg): Generalize logic so that it handles complex and vector modes. From-SVN: r76373
This commit is contained in:
parent
0dce1c0fcb
commit
b16417d615
2 changed files with 10 additions and 5 deletions
|
@ -1,3 +1,8 @@
|
|||
2004-01-22 Bob Wilson <bob.wilson@acm.org>
|
||||
|
||||
* config/xtensa/xtensa.c (function_arg): Generalize logic so that it
|
||||
handles complex and vector modes.
|
||||
|
||||
2004-01-22 Kazu Hirata <kazu@cs.umass.edu>
|
||||
|
||||
* config/h8300/h8300.h (REG_OK_FOR_INDEX_P_STRICT): Remove.
|
||||
|
|
|
@ -1753,12 +1753,12 @@ function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode, tree type,
|
|||
result_mode = (mode == BLKmode ? TYPE_MODE (type) : mode);
|
||||
|
||||
/* We need to make sure that references to a7 are represented with
|
||||
rtx that is not equal to hard_frame_pointer_rtx. For BLKmode and
|
||||
modes bigger than 2 words (because we only have patterns for
|
||||
modes of 2 words or smaller), we can't control the expansion
|
||||
unless we explicitly list the individual registers in a PARALLEL. */
|
||||
rtx that is not equal to hard_frame_pointer_rtx. For multi-word
|
||||
modes for which we don't define move patterns, we can't control
|
||||
the expansion unless we explicitly list the individual registers
|
||||
in a PARALLEL. */
|
||||
|
||||
if ((mode == BLKmode || words > 2)
|
||||
if (mode != DImode && mode != DFmode
|
||||
&& regno < A7_REG
|
||||
&& regno + words > A7_REG)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue