]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit.
authorAndreas Krebbel <krebbel@gcc.gnu.org>
Thu, 7 Feb 2008 19:01:45 +0000 (19:01 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Thu, 7 Feb 2008 19:01:45 +0000 (19:01 +0000)
2008-02-07  Andreas Krebbel  <krebbel1@de.ibm.com>

* config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit.

From-SVN: r132172

gcc/ChangeLog
gcc/config/s390/s390.h

index 370d11f0812373276acb768b21df6070741393b1..85c6374924198e95f56869cb147db8ed2d931a8b 100644 (file)
@@ -1,4 +1,8 @@
-2008-07-07  Richard Henderson  <rth@redhat.com>
+2008-02-07  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit.
+
+2008-02-07  Richard Henderson  <rth@redhat.com>
 
        PR rtl-opt/33410
        * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use an
index a19cdd4920fe73d6f6675cbc31ce7248ad06f932..391ac1ce5e719832571da4858a05019876d3a4cf 100644 (file)
@@ -636,10 +636,11 @@ CUMULATIVE_ARGS;
 #define FUNCTION_ARG(CUM, MODE, TYPE, NAMED)   \
   s390_function_arg (&CUM, MODE, TYPE, NAMED)
 
-/* Arguments can be placed in general registers 2 to 6,
-   or in floating point registers 0 and 2.  */
+/* Arguments can be placed in general registers 2 to 6, or in floating
+   point registers 0 and 2 for 31 bit and fprs 0, 2, 4 and 6 for 64
+   bit.  */
 #define FUNCTION_ARG_REGNO_P(N) (((N) >=2 && (N) <7) || \
-                                 (N) == 16 || (N) == 17)
+  (N) == 16 || (N) == 17 || (TARGET_64BIT && ((N) == 18 || (N) == 19)))
 
 
 /* Scalar return values.  */