aix.h (AGGREGATE_PADDING_FIXED): Define.
* config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define. (AGGREGATES_PAD_UPWARD_ALWAYS): Define. (MUST_PASS_IN_STACK): Define. (BLOCK_REG_PADDING): Define. From-SVN: r69570
This commit is contained in:
parent
790199856a
commit
8d05ebaa24
2 changed files with 30 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
|||
2003-07-18 David Edelsohn <edelsohn@gnu.org>
|
||||
|
||||
* config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
|
||||
(AGGREGATES_PAD_UPWARD_ALWAYS): Define.
|
||||
(MUST_PASS_IN_STACK): Define.
|
||||
(BLOCK_REG_PADDING): Define.
|
||||
|
||||
2003-07-18 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
|
||||
|
|
|
@ -149,6 +149,29 @@
|
|||
? MAX (MAX ((COMPUTED), (SPECIFIED)), 64) \
|
||||
: MAX ((COMPUTED), (SPECIFIED)))
|
||||
|
||||
/* The AIX ABI isn't explicit on whether aggregates smaller than a
|
||||
word/doubleword should be padded upward or downward. One could
|
||||
reasonably assume that they follow the normal rules for structure
|
||||
layout treating the parameter area as any other block of memory,
|
||||
then map the reg param area to registers, i.e., pad upward, which
|
||||
is the way IBM Compilers for AIX behave.
|
||||
Setting both of the following defines results in this behaviour. */
|
||||
#define AGGREGATE_PADDING_FIXED 1
|
||||
#define AGGREGATES_PAD_UPWARD_ALWAYS 1
|
||||
|
||||
/* We don't want anything in the reg parm area being passed on the
|
||||
stack. */
|
||||
#define MUST_PASS_IN_STACK(MODE, TYPE) \
|
||||
((TYPE) != 0 \
|
||||
&& (TREE_CODE (TYPE_SIZE (TYPE)) != INTEGER_CST \
|
||||
|| TREE_ADDRESSABLE (TYPE)))
|
||||
|
||||
/* Specify padding for the last element of a block move between
|
||||
registers and memory. FIRST is nonzero if this is the only
|
||||
element. */
|
||||
#define BLOCK_REG_PADDING(MODE, TYPE, FIRST) \
|
||||
(!(FIRST) ? upward : FUNCTION_ARG_PADDING (MODE, TYPE))
|
||||
|
||||
/* Indicate that jump tables go in the text section. */
|
||||
|
||||
#define JUMP_TABLES_IN_TEXT_SECTION 1
|
||||
|
|
Loading…
Add table
Reference in a new issue