diff options
author | Richard Stallman <rms@gnu.org> | 1993-05-08 21:08:20 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-05-08 21:08:20 +0000 |
commit | 06d53f195f054afe29525f556f26a021a28fde98 (patch) | |
tree | f61c9b517bb37fc82d0a6d885677b068ffa9b49f /gcc | |
parent | e9575b51d7a117624f2c67434ebd8e88aead9bc4 (diff) | |
download | gcc-06d53f195f054afe29525f556f26a021a28fde98.zip gcc-06d53f195f054afe29525f556f26a021a28fde98.tar.gz gcc-06d53f195f054afe29525f556f26a021a28fde98.tar.bz2 |
(HARD_REGNO_MODE_OK): Properly check for floating-point registers.
Register 16 is AP and not floating.
From-SVN: r4387
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/i386/sequent.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/gcc/config/i386/sequent.h b/gcc/config/i386/sequent.h index 004d3d1..5604347 100644 --- a/gcc/config/i386/sequent.h +++ b/gcc/config/i386/sequent.h @@ -73,6 +73,20 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ((n) < 3 ? (n) : (n) < 6 ? (n) + 2 \ : (n) == 6 ? 15 : (n) == 7 ? 14 : 3) +/* malcolmp@hydra.maths.unsw.EDU.AU says these two definitions + fix trouble in dbx. */ +#undef DBX_OUTPUT_LBRAC +#define DBX_OUTPUT_LBRAC(file,name) \ + fprintf (asmfile, "%s %d,0,%d,", ASM_STABN_OP, N_LBRAC, depth); \ + assemble_name (asmfile, buf); \ + fprintf (asmfile, "\n"); + +#undef DBX_OUTPUT_RBRAC +#define DBX_OUTPUT_RBRAC(file,name) \ + fprintf (asmfile, "%s %d,0,%d,", ASM_STABN_OP, N_RBRAC, depth); \ + assemble_name (asmfile, buf); \ + fprintf (asmfile, "\n"); + /* Prevent anything from being allocated in the register pair cx/bx, since that would confuse GDB. */ @@ -80,8 +94,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #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) \ + : FP_REGNO_P (REGNO) ? (GET_MODE_CLASS (MODE) == MODE_FLOAT \ + || GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT) \ : (MODE) != QImode) \ && ! (REGNO == 2 && GET_MODE_UNIT_SIZE (MODE) > 4)) |