From e9575b51d7a117624f2c67434ebd8e88aead9bc4 Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Sat, 8 May 1993 21:07:15 +0000 Subject: [PATCH] (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 --- gcc/config/i386/sco.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/gcc/config/i386/sco.h b/gcc/config/i386/sco.h index dff5e246da7..1a2559f2a00 100644 --- a/gcc/config/i386/sco.h +++ b/gcc/config/i386/sco.h @@ -60,17 +60,19 @@ /* 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 -- 2.30.2