diff options
author | Richard Stallman <rms@gnu.org> | 1993-05-08 21:07:15 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-05-08 21:07:15 +0000 |
commit | e9575b51d7a117624f2c67434ebd8e88aead9bc4 (patch) | |
tree | 58b75b70d04eec3b97a62280515ca531263ff81d /gcc | |
parent | 172a1cb0efe872ecf0a63429da8346f3a856c0c5 (diff) | |
download | gcc-e9575b51d7a117624f2c67434ebd8e88aead9bc4.zip gcc-e9575b51d7a117624f2c67434ebd8e88aead9bc4.tar.gz gcc-e9575b51d7a117624f2c67434ebd8e88aead9bc4.tar.bz2 |
(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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/i386/sco.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/gcc/config/i386/sco.h b/gcc/config/i386/sco.h index dff5e24..1a2559f 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 |