patch: powerpc-*-eabialtivec and powerpc-*-linux-gnualtivec triplets
Aldy Hernandez
aldyh@redhat.com
Thu Dec 13 11:39:00 GMT 2001
hullo.
here is a patch to add new altivec triplets for native linux ppc +
altivec and eabi + altivec.
ok?
2001-12-12 Aldy Hernandez <aldyh@redhat.com>
* rs6000.c (rs6000_override_options): Add
SUBSUBTARGET_OVERRIDE_OPTIONS.
* eabialtivec.h: New file.
* linuxaltivec.h: New file.
* config.gcc: Add powerpc-*-eabialtivec and
powerpc-*-linux-gnualtivec.
Index: config.gcc
===================================================================
RCS file: /cvs/uberbaum/gcc/config.gcc,v
retrieving revision 1.126
diff -c -p -r1.126 config.gcc
*** config.gcc 2001/12/10 11:18:31 1.126
--- config.gcc 2001/12/13 19:33:05
*************** powerpc-*-elf*)
*** 2699,2704 ****
--- 2699,2710 ----
tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
extra_headers=ppc-asm.h
;;
+ powerpc-*-eabialtivec*)
+ xm_defines=POSIX
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabialtivec.h"
+ tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
powerpc-*-eabi*)
xm_defines=POSIX
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h"
*************** powerpc-*-linux*libc1)
*** 2718,2723 ****
--- 2724,2738 ----
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h"
out_file=rs6000/rs6000.c
tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-linux t-linux-gnulibc1 rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ if test x$enable_threads = xyes; then
+ thread_file='posix'
+ fi
+ ;;
+ powerpc-*-linux-gnualtivec*)
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxaltivec.h"
+ out_file=rs6000/rs6000.c
+ tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
extra_headers=ppc-asm.h
if test x$enable_threads = xyes; then
thread_file='posix'
Index: config/rs6000/rs6000.c
===================================================================
RCS file: /cvs/uberbaum/gcc/config/rs6000/rs6000.c,v
retrieving revision 1.258
diff -c -p -r1.258 rs6000.c
*** rs6000.c 2001/12/09 18:49:29 1.258
--- rs6000.c 2001/12/13 19:33:07
*************** rs6000_override_options (default_cpu)
*** 505,510 ****
--- 505,513 ----
#ifdef SUBTARGET_OVERRIDE_OPTIONS
SUBTARGET_OVERRIDE_OPTIONS;
#endif
+ #ifdef SUBSUBTARGET_OVERRIDE_OPTIONS
+ SUBSUBTARGET_OVERRIDE_OPTIONS;
+ #endif
/* Set TARGET_AIX_STRUCT_RET last, after the ABI is determined.
If -maix-struct-return or -msvr4-struct-return was explicitly
Index: config/rs6000/eabialtivec.h
===================================================================
RCS file: eabialtivec.h
diff -N eabialtivec.h
*** /dev/null Tue May 5 13:32:27 1998
--- eabialtivec.h Thu Dec 13 11:33:07 2001
***************
*** 0 ****
--- 1,31 ----
+ /* Core target definitions for GNU compiler
+ for PowerPC targeted systems with AltiVec support.
+ Copyright (C) 2001 Free Software Foundation, Inc.
+ Contributed by Aldy Hernandez (aldyh@redhat.com).
+
+ This file is part of GNU CC.
+
+ GNU CC is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ GNU CC is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNU CC; see the file COPYING. If not, write to
+ the Free Software Foundation, 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+ /* Add -meabi and -maltivec to target flags. */
+ #undef TARGET_DEFAULT
+ #define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_EABI | MASK_ALTIVEC)
+
+ #undef TARGET_VERSION
+ #define TARGET_VERSION fprintf (stderr, " (PowerPC Embedded with AltiVec)");
+
+ #undef SUBSUBTARGET_OVERRIDE_OPTIONS
+ #define SUBSUBTARGET_OVERRIDE_OPTIONS rs6000_altivec_abi = 1
Index: config/rs6000/linuxaltivec.h
===================================================================
RCS file: linuxaltivec.h
diff -N linuxaltivec.h
*** /dev/null Tue May 5 13:32:27 1998
--- linuxaltivec.h Thu Dec 13 11:33:07 2001
***************
*** 0 ****
--- 1,30 ----
+ /* Definitions of target machine for GNU compiler,
+ for AltiVec enhanced PowerPC machines running GNU/Linux.
+ Copyright (C) 2001 Free Software Foundation, Inc.
+ Contributed by Aldy Hernandez (aldyh@redhat.com).
+
+ This file is part of GNU CC.
+
+ GNU CC is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ GNU CC is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNU CC; see the file COPYING. If not, write to
+ the Free Software Foundation, 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+ #undef TARGET_VERSION
+ #define TARGET_VERSION fprintf (stderr, " (PowerPC AltiVec GNU/Linux)");
+
+ /* Override rs6000.h and sysv4.h definition. */
+ #undef TARGET_DEFAULT
+ #define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_ALTIVEC)
+
+ #undef SUBSUBTARGET_OVERRIDE_OPTIONS rs6000_altivec_abi = 1
More information about the Gcc-patches
mailing list