Commit 26c5587d by Jim Wilson

(TARGET_SWITCHES): Add no-fpu and hard-float.

(CONDITIONAL_REGISTER_USAGE): Define for ! TARGET_FPU.
(BASE_RETURN_VALUE_REG): Use reg 8 when ! TARGET_FPU.
(BASE_OUTGOING_VALUE_REG): Use reg 24 when ! TARGET_FPU.

From-SVN: r3196
parent ab5519b7
...@@ -120,6 +120,8 @@ extern int target_flags; ...@@ -120,6 +120,8 @@ extern int target_flags;
#define TARGET_SWITCHES \ #define TARGET_SWITCHES \
{ {"fpu", 1}, \ { {"fpu", 1}, \
{"no-fpu", -1}, \
{"hard-float", 1}, \
{"soft-float", -1}, \ {"soft-float", -1}, \
{"epilogue", 2}, \ {"epilogue", 2}, \
{"no-epilogue", -2}, \ {"no-epilogue", -2}, \
...@@ -300,6 +302,21 @@ extern int target_flags; ...@@ -300,6 +302,21 @@ extern int target_flags;
1, 1, 1, 1, 1, 1, 1, 1, \ 1, 1, 1, 1, 1, 1, 1, 1, \
1, 1, 1, 1, 1, 1, 1, 1} 1, 1, 1, 1, 1, 1, 1, 1}
/* If !TARGET_FPU, then make the fp registers fixed so that they won't
be allocated. */
#define CONDITIONAL_REGISTER_USAGE \
do \
{ \
if (! TARGET_FPU) \
{ \
int regno; \
for (regno = 32; regno < 64; regno++) \
fixed_regs[regno] = 1; \
} \
} \
while (0)
/* Return number of consecutive hard regs needed starting at reg REGNO /* Return number of consecutive hard regs needed starting at reg REGNO
to hold something of mode MODE. to hold something of mode MODE.
This is ordinarily the length in words of a value of mode MODE This is ordinarily the length in words of a value of mode MODE
...@@ -654,9 +671,9 @@ extern char leaf_reg_backmap[]; ...@@ -654,9 +671,9 @@ extern char leaf_reg_backmap[];
/* Some subroutine macros specific to this machine. */ /* Some subroutine macros specific to this machine. */
#define BASE_RETURN_VALUE_REG(MODE) \ #define BASE_RETURN_VALUE_REG(MODE) \
((MODE) == SFmode || (MODE) == DFmode ? 32 : 8) (((MODE) == SFmode || (MODE) == DFmode) && TARGET_FPU ? 32 : 8)
#define BASE_OUTGOING_VALUE_REG(MODE) \ #define BASE_OUTGOING_VALUE_REG(MODE) \
((MODE) == SFmode || (MODE) == DFmode ? 32 : 24) (((MODE) == SFmode || (MODE) == DFmode) && TARGET_FPU ? 32 : 24)
#define BASE_PASSING_ARG_REG(MODE) (8) #define BASE_PASSING_ARG_REG(MODE) (8)
#define BASE_INCOMING_ARG_REG(MODE) (24) #define BASE_INCOMING_ARG_REG(MODE) (24)
......
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