From 5cc73f91212b5289099fba25d99471992ba658e3 Mon Sep 17 00:00:00 2001 From: Aldy Hernandez Date: Sun, 7 Mar 2004 23:35:43 +0000 Subject: [PATCH] rs6000.c (rs6000_parse_abi_options): SPE and AltiVec abi cannot co-exist. 2004-03-07 Aldy Hernandez * 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 | 8 ++++++++ gcc/config/rs6000/eabispe.h | 4 ++-- gcc/config/rs6000/rs6000.c | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8c89c331e36..fbd035f7966 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ + +2004-03-07 Aldy Hernandez + + * 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 * 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 ed56aebc7f4..1551dc1305d 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 b9d9ff4fa0c..569ad7d0251 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); } -- 2.30.2