OSDN Git Service

* sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
authordevans <devans@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 Oct 1997 20:39:37 +0000 (20:39 +0000)
committerdevans <devans@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 Oct 1997 20:39:37 +0000 (20:39 +0000)
commit279e84053c27c5e9c6f2d7fffaf7b1e00d21f559
treea66dd17c6cdd2d0fdbd52a6cbac07913b75ddbba
parent03e1e44613d2fb71d4dfa4dfb7e01c75d3ce7c5f
* sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
* sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
(PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
(SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
(SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
(SPARC_FP_ARG_FIRST): New macro.
(CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
(REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
(NPARM_REGS): There are 32 fp argument registers now.
(FUNCTION_ARG_REGNO_P): Likewise.
(FIRST_PARM_OFFSET): Update to new v9 abi.
(REG_PARM_STACK_SPACE): Define for arch64.
(enum sparc_arg_class): Delete.
(sparc_arg_count,sparc_n_named_args): Delete.
(struct sparc_args): Redefine and use for arch32 as well as arch64.
(GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
(FUNCTION_ARG_ADVANCE): Rewrite.
(FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
(FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
(FUNCTION_ARG_CALLEE_COPIES): Delete.
(FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
(STRICT_ARGUMENT_NAMING): Define.
(doublemove_string): Declare.
* sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
(single_move_string): Use GEN_INT, and HOST_WIDE_INT.
(doublemove_string): New function.
(output_move_quad): Clean up some of the arch64 support.
(compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
Don't add 8 bytes of reserved space if arch64.
(sparc_builtin_saveregs): Combine arch32/arch64 versions.
(init_cumulative_args): New function.
(function_arg_slotno): New static function.
(function_arg,function_arg_partial_nregs): New functions.
(function_arg_{pass_by_reference,advance}): New functions.
(function_arg_padding): New function.
First pass at updating to current v9 abi.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15968 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/config/sparc/sp64-elf.h
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.h