aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel1@de.ibm.com>2008-02-07 19:01:45 +0000
committerAndreas Krebbel <krebbel1@de.ibm.com>2008-02-07 19:01:45 +0000
commitbb47e165074eacd2290ee0b2d2d8562b0f927d8f (patch)
treef479c36e8fe7a7cdbd7377e05a683d090bd9cb91
parent72930b28eb95f142e0c7624ee324f65e9cf156ba (diff)
2008-02-07 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@132172 138bc75d-0d04-0410-961f-82ee72b054a4
-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 370d11f0812..85c63749241 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 a19cdd4920f..391ac1ce5e7 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. */