Commit e9575b51 by Richard Stallman

(VALUE_REGNO, HARD_REGNO_MODE_OK): Add missing #undef.

(HARD_REGNO_MODE_OK): Properly check for floating-point registers.
Register 16 is AP and not floating.

From-SVN: r4386
parent 172a1cb0
...@@ -60,17 +60,19 @@ ...@@ -60,17 +60,19 @@
/* If no 387, use the general regs to return floating values, /* If no 387, use the general regs to return floating values,
since this system does not emulate the 80387. */ since this system does not emulate the 80387. */
#undef VALUE_REGNO
#define VALUE_REGNO(MODE) \ #define VALUE_REGNO(MODE) \
((TARGET_80387 && ((MODE) == SFmode || (MODE) == DFmode)) ((TARGET_80387 && ((MODE) == SFmode || (MODE) == DFmode))
? FIRST_FLOAT_REG : 0) ? FIRST_FLOAT_REG : 0)
#define HARD_REGNO_MODE_OK(REGNO, MODE) \ #undef HARD_REGNO_MODE_OK
((REGNO) < 2 ? 1 \ #define HARD_REGNO_MODE_OK(REGNO, MODE) \
: (REGNO) < 4 ? 1 \ ((REGNO) < 2 ? 1 \
: (REGNO) >= 8 ? ((GET_MODE_CLASS (MODE) == MODE_FLOAT \ : (REGNO) < 4 ? 1 \
|| GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT) \ : FP_REGNO_P (REGNO) ? ((GET_MODE_CLASS (MODE) == MODE_FLOAT \
&& TARGET_80387 \ || GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT) \
&& GET_MODE_UNIT_SIZE (MODE) <= 8) \ && TARGET_80387 \
&& GET_MODE_UNIT_SIZE (MODE) <= 8) \
: (MODE) != QImode) : (MODE) != QImode)
#endif #endif
......
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