Commit 3372178c by Richard Sandiford Committed by Richard Sandiford

mips.c (mips_no_mips16_string): Remove.

	* config/mips/mips.c (mips_no_mips16_string): Remove.
	(override_options): Don't handle -mips16 as part of -mipsN.
	* config/mips/mips.h (mips_no_mips16_string): Remove declaration.
	(TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
	(TARGET_OPTIONS): Remove -mno-mips16.

From-SVN: r70287
parent 1d5565cd
2003-08-10 Richard Sandiford <rsandifo@redhat.com> 2003-08-10 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.c (mips_no_mips16_string): Remove.
(override_options): Don't handle -mips16 as part of -mipsN.
* config/mips/mips.h (mips_no_mips16_string): Remove declaration.
(TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
(TARGET_OPTIONS): Remove -mno-mips16.
2003-08-10 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips-protos.h (coprocessor_operand): Remove declaration. * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
(coprocessor2_operand): Likewise. (coprocessor2_operand): Likewise.
* config/mips/mips.c (STAB_CODE_TYPE): Remove. * config/mips/mips.c (STAB_CODE_TYPE): Remove.
......
...@@ -503,11 +503,6 @@ const char *mips_tune_string; /* for -mtune=<xxx> */ ...@@ -503,11 +503,6 @@ const char *mips_tune_string; /* for -mtune=<xxx> */
const char *mips_isa_string; /* for -mips{1,2,3,4} */ const char *mips_isa_string; /* for -mips{1,2,3,4} */
const char *mips_abi_string; /* for -mabi={32,n32,64,eabi} */ const char *mips_abi_string; /* for -mabi={32,n32,64,eabi} */
/* This variable is set by -mno-mips16. We only care whether
-mno-mips16 appears or not, and using a string in this fashion is
just a way to avoid using up another bit in target_flags. */
const char *mips_no_mips16_string;
/* Whether we are generating mips16 hard float code. In mips16 mode /* Whether we are generating mips16 hard float code. In mips16 mode
we always set TARGET_SOFT_FLOAT; this variable is nonzero if we always set TARGET_SOFT_FLOAT; this variable is nonzero if
-msoft-float was not specified by the user, which means that we -msoft-float was not specified by the user, which means that we
...@@ -4701,32 +4696,22 @@ override_options () ...@@ -4701,32 +4696,22 @@ override_options ()
if (mips_isa_string != 0) if (mips_isa_string != 0)
{ {
/* Handle -mipsN. */ /* Handle -mipsN. */
char *whole_isa_str = concat ("mips", mips_isa_string, NULL);
if (strcmp (mips_isa_string, "16") == 0) const struct mips_cpu_info *isa_info;
{
/* -mips16 specifies an ASE rather than a processor, so don't isa_info = mips_parse_cpu ("-mips option", whole_isa_str);
change mips_arch here. -mno-mips16 overrides -mips16. */ free (whole_isa_str);
if (mips_no_mips16_string == NULL)
target_flags |= MASK_MIPS16; /* -march takes precedence over -mipsN, since it is more descriptive.
} There's no harm in specifying both as long as the ISA levels
else are the same. */
{ if (mips_arch_info != 0 && mips_isa != isa_info->isa)
char *whole_isa_str = concat ("mips", mips_isa_string, NULL); error ("-mips%s conflicts with the other architecture options, "
const struct mips_cpu_info *isa_info; "which specify a MIPS%d processor",
mips_isa_string, mips_isa);
isa_info = mips_parse_cpu ("-mips option", whole_isa_str);
free (whole_isa_str); /* Set architecture based on the given option. */
mips_set_architecture (isa_info);
/* -march takes precedence over -mipsN, since it is more descriptive.
There's no harm in specifying both as long as the ISA levels
are the same. */
if (mips_arch_info != 0 && mips_isa != isa_info->isa)
error ("-mips%s conflicts with the other architecture options, which specify a MIPS%d processor",
mips_isa_string, mips_isa);
/* Set architecture based on the given option. */
mips_set_architecture (isa_info);
}
} }
if (mips_arch_info == 0) if (mips_arch_info == 0)
......
...@@ -121,7 +121,6 @@ extern const char *mips_tune_string; /* for -mtune=<xxx> */ ...@@ -121,7 +121,6 @@ extern const char *mips_tune_string; /* for -mtune=<xxx> */
extern const char *mips_isa_string; /* for -mips{1,2,3,4} */ extern const char *mips_isa_string; /* for -mips{1,2,3,4} */
extern const char *mips_abi_string; /* for -mabi={32,n32,64} */ extern const char *mips_abi_string; /* for -mabi={32,n32,64} */
extern const char *mips_entry_string; /* for -mentry */ extern const char *mips_entry_string; /* for -mentry */
extern const char *mips_no_mips16_string;/* for -mno-mips16 */
extern const char *mips_cache_flush_func;/* for -mflush-func= and -mno-flush-func */ extern const char *mips_cache_flush_func;/* for -mflush-func= and -mno-flush-func */
extern int mips_string_length; /* length of strings for mips16 */ extern int mips_string_length; /* length of strings for mips16 */
extern const struct mips_cpu_info mips_cpu_info_table[]; extern const struct mips_cpu_info mips_cpu_info_table[];
...@@ -592,6 +591,10 @@ extern const struct mips_cpu_info *mips_tune_info; ...@@ -592,6 +591,10 @@ extern const struct mips_cpu_info *mips_tune_info;
N_("Use NewABI-style %reloc() assembly operators")}, \ N_("Use NewABI-style %reloc() assembly operators")}, \
{"no-explicit-relocs", -MASK_EXPLICIT_RELOCS, \ {"no-explicit-relocs", -MASK_EXPLICIT_RELOCS, \
N_("Use assembler macros instead of relocation operators")}, \ N_("Use assembler macros instead of relocation operators")}, \
{"ips16", MASK_MIPS16, \
N_("Generate mips16 code") }, \
{"no-mips16", -MASK_MIPS16, \
N_("Generate normal-mode code") }, \
{"debug", MASK_DEBUG, \ {"debug", MASK_DEBUG, \
NULL}, \ NULL}, \
{"debuga", MASK_DEBUG_A, \ {"debuga", MASK_DEBUG_A, \
...@@ -718,8 +721,6 @@ extern const struct mips_cpu_info *mips_tune_info; ...@@ -718,8 +721,6 @@ extern const struct mips_cpu_info *mips_tune_info;
N_("Specify a Standard MIPS ISA"), 0}, \ N_("Specify a Standard MIPS ISA"), 0}, \
{ "entry", &mips_entry_string, \ { "entry", &mips_entry_string, \
N_("Use mips16 entry/exit psuedo ops"), 0}, \ N_("Use mips16 entry/exit psuedo ops"), 0}, \
{ "no-mips16", &mips_no_mips16_string, \
N_("Don't use MIPS16 instructions"), 0}, \
{ "no-flush-func", &mips_cache_flush_func, \ { "no-flush-func", &mips_cache_flush_func, \
N_("Don't call any cache flush functions"), 0}, \ N_("Don't call any cache flush functions"), 0}, \
{ "flush-func=", &mips_cache_flush_func, \ { "flush-func=", &mips_cache_flush_func, \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment