rs6000.c (rs6000_parse_abi_options): SPE and AltiVec abi cannot co-exist.
authorAldy Hernandez <aldyh@redhat.com>
Sun, 7 Mar 2004 23:35:43 +0000 (23:35 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Sun, 7 Mar 2004 23:35:43 +0000 (23:35 +0000)
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

gcc/ChangeLog
gcc/config/rs6000/eabispe.h
gcc/config/rs6000/rs6000.c

index 8c89c331e364f9ac9b74dc04ae12032fe9a949ad..fbd035f7966deda4683828a020f679ba747f6e53 100644 (file)
@@ -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.
index ed56aebc7f4de0b4394cc3b4f6c39eaa1a10196a..1551dc1305dafea970993ed4bae72895c7784afa 100644 (file)
@@ -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; \
index b9d9ff4fa0cdb7faf9641d3bcd7fa279cc7f1c8a..569ad7d0251f12a2342bfe2e03b139c69e7c1fdd 100644 (file)
@@ -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);
     }