This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
IA-64 patch for compiler abort
- To: gcc-patches at gcc dot gnu dot org
- Subject: IA-64 patch for compiler abort
- From: Jim Wilson <wilson at cygnus dot com>
- Date: Wed, 19 Jul 2000 16:02:57 -0700
This fixes a compiler abort that occured while trying to compile PlumHall.
global-alloc tried to put an XFmode value in a general register, but the
movxf_internal pattern does not support that, leading to an abort in reload.
2000-07-19 Jim Wilson <wilson@cygnus.com>
* config/ia64/ia64.h (HARD_REGNO_MODE_OK): Don't allow XFmode in
GR_REGS.
Index: ia64.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/ia64/ia64.h,v
retrieving revision 1.26
diff -p -r1.26 ia64.h
*** ia64.h 2000/07/10 20:51:23 1.26
--- ia64.h 2000/07/19 22:59:41
*************** while (0)
*** 810,819 ****
/* A C expression that is nonzero if it is permissible to store a value of mode
MODE in hard register number REGNO (or in several registers starting with
that one). */
! /* ??? movxf_internal does not support XFmode values in integer registers. */
#define HARD_REGNO_MODE_OK(REGNO, MODE) \
(FR_REGNO_P (REGNO) ? (MODE) != CCmode \
: PR_REGNO_P (REGNO) ? (MODE) == CCmode \
: 1)
/* A C expression that is nonzero if it is desirable to choose register
--- 810,820 ----
/* A C expression that is nonzero if it is permissible to store a value of mode
MODE in hard register number REGNO (or in several registers starting with
that one). */
!
#define HARD_REGNO_MODE_OK(REGNO, MODE) \
(FR_REGNO_P (REGNO) ? (MODE) != CCmode \
: PR_REGNO_P (REGNO) ? (MODE) == CCmode \
+ : GR_REGNO_P (REGNO) ? (MODE) != XFmode \
: 1)
/* A C expression that is nonzero if it is desirable to choose register