Darwin is all-AltiVec all the time

Stan Shebs shebs@apple.com
Mon Dec 17 07:25:00 GMT 2001


Darwin's PowerPC ABI is permanently wired for AltiVec, also add an
additional predefine.  Bootstrapped on powerpc-apple-darwin1.4.

(It's nominally correct to enable MASK_ALTIVEC also, but it requires
some local save/restore bits to make it always work in FSF sources.)

Stan

2001-12-17  Stan Shebs  <shebs@apple.com>

        * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
        (STACK_BOUNDARY): Remove definition.
        (CPP_PREDEFINES): Define __POWERPC__.

RCS file: /cvs/gcc/gcc/gcc/config/rs6000/darwin.h,v
retrieving revision 1.14
diff -c -3 -p -r1.14 darwin.h
*** darwin.h    2001/12/07 22:17:02     1.14
--- darwin.h    2001/12/17 14:56:23
*************** Boston, MA 02111-1307, USA.  */
*** 35,42 ****
  #define TARGET_TOC 0
  #define TARGET_NO_TOC 1
  
! #define CPP_PREDEFINES "-D__ppc__ -D__NATURAL_ALIGNMENT__ -D__MACH__ -D__BIG_ENDIAN
__ -D__APPLE__"
  
  /* We want -fPIC by default, unless we're using -static to compile for
     the kernel or some such.  */
  
--- 35,48 ----
  #define TARGET_TOC 0
  #define TARGET_NO_TOC 1
  
! /* The Darwin ABI always includes AltiVec, can't be (validly) turned
!    off.  */
  
+ #define SUBTARGET_OVERRIDE_OPTIONS  \
+   rs6000_altivec_abi = 1;
+ 
+ #define CPP_PREDEFINES "-D__ppc__ -D__POWERPC__ -D__NATURAL_ALIGNMENT__ -D__MACH__ 
-D__BIG_ENDIAN__ -D__APPLE__"
+ 
  /* We want -fPIC by default, unless we're using -static to compile for
     the kernel or some such.  */
  
*************** Boston, MA 02111-1307, USA.  */
*** 53,61 ****
  
  #undef  PIC_OFFSET_TABLE_REGNUM
  #define PIC_OFFSET_TABLE_REGNUM 31
- 
- #undef STACK_BOUNDARY
- #define STACK_BOUNDARY 128
  
  /* Pad the outgoing args area to 16 bytes instead of the usual 8.  */
  
--- 59,64 ----



More information about the Gcc-patches mailing list