aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@gcc.gnu.org>2008-02-07 19:01:45 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2008-02-07 19:01:45 +0000
commit96e2afa84b540bd4d2c6f019a1fa0ddbc64e565d (patch)
treef479c36e8fe7a7cdbd7377e05a683d090bd9cb91 /gcc
parent32891ff6a1dac549cc54ec990aff52505633d593 (diff)
downloadgcc-96e2afa84b540bd4d2c6f019a1fa0ddbc64e565d.zip
gcc-96e2afa84b540bd4d2c6f019a1fa0ddbc64e565d.tar.gz
gcc-96e2afa84b540bd4d2c6f019a1fa0ddbc64e565d.tar.bz2
s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit.
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/s390/s390.h7
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 370d11f..85c6374 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h
index a19cdd4..391ac1c 100644
--- a/gcc/config/s390/s390.h
+++ b/gcc/config/s390/s390.h
@@ -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. */