ns32k.c (TARGET_STRUCT_VALUE_RTX): New.
authorKazu Hirata <kazu@cs.umass.edu>
Mon, 26 Jan 2004 15:50:55 +0000 (15:50 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Mon, 26 Jan 2004 15:50:55 +0000 (15:50 +0000)
* 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
gcc/config/ns32k/ns32k.c
gcc/config/ns32k/ns32k.h

index 60c03f17d299c5df9b4e5c209bc6d997b8accbbc..753aaee2c5299e02347c24647a7e7683247b91bf 100644 (file)
@@ -1,3 +1,10 @@
+2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * 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  <kazu@cs.umass.edu>
 
        * config/arm/arm.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
index e80724ecf40f1e65d7184d0fc75471f244a06fe4..ff9f5a70a1e41f30e4673ec67b34324275fe9e43 100644 (file)
@@ -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);
 \f
 /* 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);
+}
index 091b138a18c43788c90c6bff9189a2a48e7c37e4..2a1dab08fe939c4f3088d909f595bc4134a1b4f5 100644 (file)
@@ -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
 \f
 /* Define the classes of registers for register constraints in the
    machine description.  Also define ranges of constants.