diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cc5d46d8966..6491a8194bf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2001-09-27 Aldy Hernandez + + * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3 + to macros. + (LIBCALL_VALUE): Likewise. + 2001-09-27 Neil Booth * cpphash.h: Update comment. diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index a1103a7b01f..3e8780da69a 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -1292,14 +1292,16 @@ typedef struct rs6000_stack { && TYPE_PRECISION (VALTYPE) < BITS_PER_WORD) \ || POINTER_TYPE_P (VALTYPE) \ ? word_mode : TYPE_MODE (VALTYPE), \ - TREE_CODE (VALTYPE) == REAL_TYPE && TARGET_HARD_FLOAT ? 33 : 3) + TREE_CODE (VALTYPE) == REAL_TYPE && TARGET_HARD_FLOAT \ + ? FP_ARG_RETURN : GP_ARG_RETURN) /* Define how to find the value returned by a library function assuming the value has mode MODE. */ -#define LIBCALL_VALUE(MODE) \ - gen_rtx_REG (MODE, (GET_MODE_CLASS (MODE) == MODE_FLOAT \ - && TARGET_HARD_FLOAT ? 33 : 3)) +#define LIBCALL_VALUE(MODE) \ + gen_rtx_REG (MODE, (GET_MODE_CLASS (MODE) == MODE_FLOAT \ + && TARGET_HARD_FLOAT \ + ? FP_ARG_RETURN : GP_ARG_RETURN)) /* The definition of this macro implies that there are cases where a scalar value cannot be returned in registers.