gcc/
	* doc/extend.texi (__builtin_mips_get_fcsr): Document.
	(__builtin_mips_set_fcsr): Likewise.
	* config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
	MIPS_USI_FTYPE_VOID.
	* config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
	(mips16_expand_set_fcsr): Likewise.
	* config/mips/mips.c (mips16_get_fcsr_stub): New variable.
	(mips16_set_fcsr_stub): Likewise.
	(mips16_get_fcsr_one_only_stub): New class.
	(mips16_set_fcsr_one_only_stub): Likewise.
	(mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
	(mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
	(BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
	(hard_float): New availability predicate.
	(mips_builtins): Add get_fcsr and set_fcsr.
	(mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
	* config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
	(GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
	(mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
	(mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
	patterns.

gcc/testsuite/
	* gcc.target/mips/get-fcsr-1.c, gcc.target/mips/get-fcsr-2.c,
	gcc.target/mips/set-fcsr-1.c, gcc.target/mips/set-fcsr-2.c: New tests.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207401 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
	(mips_atomic_assign_expand_fenv): New function.
	(TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207402 138bc75d-0d04-0410-961f-82ee72b054a4
libgcc/
	* configure.ac: Check __mips64 when setting host_address.
	* configure: Regenerate.
	* config.host (mips*-*-*): Add t-softfp-sfdf, mips/t-softfp-tf,
	mips/t-mips64 and t-softfp.
	(mips*-*-linux*): Don't add mips/t-tpbit.
	* config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS, FPBIT, FPBIT_CFLAGS)
	(DPBIT, DPBIT_CFLAGS): Delete.
	* config/mips/sfp-machine.h: New file.
	* config/mips/t-mips64: Likewise.
	* config/mips/t-softfp-tf: Likewise.
	* config/mips/t-tpbit: Delete.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207403 138bc75d-0d04-0410-961f-82ee72b054a4