Commit 1ec3b87b by Richard Sandiford Committed by Richard Sandiford

configure.ac (mipsisa*-*-elfoabi*): New stanza.

	* configure.ac (mipsisa*-*-elfoabi*): New stanza.
	* configure: Regenerate.

config/
	* mt-mips-elfoabi: New file.

gcc/
	* doc/invoke.texi (-minterlink-mips16): Document.
	* config/mips/mips.opt (minterlink-mips16): New option.
	* config/mips/mips.c (mips_function_ok_for_sibcall): Handle
	-minterlink-mips16

From-SVN: r128625
parent f25bf34f
2007-09-20 Richard Sandiford <rsandifo@nildram.co.uk>
* configure.ac (mipsisa*-*-elfoabi*): New stanza.
* configure: Regenerate.
2007-09-20 Paul Jarc <prj-bugzilla-gcc@multivac.cwru.edu>
PR bootstrap/31906
......
2007-09-20 Richard Sandiford <rsandifo@nildram.co.uk>
* mt-mips-elfoabi: New file.
2007-09-07 Richard Sandiford <richard@codesourcery.com>
* mt-sde (CFLAGS_FOR_TARGET): Add -mno-gpopt.
......
# The *-elfoabi configurations are intended to be usable for both
# MIPS16 and non-MIPS16 code, but the libraries are all non-MIPS16.
# Add -minterlink-mips16 so that the libraries can be used with both
# ISA modes.
CFLAGS_FOR_TARGET = -minterlink-mips16
CXXFLAGS_FOR_TARGET = -minterlink-mips16
......@@ -5279,6 +5279,9 @@ case "${target}" in
mips*-sde-elf*)
target_makefile_frag="config/mt-sde"
;;
mipsisa*-*-elfoabi*)
target_makefile_frag="config/mt-mips-elfoabi"
;;
*-*-netware*)
target_makefile_frag="config/mt-netware"
;;
......
......@@ -1798,6 +1798,9 @@ case "${target}" in
mips*-sde-elf*)
target_makefile_frag="config/mt-sde"
;;
mipsisa*-*-elfoabi*)
target_makefile_frag="config/mt-mips-elfoabi"
;;
*-*-netware*)
target_makefile_frag="config/mt-netware"
;;
......
2007-09-20 Richard Sandiford <rsandifo@nildram.co.uk>
* doc/invoke.texi (-minterlink-mips16): Document.
* config/mips/mips.opt (minterlink-mips16): New option.
* config/mips/mips.c (mips_function_ok_for_sibcall): Handle
-minterlink-mips16
2007-09-20 Joseph Myers <joseph@codesourcery.com>
* doc/extend.texi (Attribute Syntax): Remove old speculative
......@@ -4256,6 +4256,17 @@ mips_function_ok_for_sibcall (tree decl, tree exp ATTRIBUTE_UNUSED)
if (mips_use_mips16_mode_p (decl))
return false;
/* ...and when -minterlink-mips16 is in effect, assume that external
functions could be MIPS16 ones unless an attribute explicitly
tells us otherwise. We only care about cases where the sibling
and normal calls would both be direct. */
if (TARGET_INTERLINK_MIPS16
&& decl
&& DECL_EXTERNAL (decl)
&& !mips_nomips16_decl_p (decl)
&& const_call_insn_operand (XEXP (DECL_RTL (decl), 0), VOIDmode))
return false;
/* Otherwise OK. */
return true;
}
......
......@@ -164,6 +164,10 @@ mhard-float
Target Report RejectNegative InverseMask(SOFT_FLOAT_ABI, HARD_FLOAT_ABI)
Allow the use of hardware floating-point ABI and instructions
minterlink-mips16
Target Report Var(TARGET_INTERLINK_MIPS16) Init(0)
Generate code that can be safely linked with MIPS16 code.
mips
Target RejectNegative Joined
-mipsN Generate code for ISA level N
......
......@@ -623,6 +623,7 @@ Objective-C and Objective-C++ Dialects}.
@gccoptlist{-EL -EB -march=@var{arch} -mtune=@var{arch} @gol
-mips1 -mips2 -mips3 -mips4 -mips32 -mips32r2 -mips64 @gol
-mips16 -mno-mips16 -mflip-mips16 @gol
-minterlink-mips16 -mno-interlink-mips16 @gol
-mabi=@var{abi} -mabicalls -mno-abicalls @gol
-mshared -mno-shared -mxgot -mno-xgot -mgp32 -mgp64 @gol
-mfp32 -mfp64 -mhard-float -msoft-float @gol
......@@ -11684,6 +11685,18 @@ Generate MIPS16 code on alternating functions. This option is provided
for regression testing of mixed MIPS16/non-MIPS16 code generation, and is
not intended for ordinary use in compiling user code.
@item -minterlink-mips16
@itemx -mno-interlink-mips16
@opindex minterlink-mips16
@opindex mno-interlink-mips16
Require (do not require) that non-MIPS16 code be link-compatible with
MIPS16 code.
For example, non-MIPS16 code cannot jump directly to MIPS16 code;
it must either use a call or an indirect jump. @option{-minterlink-mips16}
therefore disables direct jumps unless GCC knows that the target of the
jump is not MIPS16.
@item -mabi=32
@itemx -mabi=o64
@itemx -mabi=n32
......
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