From 2001a5cf1f14c861eb216494030719b402355480 Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Mon, 26 Jan 2004 15:50:55 +0000 Subject: [PATCH] ns32k.c (TARGET_STRUCT_VALUE_RTX): New. * config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New. (ns32k_struct_value_rtx): Likewise. * config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to NS32K_STRUCT_VALUE_REGNUM. From-SVN: r76638 --- gcc/ChangeLog | 7 +++++++ gcc/config/ns32k/ns32k.c | 13 ++++++++++++- gcc/config/ns32k/ns32k.h | 4 ++-- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 60c03f17d29..753aaee2c52 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-01-26 Kazu Hirata + + * config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New. + (ns32k_struct_value_rtx): Likewise. + * config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to + NS32K_STRUCT_VALUE_REGNUM. + 2004-01-26 Kazu Hirata * config/arm/arm.c (TARGET_PROMOTE_FUNCTION_ARGS): New. diff --git a/gcc/config/ns32k/ns32k.c b/gcc/config/ns32k/ns32k.c index e80724ecf40..ff9f5a70a1e 100644 --- a/gcc/config/ns32k/ns32k.c +++ b/gcc/config/ns32k/ns32k.c @@ -1,5 +1,5 @@ /* Subroutines for assembler code output on the NS32000. - Copyright (C) 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 + Copyright (C) 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2004 Free Software Foundation, Inc. This file is part of GCC. @@ -73,6 +73,7 @@ static void ns32k_output_function_prologue (FILE *, HOST_WIDE_INT); static void ns32k_output_function_epilogue (FILE *, HOST_WIDE_INT); static bool ns32k_rtx_costs (rtx, int, int, int *); static int ns32k_address_cost (rtx); +static rtx ns32k_struct_value_rtx (tree, int); /* Initialize the GCC target structure. */ #undef TARGET_ATTRIBUTE_TABLE @@ -96,6 +97,9 @@ static int ns32k_address_cost (rtx); #undef TARGET_ADDRESS_COST #define TARGET_ADDRESS_COST ns32k_address_cost +#undef TARGET_STRUCT_VALUE_RTX +#define TARGET_STRUCT_VALUE_RTX ns32k_struct_value_rtx + #undef TARGET_ASM_FILE_START_APP_OFF #define TARGET_ASM_FILE_START_APP_OFF true @@ -1557,3 +1561,10 @@ output_move_dconst (int n, const char *s) strcat (r, s); return r; } + +static rtx +ns32k_struct_value_rtx (tree fntype ATTRIBUTE_UNUSED, + int incoming ATTRIBUTE_UNUSED) +{ + return gen_rtx_REG (Pmode, NS32K_STRUCT_VALUE_REGNUM); +} diff --git a/gcc/config/ns32k/ns32k.h b/gcc/config/ns32k/ns32k.h index 091b138a18c..2a1dab08fe9 100644 --- a/gcc/config/ns32k/ns32k.h +++ b/gcc/config/ns32k/ns32k.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler. NS32000 version. Copyright (C) 1988, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002 Free Software Foundation, Inc. + 2001, 2002, 2004 Free Software Foundation, Inc. Contributed by Michael Tiemann (tiemann@cygnus.com) This file is part of GCC. @@ -404,7 +404,7 @@ while (0) /* Register in which address to store a structure value is passed to a function. */ -#define STRUCT_VALUE_REGNUM 2 +#define NS32K_STRUCT_VALUE_REGNUM 2 /* Define the classes of registers for register constraints in the machine description. Also define ranges of constants. -- 2.30.2