From 0d7839daeef826108df3788cc82c198df2e56b2d Mon Sep 17 00:00:00 2001 From: Steve Ellcey Date: Tue, 11 Dec 2001 23:04:36 +0000 Subject: tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New. 2001-12-11 Steve Ellcey * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New. * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New. * calls.c (store_unaligned_arguments_into_pseudos): Check FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures are passed/returned. * expr.c (move_block_from_reg): Ditto. (move_block_from_reg): Ditto. (copy_blkmode_from_reg): Ditto. * stmt.c (expand_return): Ditto. * stor-layout.c (compute_record_mode): If FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode. * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true so that Structures of one field are still treated as structures. (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true. (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding(). (PAD_VARARGS_DOWN): Modify from default to not pad structures down. * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New. * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function to special case handling of structure padding. From-SVN: r47904 --- gcc/doc/tm.texi | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'gcc/doc') diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index beae6e5..5e97e91 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -3435,6 +3435,14 @@ nonzero, the caller does not make a copy. Instead, it passes a pointer to the determined that the value won't be modified, it need not make a copy; otherwise a copy must be made. +@findex FUNCTION_ARG_REG_LITTLE_ENDIAN +@item FUNCTION_ARG_REG_LITTLE_ENDIAN +If defined TRUE on a big-endian system then structure arguments passed +(and returned) in registers are passed in a little-endian manner instead of +the big-endian manner. On the HP-UX IA64 and PA64 platforms structures are +aligned differently then integral values and setting this value to true will +allow for the special handling of structure arguments and return values. + @findex CUMULATIVE_ARGS @item CUMULATIVE_ARGS A C type for declaring a variable that is used as the first argument of -- cgit v1.1