diff options
author | Alan Modra <amodra@bigpond.net.au> | 2003-03-29 04:03:07 +0000 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2003-03-29 14:33:07 +1030 |
commit | e87a88d34cd756e384041fb54f800ccf9a945d66 (patch) | |
tree | 5eedeff1d6c36695e1463b4374799a16ade45555 | |
parent | 12f76820b4639161d29368a37fcec3b6283605b0 (diff) | |
download | gcc-e87a88d34cd756e384041fb54f800ccf9a945d66.zip gcc-e87a88d34cd756e384041fb54f800ccf9a945d66.tar.gz gcc-e87a88d34cd756e384041fb54f800ccf9a945d66.tar.bz2 |
rs6000.h (FUNCTION_VALUE_REGNO_P): Respect TARGET_HARD_FLOAT.
* config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
TARGET_HARD_FLOAT. Reformat.
(FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
From-SVN: r65010
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 18 |
2 files changed, 15 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 59c8e6c..7f954a9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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-28 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index 4adb4e0..58d5d5b 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -1635,20 +1635,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)) /* A C structure for machine-specific, per-function data. This is added to the cfun structure. */ |