Fix ARM Maverick registers in arm/pe.h

Nick Clifton nickc@redhat.com
Wed Mar 12 12:43:00 GMT 2003


Hi Guys,

  I am applying the patch below to fix a small bug introduced to the
  arm-pe port by my addition of the support for Cirrus's Maverick
  co-processor.  The pe.h header was not marking the Maverick registers
  as being fixed.  The patch also fixes the comment in arm.h which
  describes how FIRST_PSEUDO_REGISTER is computed.

Cheers
        Nick

2003-03-12  Nick Clifton  <nickc@redhat.com>

	* config/arm/pe.h (FIXED_REGISTERS): Add Maverick registers.
	(CALL_USED_REGISTERS): Likewise.
	* config/arm/arm.h (FIRST_PSEUDO_REGISTER): Update comment
	describing how this value is calculated.

Index: gcc/config/arm/pe.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/pe.h,v
retrieving revision 1.17
diff -c -3 -p -w -r1.17 pe.h
*** gcc/config/arm/pe.h	10 Feb 2003 16:33:09 -0000	1.17
--- gcc/config/arm/pe.h	12 Mar 2003 12:21:15 -0000
***************
*** 81,87 ****
    0,0,0,0,0,0,0,0,	\
    0,0,0,1,0,1,0,1,	\
    0,0,0,0,0,0,0,0,	\
!   1,1,1			\
  }
  
  /* Same as arm.h except r10 is call-saved, not fixed.  */
--- 81,89 ----
    0,0,0,0,0,0,0,0,	\
    0,0,0,1,0,1,0,1,	\
    0,0,0,0,0,0,0,0,	\
!   1,1,1,		\
!   1,1,1,1,1,1,1,1,	\
!   1,1,1,1,1,1,1,1	\
  }
  
  /* Same as arm.h except r10 is call-saved, not fixed.  */
***************
*** 91,97 ****
    1,1,1,1,0,0,0,0,	\
    0,0,0,1,1,1,1,1,	\
    1,1,1,1,0,0,0,0,	\
!   1,1,1			\
  }
  
  /* Define this macro if in some cases global symbols from one translation
--- 93,101 ----
    1,1,1,1,0,0,0,0,	\
    0,0,0,1,1,1,1,1,	\
    1,1,1,1,0,0,0,0,	\
!   1,1,1,		\
!   1,1,1,1,1,1,1,1,	\
!   1,1,1,1,1,1,1,1	\
  }
  
  /* Define this macro if in some cases global symbols from one translation

Index: gcc/config/arm/arm.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/arm.h,v
retrieving revision 1.187
diff -c -3 -p -w -r1.187 arm.h
*** gcc/config/arm/arm.h	10 Mar 2003 17:53:18 -0000	1.187
--- gcc/config/arm/arm.h	12 Mar 2003 12:21:15 -0000
*************** extern const char * structure_size_strin
*** 1008,1015 ****
  #define IS_CIRRUS_REGNUM(REGNUM) \
    (((REGNUM) >= FIRST_CIRRUS_FP_REGNUM) && ((REGNUM) <= LAST_CIRRUS_FP_REGNUM))
  
! /* The number of hard registers is 16 ARM + 8 FPA + 1 CC + 1 SFP.  */
! /* Cirrus registers take us up to 43... */
  #define FIRST_PSEUDO_REGISTER	43
  
  /* Value should be nonzero if functions must have frame pointers.
--- 1008,1015 ----
  #define IS_CIRRUS_REGNUM(REGNUM) \
    (((REGNUM) >= FIRST_CIRRUS_FP_REGNUM) && ((REGNUM) <= LAST_CIRRUS_FP_REGNUM))
  
! /* The number of hard registers is 16 ARM + 8 FPA + 1 CC + 1 SFP + 1 AFP.  */
! /* + 16 Cirrus registers take us up to 43.  */
  #define FIRST_PSEUDO_REGISTER	43
  
  /* Value should be nonzero if functions must have frame pointers.



More information about the Gcc-patches mailing list