From bb47e165074eacd2290ee0b2d2d8562b0f927d8f Mon Sep 17 00:00:00 2001 From: Andreas Krebbel Date: Thu, 7 Feb 2008 19:01:45 +0000 Subject: 2008-02-07 Andreas Krebbel * 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 --- gcc/ChangeLog | 6 +++++- gcc/config/s390/s390.h | 7 ++++--- 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 +2008-02-07 Andreas Krebbel + + * config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit. + +2008-02-07 Richard Henderson 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. */ -- cgit v1.2.3