MIPS: Only pass floating-point options to the assembler when necessary
gcc/ * config/mips/mips.h (FP_ASM_SPEC): New define. (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC instead. From-SVN: r219867
This commit is contained in:
parent
e5f3553320
commit
aa0c464a8a
2 changed files with 24 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
|||
2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
|
||||
|
||||
* config/mips/mips.h (FP_ASM_SPEC): New define.
|
||||
(ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
|
||||
instead.
|
||||
|
||||
2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
|
||||
|
||||
PR target/53988
|
||||
|
|
|
@ -1243,6 +1243,22 @@ struct mips_cpu_info {
|
|||
%{gcoff*:-mdebug} %{!gcoff*:-no-mdebug}"
|
||||
#endif
|
||||
|
||||
/* FP_ASM_SPEC represents the floating-point options that must be passed
|
||||
to the assembler when FPXX support exists. Prior to that point the
|
||||
assembler could accept the options but were not required for
|
||||
correctness. We only add the options when absolutely necessary
|
||||
because passing -msoft-float to the assembler will cause it to reject
|
||||
all hard-float instructions which may require some user code to be
|
||||
updated. */
|
||||
|
||||
#ifdef HAVE_AS_DOT_MODULE
|
||||
#define FP_ASM_SPEC "\
|
||||
%{mhard-float} %{msoft-float} \
|
||||
%{msingle-float} %{mdouble-float}"
|
||||
#else
|
||||
#define FP_ASM_SPEC
|
||||
#endif
|
||||
|
||||
/* SUBTARGET_ASM_SPEC is always passed to the assembler. It may be
|
||||
overridden by subtargets. */
|
||||
|
||||
|
@ -1277,9 +1293,8 @@ struct mips_cpu_info {
|
|||
%{modd-spreg} %{mno-odd-spreg} \
|
||||
%{mshared} %{mno-shared} \
|
||||
%{msym32} %{mno-sym32} \
|
||||
%{mtune=*} \
|
||||
%{mhard-float} %{msoft-float} \
|
||||
%{msingle-float} %{mdouble-float} \
|
||||
%{mtune=*}" \
|
||||
FP_ASM_SPEC "\
|
||||
%(subtarget_asm_spec)"
|
||||
|
||||
/* Extra switches sometimes passed to the linker. */
|
||||
|
|
Loading…
Add table
Reference in a new issue