* doc/c-mips.texi: Remove -mcpu.  Document -mabi.
	* configure.in (MIPS_CPU_STRING_DEFAULT): New configuration macro.
	(USE_E_MIPS_ABI_O32, MIPS_DEFAULT_64BIT): New configuration macros.
	* configure, config.in: Regenerate.
	* config/tc-mips.c (file_mips_abi): Rename to mips_abi.
	(mips_set_options): Remove "abi" field.
	(mips_opts): Update accordingly.  Replace all uses of mips_opts.abi
	with mips_abi.
	(mips_cpu): Remove.
	(mips_arch_string, mips_arch_info): New vars.
	(mips_tune_string, mips_tune_info): New vars.
	(ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New macros.
	(HAVE_32BIT_GPRS, HAVE_32BIT_FPRS): Don't check the ABI.
	(mips_isa_to_str, mips_cpu_to_str): Remove.
	(mips_ip): If the selected architecture is a generic ISA rather
	than a processor, only mention the ISA level in error messages.
	(OPTION_MCPU): Remove.
	(OPTION_FP64): New.
	(md_longopts): Add -mfp64, remove -mcpu.
	(mips_set_option_string): New fn.
	(md_parse_option): Make -mipsN update file_mips_isa rather than
	mips_opts.isa.  Use mips_set_option_string to set -march or -mtune.
	Don't let -mgp32 and -mfp32 change the ABI.
	(show): Move to end of file.  Constify string argument.
	(md_show_usage): Move to the end of the file.  Read available
	architectures from mips_cpu_info_table.
	(mips_set_architecture): New fn.
	(mips_after_parse_args): Rework.  Remove -mcpu handling.  -mipsN
	is an alias for -march=mipsN.  Don't change the ABI based on other
	flags.  Infer the register size from the ABI as	well as the
	architecture.  Complain about more conflicting arguments.
	Unify logic with GCC.
	(s_mipsset): Don't change the ABI.
	(mips_elf_final_processing): Check USE_E_MIPS_ABI_O32.
	(mips_cpu_info_table): Remove Generic-MIPS* entries, keeping just
	"mipsN"-type entries.  Remove entries that vary only in the
	manufacturer's prefix, or that have "000" replaced by "k".
	Remove TARGET_CPU entries.  Make r2000 entry use CPU_R3000.
	(mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
	(mips_parse_cpu): New fn.
	(mips_cpu_info_from_name, mips_cpu_info_from_cpu): Remove.
	(mips_cpu_info_from_isa): Minor formatting tweak.

[gas/testsuite]
	* gas/mips/mips-gp32-fp64.d,
	* gas/mips/mips-gp32-fp64-pic.d: Add -mfp64.
This commit is contained in:
Richard Sandiford
2002-07-25 09:48:07 +00:00
parent 2061187ab5
commit 316f5878b9
9 changed files with 788 additions and 815 deletions

View File

@ -1,3 +1,48 @@
2002-07-25 Richard Sandiford <rsandifo@redhat.com>
* doc/c-mips.texi: Remove -mcpu. Document -mabi.
* configure.in (MIPS_CPU_STRING_DEFAULT): New configuration macro.
(USE_E_MIPS_ABI_O32, MIPS_DEFAULT_64BIT): New configuration macros.
* configure, config.in: Regenerate.
* config/tc-mips.c (file_mips_abi): Rename to mips_abi.
(mips_set_options): Remove "abi" field.
(mips_opts): Update accordingly. Replace all uses of mips_opts.abi
with mips_abi.
(mips_cpu): Remove.
(mips_arch_string, mips_arch_info): New vars.
(mips_tune_string, mips_tune_info): New vars.
(ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New macros.
(HAVE_32BIT_GPRS, HAVE_32BIT_FPRS): Don't check the ABI.
(mips_isa_to_str, mips_cpu_to_str): Remove.
(mips_ip): If the selected architecture is a generic ISA rather
than a processor, only mention the ISA level in error messages.
(OPTION_MCPU): Remove.
(OPTION_FP64): New.
(md_longopts): Add -mfp64, remove -mcpu.
(mips_set_option_string): New fn.
(md_parse_option): Make -mipsN update file_mips_isa rather than
mips_opts.isa. Use mips_set_option_string to set -march or -mtune.
Don't let -mgp32 and -mfp32 change the ABI.
(show): Move to end of file. Constify string argument.
(md_show_usage): Move to the end of the file. Read available
architectures from mips_cpu_info_table.
(mips_set_architecture): New fn.
(mips_after_parse_args): Rework. Remove -mcpu handling. -mipsN
is an alias for -march=mipsN. Don't change the ABI based on other
flags. Infer the register size from the ABI as well as the
architecture. Complain about more conflicting arguments.
Unify logic with GCC.
(s_mipsset): Don't change the ABI.
(mips_elf_final_processing): Check USE_E_MIPS_ABI_O32.
(mips_cpu_info_table): Remove Generic-MIPS* entries, keeping just
"mipsN"-type entries. Remove entries that vary only in the
manufacturer's prefix, or that have "000" replaced by "k".
Remove TARGET_CPU entries. Make r2000 entry use CPU_R3000.
(mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
(mips_parse_cpu): New fn.
(mips_cpu_info_from_name, mips_cpu_info_from_cpu): Remove.
(mips_cpu_info_from_isa): Minor formatting tweak.
2002-07-24 Nick Clifton <nickc@redhat.com> 2002-07-24 Nick Clifton <nickc@redhat.com>
* po/sv.po: Updated Swedish translation. * po/sv.po: Updated Swedish translation.

View File

@ -130,9 +130,6 @@
/* Define if you have the <sys/param.h> header file. */ /* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H #undef HAVE_SYS_PARAM_H
/* Define if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define if you have the <sys/types.h> header file. */ /* Define if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H #undef HAVE_SYS_TYPES_H
@ -163,6 +160,15 @@
/* Define as 1 if big endian. */ /* Define as 1 if big endian. */
#undef TARGET_BYTES_BIG_ENDIAN #undef TARGET_BYTES_BIG_ENDIAN
/* Default CPU for MIPS targets. */
#undef MIPS_CPU_STRING_DEFAULT
/* Allow use of E_MIPS_ABI_O32 on MIPS targets. */
#undef USE_E_MIPS_ABI_O32
/* Generate 64-bit code by default on MIPS targets. */
#undef MIPS_DEFAULT_64BIT
/* Default architecture. */ /* Default architecture. */
#undef DEFAULT_ARCH #undef DEFAULT_ARCH

File diff suppressed because it is too large Load Diff

418
gas/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -558,6 +558,61 @@ changequote([,])dnl
# Other random stuff. # Other random stuff.
case ${cpu_type} in
mips)
# Set mips_cpu to the name of the default CPU.
case ${target_cpu} in
mips | mipsbe | mipseb | mipsle | mipsel | mips64 | mips64el)
mips_cpu=from-abi
;;
mipsisa32 | mipsisa32el)
mips_cpu=mips32
;;
mipsisa64 | mipsisa64el)
mips_cpu=mips64
;;
mipstx39 | mipstx39el)
mips_cpu=r3900
;;
mips64* | mipsisa64* | mipsisa32*)
changequote(,)dnl
mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..//' -e 's/el$//'`
changequote([,])dnl
;;
*)
AC_ERROR($target_cpu isn't a supported MIPS CPU name)
;;
esac
# See whether it's appropriate to set E_MIPS_ABI_O32 for o32
# binaries. It's a GNU extension that some OSes don't understand.
# The value only matters on ELF targets.
case ${target} in
*-*-irix*)
use_e_mips_abi_o32=0
;;
*)
use_e_mips_abi_o32=1
;;
esac
# Decide whether to generate 32-bit or 64-bit code by default.
# Used to resolve -march=from-abi when an embedded ABI is selected.
case ${target} in
mips64*-*-* | mipsisa64*-*-*)
mips_default_64bit=1
;;
*)
mips_default_64bit=0
;;
esac
AC_DEFINE_UNQUOTED(MIPS_CPU_STRING_DEFAULT, "$mips_cpu",
[Default CPU for MIPS targets. ])
AC_DEFINE_UNQUOTED(USE_E_MIPS_ABI_O32, $use_e_mips_abi_o32,
[Allow use of E_MIPS_ABI_O32 on MIPS targets. ])
AC_DEFINE_UNQUOTED(MIPS_DEFAULT_64BIT, $mips_default_64bit,
[Generate 64-bit code by default on MIPS targets. ])
;;
esac
# Do we need the opcodes library? # Do we need the opcodes library?
case ${cpu_type} in case ${cpu_type} in
vax | i386 | tic30) vax | i386 | tic30)

