aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2011-03-30 20:42:51 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2011-03-30 20:42:51 +0100
commit666a21a2993b36e8c10f2d0759cd7f68811663fb (patch)
tree8d690cb4ef7d285476b7a0854fa4a67ca23779ba /gcc/config
parent0fa4e351537fe6bf253e13e3c3e7b122cbe9468c (diff)
downloadgcc-666a21a2993b36e8c10f2d0759cd7f68811663fb.zip
gcc-666a21a2993b36e8c10f2d0759cd7f68811663fb.tar.gz
gcc-666a21a2993b36e8c10f2d0759cd7f68811663fb.tar.bz2
options.texi (NegativeAlias): Document.
* doc/options.texi (NegativeAlias): Document. (Alias): Mention NegativeAlias. * opt-functions.awk: Handle NegativeAlias. * optc-gen.awk: Disallow NegativeAlias with multiple Alias arguments. * opts-common.c (decode_cmdline_option): Handle CL_NEGATIVE_ALIAS. * opts.h (CL_NEGATIVE_ALIAS): Define. * config/rs6000/rs6000.c (rs6000_parse_yes_no_option): Remove. (rs6000_handle_option): Don't handle OPT_mvrsave_, OPT_misel_ and OPT_mspe_. * config/rs6000/rs6000.opt (mvrsave=, misel=, mspe=): Replace with Alias entries. * config/rs6000/t-spe (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use mno-spe and mno-isel instead of mspe=no and -misel=no. From-SVN: r171745
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/rs6000/rs6000.c39
-rw-r--r--gcc/config/rs6000/rs6000.opt32
-rw-r--r--gcc/config/rs6000/t-spe42
3 files changed, 43 insertions, 70 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 8b1d412..47467c5 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -1082,7 +1082,6 @@ static bool rs6000_handle_option (struct gcc_options *, struct gcc_options *,
const struct cl_decoded_option *,
location_t);
static int rs6000_loop_align_max_skip (rtx);
-static void rs6000_parse_yes_no_option (const char *, const char *, int *);
static int first_altivec_reg_to_save (void);
static unsigned int compute_vrsave_mask (void);
static void compute_save_world_info (rs6000_stack_t *info_ptr);
@@ -3820,24 +3819,6 @@ rs6000_preferred_simd_mode (enum machine_mode mode)
return word_mode;
}
-/* Handle generic options of the form -mfoo=yes/no.
- NAME is the option name.
- VALUE is the option value.
- FLAG is the pointer to the flag where to store a 1 or 0, depending on
- whether the option value is 'yes' or 'no' respectively. */
-static void
-rs6000_parse_yes_no_option (const char *name, const char *value, int *flag)
-{
- if (value == 0)
- return;
- else if (!strcmp (value, "yes"))
- *flag = 1;
- else if (!strcmp (value, "no"))
- *flag = 0;
- else
- error ("unknown -m%s= option specified: '%s'", name, value);
-}
-
/* Implement TARGET_OPTION_INIT_STRUCT. */
static void
@@ -4337,31 +4318,11 @@ rs6000_handle_option (struct gcc_options *opts, struct gcc_options *opts_set,
TARGET_ALTIVEC_VRSAVE = value;
break;
- case OPT_mvrsave_:
- rs6000_explicit_options.vrsave = true;
- rs6000_parse_yes_no_option ("vrsave", arg, &(TARGET_ALTIVEC_VRSAVE));
- break;
-
- case OPT_misel_:
- target_flags_explicit |= MASK_ISEL;
- isel = 0;
- rs6000_parse_yes_no_option ("isel", arg, &isel);
- if (isel)
- target_flags |= MASK_ISEL;
- else
- target_flags &= ~MASK_ISEL;
- break;
-
case OPT_mspe:
rs6000_explicit_options.spe = true;
rs6000_spe = value;
break;
- case OPT_mspe_:
- rs6000_explicit_options.spe = true;
- rs6000_parse_yes_no_option ("spe", arg, &(rs6000_spe));
- break;
-
case OPT_mdebug_:
p = ASTRDUP (arg);
rs6000_debug = 0;
diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
index 02a60f8..d95f40a 100644
--- a/gcc/config/rs6000/rs6000.opt
+++ b/gcc/config/rs6000/rs6000.opt
@@ -1,6 +1,6 @@
; Options for the rs6000 port of the compiler
;
-; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
; Foundation, Inc.
; Contributed by Aldy Hernandez <aldy@quesejoda.com>.
;
@@ -353,9 +353,13 @@ mvrsave
Target Report Var(TARGET_ALTIVEC_VRSAVE) Save
Generate VRSAVE instructions when generating AltiVec code
-mvrsave=
-Target RejectNegative Joined
--mvrsave=yes/no Deprecated option. Use -mvrsave/-mno-vrsave instead
+mvrsave=no
+Target RejectNegative Alias(mvrsave) NegativeAlias
+Deprecated option. Use -mno-vrsave instead
+
+mvrsave=yes
+Target RejectNegative Alias(mvrsave)
+Deprecated option. Use -mvrsave instead
mblock-move-inline-limit=
Target Report Var(rs6000_block_move_inline_limit) Init(0) RejectNegative Joined UInteger Save
@@ -365,9 +369,13 @@ misel
Target Report Mask(ISEL) Save
Generate isel instructions
-misel=
-Target RejectNegative Joined
--misel=yes/no Deprecated option. Use -misel/-mno-isel instead
+misel=no
+Target RejectNegative Alias(misel) NegativeAlias
+Deprecated option. Use -mno-isel instead
+
+misel=yes
+Target RejectNegative Alias(misel)
+Deprecated option. Use -misel instead
mspe
Target
@@ -377,9 +385,13 @@ mpaired
Target Var(rs6000_paired_float) Save
Generate PPC750CL paired-single instructions
-mspe=
-Target RejectNegative Joined
--mspe=yes/no Deprecated option. Use -mspe/-mno-spe instead
+mspe=no
+Target RejectNegative Alias(mspe) NegativeAlias
+Deprecated option. Use -mno-spe instead
+
+mspe=yes
+Target RejectNegative Alias(mspe)
+Deprecated option. Use -mspe instead
mdebug=
Target RejectNegative Joined
diff --git a/gcc/config/rs6000/t-spe b/gcc/config/rs6000/t-spe
index 7c0c315..480553c 100644
--- a/gcc/config/rs6000/t-spe
+++ b/gcc/config/rs6000/t-spe
@@ -1,6 +1,6 @@
# Multilibs for e500
#
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2011 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -36,51 +36,51 @@ INSTALL_LIBGCC = install-multilib
# -mcpu=7400 -maltivec -mabi=altivec
# -mcpu=7400 -msoft-float
# -msoft-float
-# -mspe=no -mabi=no-spe -misel=no
+# -mno-spe -mabi=no-spe -mno-isel
# so we'll need to create exceptions later below.
MULTILIB_OPTIONS = mcpu=7400 \
maltivec \
mabi=altivec \
msoft-float \
- mspe=no \
+ mno-spe \
mabi=no-spe \
- misel=no \
+ mno-isel \
mlittle
MULTILIB_DIRNAMES = mpc7400 altivec abi-altivec \
nof no-spe no-abi-spe no-isel le
-MULTILIB_EXCEPTIONS = maltivec mabi=altivec mspe=no mabi=no-spe misel=no \
+MULTILIB_EXCEPTIONS = maltivec mabi=altivec mno-spe mabi=no-spe mno-isel \
maltivec/mabi=altivec \
mcpu=7400/maltivec \
mcpu=7400/mabi=altivec \
- *mcpu=7400/*mspe=no* \
+ *mcpu=7400/*mno-spe* \
*mcpu=7400/*mabi=no-spe* \
- *mcpu=7400/*misel=no* \
+ *mcpu=7400/*mno-isel* \
*maltivec/*msoft-float* \
- *maltivec/*mspe=no* \
+ *maltivec/*mno-spe* \
*maltivec/*mabi=no-spe* \
- *maltivec/*misel=no* \
+ *maltivec/*mno-isel* \
*mabi=altivec/*msoft-float* \
- *mabi=altivec/*mspe=no* \
+ *mabi=altivec/*mno-spe* \
*mabi=altivec/*mabi=no-spe* \
- *mabi=altivec/*misel=no* \
- *msoft-float/*mspe=no* \
+ *mabi=altivec/*mno-isel* \
+ *msoft-float/*mno-spe* \
*msoft-float/*mabi=no-spe* \
- *msoft-float/*misel=no* \
- mspe=no/mabi=no-spe \
- mspe=no/misel=no \
- mabi=no-spe/misel=no \
- misel=no/mlittle \
- mabi=no-spe/misel=no/mlittle \
- mspe=no/mlittle \
+ *msoft-float/*mno-isel* \
+ mno-spe/mabi=no-spe \
+ mno-spe/mno-isel \
+ mabi=no-spe/mno-isel \
+ mno-isel/mlittle \
+ mabi=no-spe/mno-isel/mlittle \
+ mno-spe/mlittle \
mabi=spe/mlittle \
mcpu=7400/mabi=altivec/mlittle \
mcpu=7400/maltivec/mlittle \
mabi=no-spe/mlittle \
- mspe=no/misel=no/mlittle \
- mspe=no/mabi=no-spe/mlittle \
+ mno-spe/mno-isel/mlittle \
+ mno-spe/mabi=no-spe/mlittle \
mabi=altivec/mlittle \
maltivec/mlittle \
maltivec/mabi=altivec/mlittle