config.gcc (powerpc-*-eabispe*, [...]): Add rs6000/e500.h to tm_file.
* config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*, powerpc-*-eabisim*, powerpc-*-eabialtivec*, powerpc-*-eabi*, powerpc-*-rtems*, powerpc-wrs-vxworks, powerpc-wrs-vxworksae, powerpcle-*-eabisim*, powerpcle-*-eabi*): Add rs6000/e500.h to tm_file. * config/rs6000/e500.h: New. * config/rs6000/eabi.h (TARGET_SPE_ABI, TARGET_SPE, TARGET_E500, TARGET_ISEL, TARGET_FPRS, TARGET_E500_SINGLE, TARGET_E500_DOUBLE): Remove. * config/rs6000/linuxspe.h (TARGET_SPE_ABI, TARGET_SPE, TARGET_E500, TARGET_ISEL, TARGET_FPRS, TARGET_E500_SINGLE, TARGET_E500_DOUBLE): Remove. * config/rs6000/vxworks.h (TARGET_SPE_ABI, TARGET_SPE, TARGET_E500, TARGET_ISEL, TARGET_FPRS): Remove. * config/rs6000/rs6000.h (CHECK_E500_OPTIONS): Define. * config/rs6000/rs6000.c (rs6000_override_options): Use CHECK_E500_OPTIONS. From-SVN: r120340
This commit is contained in:
parent
8ef65e3da8
commit
eca0d5e8ce
|
@ -1,3 +1,23 @@
|
||||||
|
2007-01-02 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
|
||||||
|
powerpc-*-eabisim*, powerpc-*-eabialtivec*, powerpc-*-eabi*,
|
||||||
|
powerpc-*-rtems*, powerpc-wrs-vxworks, powerpc-wrs-vxworksae,
|
||||||
|
powerpcle-*-eabisim*, powerpcle-*-eabi*): Add rs6000/e500.h to
|
||||||
|
tm_file.
|
||||||
|
* config/rs6000/e500.h: New.
|
||||||
|
* config/rs6000/eabi.h (TARGET_SPE_ABI, TARGET_SPE, TARGET_E500,
|
||||||
|
TARGET_ISEL, TARGET_FPRS, TARGET_E500_SINGLE, TARGET_E500_DOUBLE):
|
||||||
|
Remove.
|
||||||
|
* config/rs6000/linuxspe.h (TARGET_SPE_ABI, TARGET_SPE,
|
||||||
|
TARGET_E500, TARGET_ISEL, TARGET_FPRS, TARGET_E500_SINGLE,
|
||||||
|
TARGET_E500_DOUBLE): Remove.
|
||||||
|
* config/rs6000/vxworks.h (TARGET_SPE_ABI, TARGET_SPE,
|
||||||
|
TARGET_E500, TARGET_ISEL, TARGET_FPRS): Remove.
|
||||||
|
* config/rs6000/rs6000.h (CHECK_E500_OPTIONS): Define.
|
||||||
|
* config/rs6000/rs6000.c (rs6000_override_options): Use
|
||||||
|
CHECK_E500_OPTIONS.
|
||||||
|
|
||||||
2007-01-02 Joseph Myers <joseph@codesourcery.com>
|
2007-01-02 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
* config/rs6000/rs6000.c (print_operand): Check (TARGET_SPE ||
|
* config/rs6000/rs6000.c (print_operand): Check (TARGET_SPE ||
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# GCC target-specific configuration file.
|
# GCC target-specific configuration file.
|
||||||
# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||||
# Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
|
|
||||||
#This file is part of GCC.
|
#This file is part of GCC.
|
||||||
|
@ -1780,17 +1780,17 @@ powerpc-*-chorusos*)
|
||||||
use_fixproto=yes
|
use_fixproto=yes
|
||||||
;;
|
;;
|
||||||
powerpc-*-eabispe*)
|
powerpc-*-eabispe*)
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabispe.h"
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabispe.h"
|
||||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
||||||
tmake_file="rs6000/t-spe rs6000/t-ppccomm"
|
tmake_file="rs6000/t-spe rs6000/t-ppccomm"
|
||||||
;;
|
;;
|
||||||
powerpc-*-eabisimaltivec*)
|
powerpc-*-eabisimaltivec*)
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h rs6000/eabialtivec.h"
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h rs6000/eabialtivec.h"
|
||||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
||||||
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcendian rs6000/t-ppccomm"
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcendian rs6000/t-ppccomm"
|
||||||
;;
|
;;
|
||||||
powerpc-*-eabisim*)
|
powerpc-*-eabisim*)
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h"
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h"
|
||||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
||||||
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
||||||
;;
|
;;
|
||||||
|
@ -1801,17 +1801,17 @@ powerpc-*-elf*)
|
||||||
use_fixproto=yes
|
use_fixproto=yes
|
||||||
;;
|
;;
|
||||||
powerpc-*-eabialtivec*)
|
powerpc-*-eabialtivec*)
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabialtivec.h"
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabialtivec.h"
|
||||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
||||||
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcendian rs6000/t-ppccomm"
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcendian rs6000/t-ppccomm"
|
||||||
;;
|
;;
|
||||||
powerpc-*-eabi*)
|
powerpc-*-eabi*)
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h"
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h"
|
||||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
||||||
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
||||||
;;
|
;;
|
||||||
powerpc-*-rtems*)
|
powerpc-*-rtems*)
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/rtems.h rtems.h"
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/rtems.h rtems.h"
|
||||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
||||||
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-rtems t-rtems rs6000/t-ppccomm"
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-rtems t-rtems rs6000/t-ppccomm"
|
||||||
;;
|
;;
|
||||||
|
@ -1821,7 +1821,7 @@ powerpc-*-linux*altivec*)
|
||||||
tmake_file="rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
|
||||||
;;
|
;;
|
||||||
powerpc-*-linux*spe*)
|
powerpc-*-linux*spe*)
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxspe.h"
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxspe.h rs6000/e500.h"
|
||||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
||||||
tmake_file="rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
|
||||||
;;
|
;;
|
||||||
|
@ -1871,11 +1871,11 @@ powerpc-wrs-vxworks|powerpc-wrs-vxworksae)
|
||||||
extra_headers=ppc-asm.h
|
extra_headers=ppc-asm.h
|
||||||
case ${target} in
|
case ${target} in
|
||||||
*-vxworksae*)
|
*-vxworksae*)
|
||||||
tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/vxworksae.h"
|
tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksae.h"
|
||||||
tmake_file="${tmake_file} rs6000/t-vxworksae"
|
tmake_file="${tmake_file} rs6000/t-vxworksae"
|
||||||
;;
|
;;
|
||||||
*-vxworks*)
|
*-vxworks*)
|
||||||
tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h"
|
tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h rs6000/e500.h"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
@ -1910,12 +1910,12 @@ powerpcle-*-elf*)
|
||||||
use_fixproto=yes
|
use_fixproto=yes
|
||||||
;;
|
;;
|
||||||
powerpcle-*-eabisim*)
|
powerpcle-*-eabisim*)
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/eabisim.h"
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h"
|
||||||
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
||||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
||||||
;;
|
;;
|
||||||
powerpcle-*-eabi*)
|
powerpcle-*-eabi*)
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h"
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h"
|
||||||
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
||||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
/* Enable E500 support.
|
||||||
|
Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC 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.
|
||||||
|
|
||||||
|
GCC 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 GCC; see the file COPYING. If not, write to the
|
||||||
|
Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
|
||||||
|
MA 02110-1301, USA. */
|
||||||
|
|
||||||
|
#undef TARGET_SPE_ABI
|
||||||
|
#undef TARGET_SPE
|
||||||
|
#undef TARGET_E500
|
||||||
|
#undef TARGET_ISEL
|
||||||
|
#undef TARGET_FPRS
|
||||||
|
#undef TARGET_E500_SINGLE
|
||||||
|
#undef TARGET_E500_DOUBLE
|
||||||
|
#undef CHECK_E500_OPTIONS
|
||||||
|
|
||||||
|
#define TARGET_SPE_ABI rs6000_spe_abi
|
||||||
|
#define TARGET_SPE rs6000_spe
|
||||||
|
#define TARGET_E500 (rs6000_cpu == PROCESSOR_PPC8540)
|
||||||
|
#define TARGET_ISEL rs6000_isel
|
||||||
|
#define TARGET_FPRS (rs6000_float_gprs == 0)
|
||||||
|
#define TARGET_E500_SINGLE (TARGET_HARD_FLOAT && rs6000_float_gprs == 1)
|
||||||
|
#define TARGET_E500_DOUBLE (TARGET_HARD_FLOAT && rs6000_float_gprs == 2)
|
||||||
|
#define CHECK_E500_OPTIONS \
|
||||||
|
do { \
|
||||||
|
if (TARGET_E500 || TARGET_SPE || TARGET_SPE_ABI || TARGET_ISEL \
|
||||||
|
|| TARGET_E500_SINGLE || TARGET_E500_DOUBLE) \
|
||||||
|
{ \
|
||||||
|
if (TARGET_ALTIVEC) \
|
||||||
|
error ("AltiVec and E500 instructions cannot coexist"); \
|
||||||
|
if (TARGET_64BIT) \
|
||||||
|
error ("64-bit E500 not supported"); \
|
||||||
|
if (TARGET_HARD_FLOAT && TARGET_FPRS) \
|
||||||
|
error ("E500 and FPRs not supported"); \
|
||||||
|
} \
|
||||||
|
} while (0)
|
|
@ -1,6 +1,6 @@
|
||||||
/* Core target definitions for GNU compiler
|
/* Core target definitions for GNU compiler
|
||||||
for IBM RS/6000 PowerPC targeted to embedded ELF systems.
|
for IBM RS/6000 PowerPC targeted to embedded ELF systems.
|
||||||
Copyright (C) 1995, 1996, 2000, 2003, 2004 Free Software Foundation, Inc.
|
Copyright (C) 1995, 1996, 2000, 2003, 2004, 2007 Free Software Foundation, Inc.
|
||||||
Contributed by Cygnus Support.
|
Contributed by Cygnus Support.
|
||||||
|
|
||||||
This file is part of GCC.
|
This file is part of GCC.
|
||||||
|
@ -43,19 +43,3 @@
|
||||||
TARGET_OS_SYSV_CPP_BUILTINS (); \
|
TARGET_OS_SYSV_CPP_BUILTINS (); \
|
||||||
} \
|
} \
|
||||||
while (0)
|
while (0)
|
||||||
|
|
||||||
#undef TARGET_SPE_ABI
|
|
||||||
#undef TARGET_SPE
|
|
||||||
#undef TARGET_E500
|
|
||||||
#undef TARGET_ISEL
|
|
||||||
#undef TARGET_FPRS
|
|
||||||
#undef TARGET_E500_SINGLE
|
|
||||||
#undef TARGET_E500_DOUBLE
|
|
||||||
|
|
||||||
#define TARGET_SPE_ABI rs6000_spe_abi
|
|
||||||
#define TARGET_SPE rs6000_spe
|
|
||||||
#define TARGET_E500 (rs6000_cpu == PROCESSOR_PPC8540)
|
|
||||||
#define TARGET_ISEL rs6000_isel
|
|
||||||
#define TARGET_FPRS (rs6000_float_gprs == 0)
|
|
||||||
#define TARGET_E500_SINGLE (TARGET_HARD_FLOAT && rs6000_float_gprs == 1)
|
|
||||||
#define TARGET_E500_DOUBLE (TARGET_HARD_FLOAT && rs6000_float_gprs == 2)
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* Definitions of target machine for GNU compiler,
|
/* Definitions of target machine for GNU compiler,
|
||||||
for PowerPC e500 machines running GNU/Linux.
|
for PowerPC e500 machines running GNU/Linux.
|
||||||
Copyright (C) 2003, 2004 Free Software Foundation, Inc.
|
Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||||
Contributed by Aldy Hernandez (aldy@quesejoda.com).
|
Contributed by Aldy Hernandez (aldy@quesejoda.com).
|
||||||
|
|
||||||
This file is part of GCC.
|
This file is part of GCC.
|
||||||
|
@ -27,22 +27,6 @@
|
||||||
#undef TARGET_DEFAULT
|
#undef TARGET_DEFAULT
|
||||||
#define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_STRICT_ALIGN)
|
#define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_STRICT_ALIGN)
|
||||||
|
|
||||||
#undef TARGET_SPE_ABI
|
|
||||||
#undef TARGET_SPE
|
|
||||||
#undef TARGET_E500
|
|
||||||
#undef TARGET_ISEL
|
|
||||||
#undef TARGET_FPRS
|
|
||||||
#undef TARGET_E500_SINGLE
|
|
||||||
#undef TARGET_E500_DOUBLE
|
|
||||||
|
|
||||||
#define TARGET_SPE_ABI rs6000_spe_abi
|
|
||||||
#define TARGET_SPE rs6000_spe
|
|
||||||
#define TARGET_E500 (rs6000_cpu == PROCESSOR_PPC8540)
|
|
||||||
#define TARGET_ISEL rs6000_isel
|
|
||||||
#define TARGET_FPRS (rs6000_float_gprs == 0)
|
|
||||||
#define TARGET_E500_SINGLE (TARGET_HARD_FLOAT && rs6000_float_gprs == 1)
|
|
||||||
#define TARGET_E500_DOUBLE (TARGET_HARD_FLOAT && rs6000_float_gprs == 2)
|
|
||||||
|
|
||||||
#undef SUBSUBTARGET_OVERRIDE_OPTIONS
|
#undef SUBSUBTARGET_OVERRIDE_OPTIONS
|
||||||
#define SUBSUBTARGET_OVERRIDE_OPTIONS \
|
#define SUBSUBTARGET_OVERRIDE_OPTIONS \
|
||||||
if (rs6000_select[1].string == NULL) \
|
if (rs6000_select[1].string == NULL) \
|
||||||
|
|
|
@ -1446,9 +1446,6 @@ rs6000_override_options (const char *default_cpu)
|
||||||
|
|
||||||
if (TARGET_E500)
|
if (TARGET_E500)
|
||||||
{
|
{
|
||||||
if (TARGET_ALTIVEC)
|
|
||||||
error ("AltiVec and E500 instructions cannot coexist");
|
|
||||||
|
|
||||||
/* The e500 does not have string instructions, and we set
|
/* The e500 does not have string instructions, and we set
|
||||||
MASK_STRING above when optimizing for size. */
|
MASK_STRING above when optimizing for size. */
|
||||||
if ((target_flags & MASK_STRING) != 0)
|
if ((target_flags & MASK_STRING) != 0)
|
||||||
|
@ -1471,6 +1468,9 @@ rs6000_override_options (const char *default_cpu)
|
||||||
rs6000_long_double_type_size = RS6000_DEFAULT_LONG_DOUBLE_SIZE;
|
rs6000_long_double_type_size = RS6000_DEFAULT_LONG_DOUBLE_SIZE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Detect invalid option combinations with E500. */
|
||||||
|
CHECK_E500_OPTIONS;
|
||||||
|
|
||||||
rs6000_always_hint = (rs6000_cpu != PROCESSOR_POWER4
|
rs6000_always_hint = (rs6000_cpu != PROCESSOR_POWER4
|
||||||
&& rs6000_cpu != PROCESSOR_POWER5
|
&& rs6000_cpu != PROCESSOR_POWER5
|
||||||
&& rs6000_cpu != PROCESSOR_POWER6
|
&& rs6000_cpu != PROCESSOR_POWER6
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* Definitions of target machine for GNU compiler, for IBM RS/6000.
|
/* Definitions of target machine for GNU compiler, for IBM RS/6000.
|
||||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||||
2000, 2001, 2002, 2003, 2004, 2005, 2006
|
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||||||
|
|
||||||
|
@ -341,6 +341,7 @@ extern enum rs6000_nop_insertion rs6000_sched_insert_nops;
|
||||||
#define TARGET_FPRS 1
|
#define TARGET_FPRS 1
|
||||||
#define TARGET_E500_SINGLE 0
|
#define TARGET_E500_SINGLE 0
|
||||||
#define TARGET_E500_DOUBLE 0
|
#define TARGET_E500_DOUBLE 0
|
||||||
|
#define CHECK_E500_OPTIONS do { } while (0)
|
||||||
|
|
||||||
/* E500 processors only support plain "sync", not lwsync. */
|
/* E500 processors only support plain "sync", not lwsync. */
|
||||||
#define TARGET_NO_LWSYNC TARGET_E500
|
#define TARGET_NO_LWSYNC TARGET_E500
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* Definitions of target machine for GNU compiler. Vxworks PowerPC version.
|
/* Definitions of target machine for GNU compiler. Vxworks PowerPC version.
|
||||||
Copyright (C) 1996, 2000, 2002, 2003, 2004, 2005
|
Copyright (C) 1996, 2000, 2002, 2003, 2004, 2005, 2007
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
Contributed by CodeSourcery, LLC.
|
Contributed by CodeSourcery, LLC.
|
||||||
|
|
||||||
|
@ -117,19 +117,6 @@ VXWORKS_ADDITIONAL_CPP_SPEC
|
||||||
/* Override sysv4.h, reset to the default. */
|
/* Override sysv4.h, reset to the default. */
|
||||||
#undef PREFERRED_STACK_BOUNDARY
|
#undef PREFERRED_STACK_BOUNDARY
|
||||||
|
|
||||||
/* Enable SPE */
|
|
||||||
#undef TARGET_SPE_ABI
|
|
||||||
#undef TARGET_SPE
|
|
||||||
#undef TARGET_E500
|
|
||||||
#undef TARGET_ISEL
|
|
||||||
#undef TARGET_FPRS
|
|
||||||
|
|
||||||
#define TARGET_SPE_ABI rs6000_spe_abi
|
|
||||||
#define TARGET_SPE rs6000_spe
|
|
||||||
#define TARGET_E500 (rs6000_cpu == PROCESSOR_PPC8540)
|
|
||||||
#define TARGET_ISEL rs6000_isel
|
|
||||||
#define TARGET_FPRS (!rs6000_float_gprs)
|
|
||||||
|
|
||||||
/* Make -mcpu=8540 imply SPE. ISEL is automatically enabled, the
|
/* Make -mcpu=8540 imply SPE. ISEL is automatically enabled, the
|
||||||
others must be done by hand. Handle -mrtp. Disable -fPIC
|
others must be done by hand. Handle -mrtp. Disable -fPIC
|
||||||
for -mrtp - the VxWorks PIC model is not compatible with it. */
|
for -mrtp - the VxWorks PIC model is not compatible with it. */
|
||||||
|
|
Loading…
Reference in New Issue