]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
rs6000.h (FUNCTION_VALUE_REGNO_P): Respect TARGET_HARD_FLOAT.
authorAlan Modra <amodra@bigpond.net.au>
Sat, 29 Mar 2003 12:39:20 +0000 (12:39 +0000)
committerAlan Modra <amodra@gcc.gnu.org>
Sat, 29 Mar 2003 12:39:20 +0000 (23:09 +1030)
* config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
TARGET_HARD_FLOAT.  Reformat.
(FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.

From-SVN: r65015

gcc/ChangeLog
gcc/config/rs6000/rs6000.h

index 7d75144d716c5ed2a8a4a7e73328cc905f9a8a36..5ad98717ff9b98666b1bff1fc954fc047045c2ce 100644 (file)
@@ -1,3 +1,9 @@
+2003-03-29  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
+       TARGET_HARD_FLOAT.  Reformat.
+       (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
+
 2003-03-29  Glen Nakamura <glen@imodulo.com>
 
        PR c/8224
index 87c0f4abdd0252954077f247d681c61e055b9485..8ae37da5b2c7054c48109d9b300d4a7adf10bf3b 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions of target machine for GNU compiler, for IBM RS/6000.
    Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-   2000, 2001, 2002 Free Software Foundation, Inc.
+   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
    Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
 
 This file is part of GNU CC.
@@ -1543,20 +1543,20 @@ typedef struct rs6000_stack {
    as seen by the caller.
 
    On RS/6000, this is r3, fp1, and v2 (for AltiVec).  */
-#define FUNCTION_VALUE_REGNO_P(N)  ((N) == GP_ARG_RETURN       \
-                                   || ((N) == FP_ARG_RETURN)   \
-                                   || (TARGET_ALTIVEC &&       \
-                                       (N) == ALTIVEC_ARG_RETURN))
+#define FUNCTION_VALUE_REGNO_P(N)                                      \
+  ((N) == GP_ARG_RETURN                                                        \
+   || ((N) == FP_ARG_RETURN && TARGET_HARD_FLOAT)                      \
+   || ((N) == ALTIVEC_ARG_RETURN && TARGET_ALTIVEC))
 
 /* 1 if N is a possible register number for function argument passing.
    On RS/6000, these are r3-r10 and fp1-fp13.
    On AltiVec, v2 - v13 are used for passing vectors.  */
 #define FUNCTION_ARG_REGNO_P(N)                                                \
-  (((unsigned)((N) - GP_ARG_MIN_REG) < (unsigned)(GP_ARG_NUM_REG))     \
-   || (TARGET_ALTIVEC &&                                               \
-       (unsigned)((N) - ALTIVEC_ARG_MIN_REG) < (unsigned)(ALTIVEC_ARG_NUM_REG)) \
-   || ((unsigned)((N) - FP_ARG_MIN_REG) < (unsigned)(FP_ARG_NUM_REG)))
-
+  ((unsigned) (N) - GP_ARG_MIN_REG < GP_ARG_NUM_REG                    \
+   || ((unsigned) (N) - ALTIVEC_ARG_MIN_REG < ALTIVEC_ARG_NUM_REG      \
+       && TARGET_ALTIVEC)                                              \
+   || ((unsigned) (N) - FP_ARG_MIN_REG < FP_ARG_NUM_REG                        \
+       && TARGET_HARD_FLOAT))
 \f
 /* A C structure for machine-specific, per-function data.
    This is added to the cfun structure.  */