OSDN Git Service

2004-03-07 Aldy Hernandez <aldyh@redhat.com>
authoraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 7 Mar 2004 23:35:43 +0000 (23:35 +0000)
committeraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 7 Mar 2004 23:35:43 +0000 (23:35 +0000)
* config/rs6000/rs6000.c (rs6000_parse_abi_options): SPE and
AltiVec abi cannot co-exist.

* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79074 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 8c89c33..fbd035f 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 ed56aeb..1551dc1 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 b9d9ff4..569ad7d 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);
     }