(VALUE_REGNO, HARD_REGNO_MODE_OK): Add missing #undef.
authorRichard Stallman <rms@gnu.org>
Sat, 8 May 1993 21:07:15 +0000 (21:07 +0000)
committerRichard Stallman <rms@gnu.org>
Sat, 8 May 1993 21:07:15 +0000 (21:07 +0000)
(HARD_REGNO_MODE_OK): Properly check for floating-point registers.
Register 16 is AP and not floating.

From-SVN: r4386

gcc/config/i386/sco.h

index dff5e246da723da40675c6767220754eb0c6049b..1a2559f2a000b6bfbb0767c3128c042fc3933e6d 100644 (file)
 /* If no 387, use the general regs to return floating values,
    since this system does not emulate the 80387.  */
 
+#undef VALUE_REGNO
 #define VALUE_REGNO(MODE) \
   ((TARGET_80387 && ((MODE) == SFmode || (MODE) == DFmode))
    ? FIRST_FLOAT_REG : 0)
 
-#define HARD_REGNO_MODE_OK(REGNO, MODE) \
-  ((REGNO) < 2 ? 1                                                     \
-   : (REGNO) < 4 ? 1                                                   \
-   : (REGNO) >= 8 ? ((GET_MODE_CLASS (MODE) == MODE_FLOAT              \
-                     || GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT)   \
-                    && TARGET_80387                                    \
-                    && GET_MODE_UNIT_SIZE (MODE) <= 8)                 \
+#undef HARD_REGNO_MODE_OK
+#define HARD_REGNO_MODE_OK(REGNO, MODE)                                          \
+  ((REGNO) < 2 ? 1                                                       \
+   : (REGNO) < 4 ? 1                                                     \
+   : FP_REGNO_P (REGNO) ? ((GET_MODE_CLASS (MODE) == MODE_FLOAT                  \
+                          || GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT) \
+                         && TARGET_80387                                 \
+                         && GET_MODE_UNIT_SIZE (MODE) <= 8)              \
    : (MODE) != QImode)
 #endif