From 06d53f195f054afe29525f556f26a021a28fde98 Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Sat, 8 May 1993 21:08:20 +0000 Subject: [PATCH] (HARD_REGNO_MODE_OK): Properly check for floating-point registers. Register 16 is AP and not floating. From-SVN: r4387 --- gcc/config/i386/sequent.h | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/gcc/config/i386/sequent.h b/gcc/config/i386/sequent.h index 004d3d1d321..5604347e80f 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)) -- 2.30.2