aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2004-03-07 23:35:43 +0000
committerAldy Hernandez <aldyh@gcc.gnu.org>2004-03-07 23:35:43 +0000
commit5cc73f91212b5289099fba25d99471992ba658e3 (patch)
tree5d5845c1616174f0ef2dab969e56c81d10607bf2 /gcc
parenta61bf177203a3fa7609b4835edebb5d37d29bb9e (diff)
downloadgcc-5cc73f91212b5289099fba25d99471992ba658e3.zip
gcc-5cc73f91212b5289099fba25d99471992ba658e3.tar.gz
gcc-5cc73f91212b5289099fba25d99471992ba658e3.tar.bz2
rs6000.c (rs6000_parse_abi_options): SPE and AltiVec abi cannot co-exist.
2004-03-07 Aldy Hernandez <aldyh@redhat.com> * config/rs6000/rs6000.c (rs6000_parse_abi_options): SPE and AltiVec abi cannot co-exist. * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Same. From-SVN: r79074
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/rs6000/eabispe.h4
-rw-r--r--gcc/config/rs6000/rs6000.c6
3 files changed, 15 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8c89c33..fbd035f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+
+2004-03-07 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_parse_abi_options): SPE and
+ AltiVec abi cannot co-exist.
+
+ * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Same.
+
2004-03-07 Jan Hubicka <jh@suse.cz>
* except.c (emit_to_new_bb_before): Break fallthru edges.
diff --git a/gcc/config/rs6000/eabispe.h b/gcc/config/rs6000/eabispe.h
index ed56aeb..1551dc1 100644
--- a/gcc/config/rs6000/eabispe.h
+++ b/gcc/config/rs6000/eabispe.h
@@ -1,6 +1,6 @@
/* Core target definitions for GNU compiler
for PowerPC embedded targeted systems with SPE support.
- Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
Contributed by Aldy Hernandez (aldyh@redhat.com).
This file is part of GCC.
@@ -30,7 +30,7 @@
#define SUBSUBTARGET_OVERRIDE_OPTIONS \
if (rs6000_select[1].string == NULL) \
rs6000_cpu = PROCESSOR_PPC8540; \
- if (rs6000_abi_string == NULL || strstr (rs6000_abi_string, "spe") == NULL) \
+ if (rs6000_abi_string == NULL) \
rs6000_spe_abi = 1; \
if (rs6000_float_gprs_string == NULL) \
rs6000_float_gprs = 1; \
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index b9d9ff4..569ad7d 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -1044,12 +1044,16 @@ rs6000_parse_abi_options (void)
if (rs6000_abi_string == 0)
return;
else if (! strcmp (rs6000_abi_string, "altivec"))
- rs6000_altivec_abi = 1;
+ {
+ rs6000_altivec_abi = 1;
+ rs6000_spe_abi = 0;
+ }
else if (! strcmp (rs6000_abi_string, "no-altivec"))
rs6000_altivec_abi = 0;
else if (! strcmp (rs6000_abi_string, "spe"))
{
rs6000_spe_abi = 1;
+ rs6000_altivec_abi = 0;
if (!TARGET_SPE_ABI)
error ("not configured for ABI: '%s'", rs6000_abi_string);
}