View File

@ -175,12 +175,9 @@ sb1
Schedule and tune for a particular MIPS cpu. Valid @var{cpu} values are Schedule and tune for a particular MIPS cpu. Valid @var{cpu} values are
identical to @samp{-march=@var{cpu}}. identical to @samp{-march=@var{cpu}}.
@item -mcpu=@var{cpu} @item -mabi=@var{abi}
Generate code and schedule for a particular MIPS cpu. This is exactly Record which ABI the source code uses. The recognized arguments
equivalent to @samp{-march=@var{cpu}} and @samp{-mtune=@var{cpu}}. Valid are: @samp{32}, @samp{n32}, @samp{o64}, @samp{64} and @samp{eabi}.
@var{cpu} values are identical to @samp{-march=@var{cpu}}.
Use of this option is discouraged.
@cindex @code{-nocpp} ignored (MIPS) @cindex @code{-nocpp} ignored (MIPS)
@item -nocpp @item -nocpp

View File

@ -1,3 +1,8 @@
2002-07-25 Richard Sandiford <rsandifo@redhat.com>
* gas/mips/mips-gp32-fp64.d,
* gas/mips/mips-gp32-fp64-pic.d: Add -mfp64.
2002-07-19 Hans-Peter Nilsson <hp@bitrange.com> 2002-07-19 Hans-Peter Nilsson <hp@bitrange.com>
* gas/mmix/list-pseudoints.l: Adjust for changes in gas section * gas/mmix/list-pseudoints.l: Adjust for changes in gas section

View File

@ -1,5 +1,5 @@
#objdump: -d -mmips:8000 #objdump: -d -mmips:8000
#as: -march=8000 -EB -mgp32 -KPIC #as: -march=8000 -EB -mgp32 -mfp64 -KPIC
#name: MIPS -mgp32 -mfp64 (SVR4 PIC) #name: MIPS -mgp32 -mfp64 (SVR4 PIC)
.*: +file format.* .*: +file format.*

View File

@ -1,5 +1,5 @@
#objdump: -d -mmips:8000 #objdump: -d -mmips:8000
#as: -march=8000 -EB -mgp32 #as: -march=8000 -EB -mgp32 -mfp64
#name: MIPS -mgp32 -mfp64 #name: MIPS -mgp32 -mfp64
.*: +file format.* .*: +file format.*