Commit 58b57c2c by Jim Wilson

(FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P): Include FP registers only when TARGET_SH3E.

(FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P): Include FP
registers only when TARGET_SH3E.
(PASS_IN_REG_P): Exclude BLKmode only when ! TARGET_SH3E.

From-SVN: r11363
parent 5566b478
...@@ -656,12 +656,13 @@ extern enum reg_class reg_class_from_letter[]; ...@@ -656,12 +656,13 @@ extern enum reg_class reg_class_from_letter[];
/* 1 if N is a possible register number for a function value. */ /* 1 if N is a possible register number for a function value. */
#define FUNCTION_VALUE_REGNO_P(REGNO) \ #define FUNCTION_VALUE_REGNO_P(REGNO) \
((REGNO) == FIRST_RET_REG || (REGNO) == FIRST_FP_RET_REG) ((REGNO) == FIRST_RET_REG || (TARGET_SH3E && (REGNO) == FIRST_FP_RET_REG))
/* 1 if N is a possible register number for function argument passing. */ /* 1 if N is a possible register number for function argument passing. */
#define FUNCTION_ARG_REGNO_P(REGNO) \ #define FUNCTION_ARG_REGNO_P(REGNO) \
(((REGNO) >= FIRST_PARM_REG && (REGNO) < (FIRST_PARM_REG + 4)) \ (((REGNO) >= FIRST_PARM_REG && (REGNO) < (FIRST_PARM_REG + 4)) \
|| ((REGNO >= FIRST_FP_PARM_REG && (REGNO) < (FIRST_FP_PARM_REG + 8)))) || (TARGET_SH3E \
&& (REGNO) >= FIRST_FP_PARM_REG && (REGNO) < (FIRST_FP_PARM_REG + 8)))
/* Define a data type for recording info about an argument list /* Define a data type for recording info about an argument list
during the scan of that argument list. This data type should during the scan of that argument list. This data type should
...@@ -730,8 +731,9 @@ struct sh_args { ...@@ -730,8 +731,9 @@ struct sh_args {
#define PASS_IN_REG_P(CUM, MODE, TYPE) \ #define PASS_IN_REG_P(CUM, MODE, TYPE) \
(ROUND_REG ((CUM), (MODE)) < NPARM_REGS (MODE) \ (ROUND_REG ((CUM), (MODE)) < NPARM_REGS (MODE) \
&& ((TYPE)==0 || ! TREE_ADDRESSABLE((tree)(TYPE))) \ && ((TYPE) == 0 || ! TREE_ADDRESSABLE ((tree)(TYPE))) \
&& ((TYPE)==0 || (MODE) != BLKmode)) /* ??? This is questionable. Should perhaps be deleted. */ \
&& (! TARGET_SH3E || (TYPE) == 0 || (MODE) != BLKmode))
/* Define where to put the arguments to a function. /* Define where to put the arguments to a function.
Value is zero to push the argument on the stack, Value is zero to push the argument on the stack,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment