Commit Graph

355 Commits

Author SHA1 Message Date
Nick Clifton
161c931207 t-msp430 (HOST_LIBGCC2_CFLAGS): Add -mhwmult=none.
* config/msp430/t-msp430 (HOST_LIBGCC2_CFLAGS): Add
	-mhwmult=none.

From-SVN: r210811
2014-05-22 15:15:36 +00:00
John Marino
dbed5a9bff config.gcc (*-*-dragonfly*): New target.
2014-05-21  John Marino  <gnugcc@marino.st>

gcc:

	* config.gcc (*-*-dragonfly*): New target.
	* configure.ac: Detect dl_iterate_phdr (*freebsd*, *dragonfly*).
	* configure: Regenerate.
	* config/dragonfly-stdint.h: New.
	* config/dragonfly.h: New.
	* config/dragonfly.opt: New.
	* config/i386/dragonfly.h: New.
	* ginclude/stddef.h: Detect _PTRDIFF_T_DECLARED for DragonFly.

include:

	* liberty.h: Use basename function on DragonFly.

libcilkrts:

	* runtime/os-unix.c (__DragonFly__): New target.

libgcc:

	* config.host (*-*-dragonfly*): New target.
	* crtstuff.c: Make dl_iterate_support generic on *bsd.
	* enable-execute-stack-mprotect.c: Always mprotect on FreeBSD.
	* unwind-dw2-fde-dip.c: Add dl_iterate_phr support for DragonFly.
	* config/i386/dragonfly-unwind.h: New.

libitm:

	* configure.tgt (*-*-dragonfly*): New target.

libstdc++-v3:

	* acinclude.m4 (*-*-dragonfly*): New target.
	* configure: Regenerate.
	* configure.host (*-*-dragonfly*): New target.
	* config/locale/dragonfly/c_locale.cc: New.
	* config/locale/dragonfly/ctype_members.cc: New.
	* config/os/bsd/dragonfly/ctype_base.h: New.
	* config/os/bsd/dragonfly/ctype_configure_char.cc: New.
	* config/os/bsd/dragonfly/ctype_inline.h: New.
	* config/os/bsd/dragonfly/os_defines.h: New.

From-SVN: r210694
2014-05-21 12:08:58 +01:00
Maciej W. Rozycki
1ec380e5f5 re PR libgcc/60166 (ARM default NAN encoding violates EABI)
PR libgcc/60166
	* config/arm/sfp-machine.h (_FP_NANFRAC_H, _FP_NANFRAC_S)
	(_FP_NANFRAC_D, _FP_NANSIGN_Q): Set the quiet bit.

From-SVN: r210668
2014-05-21 01:24:05 +00:00
Georg-Johann Lay
999db1252c arm.h (License): Add GCC Runtime Library Exception.
gcc/
	* config/arm/arm.h (License): Add GCC Runtime Library Exception.
	* config/arm/aout.h (License): Same.
	* config/arm/bpabi.h (License): Same.
	* config/arm/elf.h (License): Same.
	* config/arm/linux-elf.h (License): Same.
	* config/arm/linux-gas.h (License): Same.
	* config/arm/netbsd-elf.h (License): Same.
	* config/arm/uclinux-eabi.h (License): Same.
	* config/arm/uclinux-elf.h (License): Same.
	* config/arm/vxworks.h (License): Same.

libgcc/
	* config/arm/bpabi-lib.h (License): Add GCC Runtime Library Exception.

From-SVN: r210322
2014-05-12 09:02:36 +00:00
Rainer Orth
cceaf54a4a Don't build libgcc-unwind.map with --disable-shared (PR libgcc/61097)
PR libgcc/61097
	* config/t-slibgcc-sld: Only build and install libgcc-unwind.map
	if --enable-shared.

From-SVN: r210210
2014-05-08 12:11:14 +00:00
Bernd Edlinger
e3fe9b5b5a Work around for current cygwin32 build problems.
2014-04-30  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Work around for current cygwin32 build problems.
        * config/i386/cygming-crtbegin.c (__register_frame_info,
        __deregister_frame_info, _Jv_RegisterClasses): Compile weak default
        functions only for 64-bit systems.

From-SVN: r209942
2014-04-30 16:53:51 +00:00
Rainer Orth
54cf37e9bf Remove SSE execution test in crtfastmath.c
* config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__]
	(sigill_caught, sigill_hdlr): Remove.

From-SVN: r209783
2014-04-25 08:01:09 +00:00
Rainer Orth
d9f069ab4f Remove obsolete Solaris 9 support
libstdc++-v3:
	* configure.host: Remove solaris2.9 handling.
	Change os_include_dir to os/solaris/solaris2.10.
	* acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
	* crossconfig.m4: Remove *-solaris2.9 handling, simplify.
	* configure: Regenerate.
	* config/abi/post/solaris2.9: Remove.
	* config/os/solaris/solaris2.9: Rename to ...
	* config/os/solaris/solaris2.10: ... this.
	* config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
	Remove.

	* doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
	Remove Solaris 9 reference.
	* doc/html/manual/configure.html: Regenerate.

	* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
	Remove *-*-solaris2.9 xfail.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
	Likewise.

	* testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
	xfail.

	libjava:
	* configure.ac (THREADLIBS, THREADSPEC): Remove *-*-solaris2.9
	handling.
	* configure: Regenerate.

	libgfortran:
	* config/fpu-387.h [__sun__ && __svr4__]: Remove SSE execution
	check.

	libgcc:
	* config/i386/crtfastmath.c (set_fast_math): Remove SSE execution
	check.
	* config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove
	Solaris 9 single-threaded support.
	* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove
	Solaris 9 single-threaded support.  Add call_user_handler code
	sequences.
	(sparc_is_sighandler): Likewise.

	libcpp:
	* lex.c: Remove Solaris 9 reference.

	gcc/testsuite:
	* gcc.c-torture/compile/pr28865.c: Remove dg-xfail-if.

	* gcc.dg/c99-stdint-6.c: Remove dg-options for *-*-solaris2.9.
	* gcc.dg/lto/20090210_0.c: Remove dg-extra-ld-options for
	*-*-solaris2.9.
	* gcc.dg/torture/pr47917.c: Remove dg-options for *-*-solaris2.9.
	* gcc.target/i386/pr22076.c: Remove i?86-*-solaris2.9 handling
	from dg-options.
	* gcc.target/i386/pr22152.c: Remove i?86-*-solaris2.9 handling
	from dg-additional-options.
	* gcc.target/i386/vect8-ret.c: Remove i?86-*-solaris2.9 handling
	from dg-options.

	* gcc.dg/vect/tree-vect.h (check_vect): Remove Solaris 9 SSE2
	execution check.
	* gcc.target/i386/sse-os-support.h [__sun__ && __svr4__]
	(sigill_hdlr): Remove.
	(sse_os_support) [__sun__ && __svr4__]: Remove SSE execution
	check.

	* gfortran.dg/erf_3.F90: Remove sparc*-*-solaris2.9* handling.
	* gfortran.dg/fmt_en.f90: Remove i?86-*-solaris2.9* handling.
	* gfortran.dg/round_4.f90: Remove *-*-solaris2.9* handling.

	* lib/target-supports.exp (add_options_for_tls): Remove
	*-*-solaris2.9* handling.

	gcc:
	* config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
	(*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
	(*-*-solaris2*): Simplify.
	(i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
	(i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
	*-*-solaris2.9* handling.

	* configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
	as bug.
	(gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
	(ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
	handling, simplify.
	(gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
	* configure: Regenerate.

	* config/i386/sol2-9.h: Remove.

	* doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
	(Specific, *-*-solaris2*): Mention Solaris 9 support removal.
	Remove Solaris 9 references.

	fixincludes:
	* inclhack.def (math_exception): Bypass on *-*-solaris2.1[0-9]*.
	(solaris_int_types): Remove.
	(solaris_longjmp_noreturn): Remove.
	(solaris_mutex_init_2): Remove.
	(solaris_once_init_2): Remove.
	(solaris_sys_va_list): Remove.
	* fixincl.x: Regenerate.
	* tests/base/iso/setjmp_iso.h: Remove.
	* tests/base/pthread.h [SOLARIS_MUTEX_INIT_2_CHECK]: Remove.
	[SOLARIS_ONCE_INIT_1_CHECK]: Remove wrapping done by
	solaris_once_init_2.
	[SOLARIS_ONCE_INIT_2_CHECK]: Remove.
	* tests/base/sys/int_types.h: Remove.
	* tests/base/sys/va_list.h: Remove.

	contrib:
	* config-list.mk (LIST): Remove sparc-sun-solaris2.9, i686-solaris2.9.

From-SVN: r209621
2014-04-22 12:30:59 +00:00
Nick Clifton
df2b279c5c t-msp430 (LIB2ADD): Add lib2hw_mul.S
* config/msp430/t-msp430 (LIB2ADD): Add lib2hw_mul.S
	* config/msp430/lib2hw_mul.S: New: Hardware multiply routines.

From-SVN: r208374
2014-03-06 08:35:40 +00:00
Joey Ye
dc11d79b74 re PR libgcc/60166 (ARM default NAN encoding violates EABI)
2014-02-28  Joey Ye  <joey.ye@arm.com>

        PR libgcc/60166
        * config/arm/sfp-machine.h (_FP_NANFRAC_H,
        _FP_NANFRAC_S, _FP_NANFRAC_D, _FP_NANFRAC_Q):
        Set to zero.

From-SVN: r208229
2014-02-28 21:53:40 +00:00
Walter Lee
341c653c70 TILE-Gx big endian support.
/:
	* configure.ac (tilepro-*-*) Change to tilepro*-*-*.
	(tilegx-*-*): Change to tilegx*-*-*.
	* configure: Regenerate.

contrib/:
	* config-list.mk (LIST): Add tilegxbe-linux-gnu.

libcpp/:
	* configure.ac: Change "tilepro" triplet to "tilepro*".
	* configure: Regenerate.

libgcc/:
	* config.host: Support "tilegx*" and "tilepro*" triplets.
	* config/tilegx/sfp-machine32.h (__BYTE_ORDER): Handle big endian.
	* config/tilegx/sfp-machine64.h (__BYTE_ORDER): Handle big endian.

gcc/:
	* config.gcc (tilepro-*-*): Change to tilepro*-*-*.
	(tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
	triplet.
	* common/config/tilegx/tilegx-common.c
	(TARGET_DEFAULT_TARGET_FLAGS): Define.
	* config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
	(LINK_SPEC): Ditto.
	* config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
	* config/tilegx/tilegx.c (tilegx_return_in_msb): New.
	(tilegx_gimplify_va_arg_expr): Handle big endian.
	(tilegx_expand_unaligned_load): Ditto.
	(tilegx_expand_unaligned_store): Ditto.
	(TARGET_RETURN_IN_MSB): New.
	* config/tilegx/tilegx.h (TARGET_DEFAULT): New.
	(TARGET_ENDIAN_DEFAULT): New.
	(TARGET_BIG_ENDIAN): Handle big endian.
	(BYTES_BIG_ENDIAN): Ditto.
	(WORDS_BIG_ENDIAN): Ditto.
	(FLOAT_WORDS_BIG_ENDIAN): Ditto.
	(ENDIAN_SPEC): New.
	(EXTRA_SPECS): New.
	* config/tilegx/tilegx.md (extv): Handle big endian.
	(extzv): Ditto.
	(insn_st<n>): Ditto.
	(insn_st<n>_add<bitsuffix>): Ditto.
	(insn_stnt<n>): Ditto.
	(insn_stnt<n>_add<bitsuffix>):Ditto.
	(vec_interleave_highv8qi): Handle big endian.
	(vec_interleave_highv8qi_be): New.
	(vec_interleave_highv8qi_le): New.
	(insn_v1int_h): Handle big endian.
	(vec_interleave_lowv8qi): Handle big endian.
	(vec_interleave_lowv8qi_be): New.
	(vec_interleave_lowv8qi_le): New.
	(insn_v1int_l): Handle big endian.
	(vec_interleave_highv4hi): Handle big endian.
	(vec_interleave_highv4hi_be): New.
	(vec_interleave_highv4hi_le): New.
	(insn_v2int_h): Handle big endian.
	(vec_interleave_lowv4hi): Handle big endian.
	(vec_interleave_lowv4hi_be): New.
	(vec_interleave_lowv4hi_le): New.
	(insn_v2int_l): Handle big endian.
	(vec_interleave_highv2si): Handle big endian.
	(vec_interleave_highv2si_be): New.
	(vec_interleave_highv2si_le): New.
	(insn_v4int_h): Handle big endian.
	(vec_interleave_lowv2si): Handle big endian.
	(vec_interleave_lowv2si_be): New.
	(vec_interleave_lowv2si_le): New.
	(insn_v4int_l): Handle big endian.
	* config/tilegx/tilegx.opt (mbig-endian): New option.
	(mlittle-endian): New option.
	* doc/install.texi: Document tilegxbe-linux.
	* doc/invoke.texi: Document -mbig-endian and -mlittle-endian.

From-SVN: r208069
2014-02-24 15:08:00 +00:00
Chung-Lin Tang
95ce7613d5 nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
2014-02-20  Chung-Lin Tang  <cltang@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
	* config/nios2/nios2.c (nios2_function_profiler):
	Add -fPIC (flag_pic == 2) support.
	(nios2_handle_custom_fpu_cfg): Fix warning parameter.
	(nios2_large_offset_p): New function.
	(nios2_unspec_reloc_p): Move up position, update to use
	nios2_large_offset_p.
	(nios2_unspec_address): Remove function.
	(nios2_unspec_offset): New function.
	(nios2_large_got_address): New function.
	(nios2_got_address): Add large offset support.
	(nios2_legitimize_tls_address): Update usage of removed and new
	functions.
	(nios2_symbol_binds_local_p): New function.
	(nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
	(nios2_legitimize_address): Update to use nios2_large_offset_p.
	(nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
	(nios2_print_operand): Merge H/L processing, add hiadj/lo
	processing for (const (unspec ...)).
	(nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.

	gcc/testsuite/
	* gcc.target/nios2/biggot-1.c: New.
	* gcc.target/nios2/biggot-2.c: New.

	libgcc/
	* config/nios2/t-nios2 (CRTSTUFF_T_CFLAGS): Add -mno-gpopt.
	* config/nios2/crti.S: Remove .file directive.
	* config/nios2/crtn.S: Likewise.

From-SVN: r207965
2014-02-20 16:35:10 +00:00
Joseph Myers
9acf28f153 float128-mul-underflow.c, [...]: New tests.
gcc/testsuite:
	* gcc.dg/torture/float128-mul-underflow.c,
	gcc.dg/torture/float128-truncdf-underflow.c,
	gcc.dg/torture/float128-truncsf-underflow.c: New tests.

libgcc:
	* soft-fp/adddf3.c: Update from glibc.
	* soft-fp/addsf3.c: Likewise.
	* soft-fp/addtf3.c: Likewise.
	* soft-fp/divdf3.c: Likewise.
	* soft-fp/divsf3.c: Likewise.
	* soft-fp/divtf3.c: Likewise.
	* soft-fp/double.h: Likewise.
	* soft-fp/eqdf2.c: Likewise.
	* soft-fp/eqsf2.c: Likewise.
	* soft-fp/eqtf2.c: Likewise.
	* soft-fp/extenddftf2.c: Likewise.
	* soft-fp/extended.h: Likewise.
	* soft-fp/extendsfdf2.c: Likewise.
	* soft-fp/extendsftf2.c: Likewise.
	* soft-fp/extendxftf2.c: Likewise.
	* soft-fp/fixdfdi.c: Likewise.
	* soft-fp/fixdfsi.c: Likewise.
	* soft-fp/fixdfti.c: Likewise.
	* soft-fp/fixsfdi.c: Likewise.
	* soft-fp/fixsfsi.c: Likewise.
	* soft-fp/fixsfti.c: Likewise.
	* soft-fp/fixtfdi.c: Likewise.
	* soft-fp/fixtfsi.c: Likewise.
	* soft-fp/fixtfti.c: Likewise.
	* soft-fp/fixunsdfdi.c: Likewise.
	* soft-fp/fixunsdfsi.c: Likewise.
	* soft-fp/fixunsdfti.c: Likewise.
	* soft-fp/fixunssfdi.c: Likewise.
	* soft-fp/fixunssfsi.c: Likewise.
	* soft-fp/fixunssfti.c: Likewise.
	* soft-fp/fixunstfdi.c: Likewise.
	* soft-fp/fixunstfsi.c: Likewise.
	* soft-fp/fixunstfti.c: Likewise.
	* soft-fp/floatdidf.c: Likewise.
	* soft-fp/floatdisf.c: Likewise.
	* soft-fp/floatditf.c: Likewise.
	* soft-fp/floatsidf.c: Likewise.
	* soft-fp/floatsisf.c: Likewise.
	* soft-fp/floatsitf.c: Likewise.
	* soft-fp/floattidf.c: Likewise.
	* soft-fp/floattisf.c: Likewise.
	* soft-fp/floattitf.c: Likewise.
	* soft-fp/floatundidf.c: Likewise.
	* soft-fp/floatundisf.c: Likewise.
	* soft-fp/floatunditf.c: Likewise.
	* soft-fp/floatunsidf.c: Likewise.
	* soft-fp/floatunsisf.c: Likewise.
	* soft-fp/floatunsitf.c: Likewise.
	* soft-fp/floatuntidf.c: Likewise.
	* soft-fp/floatuntisf.c: Likewise.
	* soft-fp/floatuntitf.c: Likewise.
	* soft-fp/gedf2.c: Likewise.
	* soft-fp/gesf2.c: Likewise.
	* soft-fp/getf2.c: Likewise.
	* soft-fp/ledf2.c: Likewise.
	* soft-fp/lesf2.c: Likewise.
	* soft-fp/letf2.c: Likewise.
	* soft-fp/muldf3.c: Likewise.
	* soft-fp/mulsf3.c: Likewise.
	* soft-fp/multf3.c: Likewise.
	* soft-fp/negdf2.c: Likewise.
	* soft-fp/negsf2.c: Likewise.
	* soft-fp/negtf2.c: Likewise.
	* soft-fp/op-1.h: Likewise.
	* soft-fp/op-2.h: Likewise.
	* soft-fp/op-4.h: Likewise.
	* soft-fp/op-8.h: Likewise.
	* soft-fp/op-common.h: Likewise.
	* soft-fp/quad.h: Likewise.
	* soft-fp/single.h: Likewise.
	* soft-fp/soft-fp.h: Likewise.
	* soft-fp/subdf3.c: Likewise.
	* soft-fp/subsf3.c: Likewise.
	* soft-fp/subtf3.c: Likewise.
	* soft-fp/truncdfsf2.c: Likewise.
	* soft-fp/trunctfdf2.c: Likewise.
	* soft-fp/trunctfsf2.c: Likewise.
	* soft-fp/trunctfxf2.c: Likewise.
	* soft-fp/unorddf2.c: Likewise.
	* soft-fp/unordsf2.c: Likewise.
	* soft-fp/unordtf2.c: Likewise.
	* config/aarch64/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): New
	macro.
	* config/arm/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/c6x/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/cris/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/i386/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/ia64/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/lm32/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/mips/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/moxie/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/nds32/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/nios2/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/rs6000/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/score/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/tilegx/sfp-machine32.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/tilegx/sfp-machine64.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/tilepro/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.

From-SVN: r207742
2014-02-12 23:24:49 +00:00
Andreas Krebbel
ce245ec69e _fixdfdi.c: Throw invalid exception if number cannot be represented.
2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/32/_fixdfdi.c: Throw invalid exception if number
	cannot be represented.
	* config/s390/32/_fixsfdi.c: Likewise.
	* config/s390/32/_fixtfdi.c: Likewise.
	* config/s390/32/_fixunsdfdi.c: Likewise.
	* config/s390/32/_fixunssfdi.c: Likewise.
	* config/s390/32/_fixunstfdi.c: Likewise.

2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* gcc.target/s390/fp2int1.c: New testcase.

From-SVN: r207596
2014-02-07 10:14:24 +00:00
Richard Sandiford
1c51d6883a configure.ac (libgcc_cv_mips_hard_float): New.
libgcc/
	* configure.ac (libgcc_cv_mips_hard_float): New.
	* configure: Regenerate.
	* config.host (mips*-*-*): Use t-hardfp-sfdf rather than
	t-softfp-sfdf for hard-float targets.
	* config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Reinstate.
	(softfp_float_modes, softfp_int_modes, softfp_extensions)
	(softfp_truncations, softfp_exclude_libgcc2): New.
	* config/t-hardfp: New file.
	* config/t-hardfp-sfdf: Likewise.
	* config/hardfp.c: Likewise.

From-SVN: r207593
2014-02-07 07:46:34 +00:00
Andreas Krebbel
bbf391dbf7 config.host: Include t-floattodi also for s390x.
2014-02-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config.host: Include t-floattodi also for s390x.
	* config/s390/32/_fixdfdi.c: Omit in 64 bit mode.
	* config/s390/32/_fixsfdi.c: Likewise.
	* config/s390/32/_fixtfdi.c: Likewise.
	* config/s390/32/_fixunsdfdi.c: Likewise.
	* config/s390/32/_fixunssfdi.c: Likewise.
	* config/s390/32/_fixunstfdi.c: Likewise.

From-SVN: r207507
2014-02-05 15:02:50 +00:00
Rainer Orth
91da048112 Ensure libgcc_s unwinder is always used on 64-bit Solaris 10+/x86 (PR target/59788)
gcc:
	PR target/59788
	* config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
	(LINK_SPEC): Use it for -shared, -shared-libgcc.

	libgcc:
	PR target/59788
	* config/t-slibgcc-sld (libgcc-unwind.map): New target.
	(install-libgcc-unwind-map-forbuild): New target.
	(all): Depend on install-libgcc-unwind-map-forbuild.
	(install-libgcc-unwind-map): New target.
	(install): Depend on install-libgcc-unwind-map.

	gcc/testsuite:
	PR target/59788
	* g++.dg/eh/unwind-direct.C: New test.

	toplevel:
	PR target/59788
	* ltmain.sh (opt_duplicate_compiler_generated_deps): Enable on
	*solaris2*.

From-SVN: r207454
2014-02-04 09:31:38 +00:00
Sandra Loosemore
02b677311e nios2.md (load_got_register): Initialize GOT pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
2014-02-02  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/nios2/nios2.md (load_got_register): Initialize GOT
	pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
	* config/nios2/nios2.c (nios2_function_profiler): Likewise.

	libgcc/
	* config/nios2/crti.S (_init): Initialize GOT pointer from
	_gp_got instead of _GLOBAL_OFFSET_TABLE_.

From-SVN: r207409
2014-02-02 17:12:17 -05:00
Richard Sandiford
1ea0a6515f configure.ac: Check __mips64 when setting host_address.
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.

From-SVN: r207403
2014-02-02 16:17:15 +00:00
Marcus Shawcroft
f32b006110 [AArch64] Fix sfp-machine.h _FP_I_TYPE.
2014-01-29  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* config/aarch64/sfp-machine.h (_FP_I_TYPE): Define
	as long long.

From-SVN: r207259
2014-01-29 15:45:20 +00:00
Walter Lee
a5420aa44e atomic.c: Include tconfig.h.
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilepro/atomic.c: Include tconfig.h.  Don't include
            config.h or system.h.
            (bool) Define.

From-SVN: r207088
2014-01-25 20:37:01 +00:00
Walter Lee
24534912f7 atomic.c (pre_atomic_barrier): Mark inline.
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilepro/atomic.c (pre_atomic_barrier): Mark inline.
            (post_atomic_barrier): Ditto.
            (__fetch_and_do): New macro.
            (__atomic_fetch_and_do): Use __fetch_and_do.
            (__sync_fetch_and_do): New macro.
            (__sync_fetch_and_add_4): New function.
            (__sync_fetch_and_sub_4): New function.
            (__sync_fetch_and_or_4): New function.
            (__sync_fetch_and_and_4): New function.
            (__sync_fetch_and_xor_4): New function.
            (__sync_fetch_and_nand_4): New function.
            (__sync_fetch_and_add_8): New function.
            (__sync_fetch_and_sub_8): New function.
            (__sync_fetch_and_or_8): New function.
            (__sync_fetch_and_and_8): New function.
            (__sync_fetch_and_xor_8): New function.
            (__sync_fetch_and_nand_8): New function.
            (__do_and_fetch): New macro.
            (__atomic_do_and_fetch): Use __do_and_fetch.
            (__sync_do_and_fetch): New macro.
            (__sync_add_and_fetch_4): New function.
            (__sync_sub_and_fetch_4): New function.
            (__sync_or_and_fetch_4): New function.
            (__sync_and_and_fetch_4): New function.
            (__sync_xor_and_fetch_4): New function.
            (__sync_nand_and_fetch_4): New function.
            (__sync_add_and_fetch_8): New function.
            (__sync_sub_and_fetch_8): New function.
            (__sync_or_and_fetch_8): New function.
            (__sync_and_and_fetch_8): New function.
            (__sync_xor_and_fetch_8): New function.
            (__sync_nand_and_fetch_8): New function.
            (__sync_exchange_methods): New macro.
            (__sync_val_compare_and_swap_4): New function.
            (__sync_bool_compare_and_swap_4): New function.
            (__sync_lock_test_and_test_4): New function.
            (__sync_val_compare_and_swap_8): New function.
            (__sync_bool_compare_and_swap_8): New function.
            (__sync_lock_test_and_test_8): New function.
            (__subword_cmpxchg_body): New macro.
            (__atomic_compare_exchange_1): Use __subword_cmpxchg_body.
            (__atomic_compare_exchange_2): Ditto.
            (__sync_subword_cmpxchg): New macro.
            (__sync_val_compare_and_swap_1): New function.
            (__sync_bool_compare_and_swap_1): New function.
            (__sync_val_compare_and_swap_2): New function.
            (__sync_bool_compare_and_swap_2): New function.
            (__atomic_subword): Rename to ...
            (__subword): ... New name.
            (__atomic_subword_fetch): Use __subword.
            (__sync_subword_fetch): New macro.
            (__sync_fetch_and_add_1): New function.
            (__sync_fetch_and_sub_1): New function.
            (__sync_fetch_and_or_1): New function.
            (__sync_fetch_and_and_1): New function.
            (__sync_fetch_and_xor_1): New function.
            (__sync_fetch_and_nand_1): New function.
            (__sync_fetch_and_add_2): New function.
            (__sync_fetch_and_sub_2): New function.
            (__sync_fetch_and_or_2): New function.
            (__sync_fetch_and_and_2): New function.
            (__sync_fetch_and_xor_2): New function.
            (__sync_fetch_and_nand_2): New function.
            (__sync_add_and_fetch_1): New function.
            (__sync_sub_and_fetch_1): New function.
            (__sync_or_and_fetch_1): New function.
            (__sync_and_and_fetch_1): New function.
            (__sync_xor_and_fetch_1): New function.
            (__sync_nand_and_fetch_1): New function.
            (__sync_add_and_fetch_2): New function.
            (__sync_sub_and_fetch_2): New function.
            (__sync_or_and_fetch_2): New function.
            (__sync_and_and_fetch_2): New function.
            (__sync_xor_and_fetch_2): New function.
            (__sync_nand_and_fetch_2): New function.
            (__atomic_subword_lock): Use __subword.
            (__sync_subword_lock): New macro.
            (__sync_lock_test_and_set_1): New function.
            (__sync_lock_test_and_set_2): New function.

From-SVN: r207087
2014-01-25 20:35:56 +00:00
Walter Lee
4d6d3bc532 atomic.c (BIT_OFFSET): Define.
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilepro/atomic.c (BIT_OFFSET): Define.
            (__atomic_subword_cmpxchg): Use BIT_OFFSET.
            (__atomic_subword): Ditto.

From-SVN: r207086
2014-01-25 20:34:42 +00:00
Walter Lee
cbd9890e93 atomic.c (__atomic_do_and_fetch): Add a prefix op argument.
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilepro/atomic.c (__atomic_do_and_fetch): Add a
            prefix op argument.
            (__atomic_nand_fetch_4): Add prefix op.
            (__atomic_nand_fetch_8): Ditto.

From-SVN: r207085
2014-01-25 20:33:28 +00:00
Joseph Myers
a02e7bddb8 ibm-ldouble.c (__gcc_qdiv): Scale up arguments in case of small numerator and finite nonzero result.
libgcc:
	* config/rs6000/ibm-ldouble.c (__gcc_qdiv): Scale up arguments in
	case of small numerator and finite nonzero result.

gcc/testsuite:
	* gcc.target/powerpc/rs6000-ldouble-3.c: New test.

From-SVN: r206310
2014-01-03 02:05:44 +00:00
Richard Sandiford
ac1dca3cab Update copyright years in libgcc/
From-SVN: r206295
2014-01-02 22:25:22 +00:00
Richard Sandiford
f9030485a3 arc-common.c, [...]: Use the standard form for the copyright notice.
gcc/
	* common/config/arc/arc-common.c, config/arc/arc-modes.def,
	config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
	config/arc/arc.md, config/arc/arc.opt, config/arm/arm_neon_builtins.def,
	config/arm/crypto.def, config/i386/avx512cdintrin.h,
	config/i386/avx512erintrin.h, config/i386/avx512fintrin.h,
	config/i386/avx512pfintrin.h, config/i386/btver2.md,
	config/i386/shaintrin.h, config/i386/slm.md, config/linux-protos.h,
	config/linux.c, config/winnt-c.c, diagnostic-color.c,
	diagnostic-color.h, gimple-ssa-isolate-paths.c, vtable-verify.c,
	vtable-verify.h: Use the standard form for the copyright notice.

gcc/c-family/
	* array-notation-common.c, c-cilkplus.c: Use the standard form for
	the copyright notice.

gcc/c/
	* c-array-notation.c: Use the standard form for the copyright notice.

gcc/cp/
	* cp-array-notation.c, cp-cilkplus.c, vtable-class-hierarchy.c: Use
	the standard form for the copyright notice.

gcc/testsuite/
	* gcc.target/arc/arc.exp: Use the standard form for the copyright
	notice.

libgcc/
	* config/arc/asm.h, config/arc/crtg.S, config/arc/crtgend.S,
	config/arc/crti.S, config/arc/crtn.S, config/arc/divtab-arc700.c,
	config/arc/dp-hack.h, config/arc/fp-hack.h,
	config/arc/ieee-754/adddf3.S, config/arc/ieee-754/addsf3.S,
	config/arc/ieee-754/arc600-dsp/divdf3.S,
	config/arc/ieee-754/arc600-dsp/divsf3.S,
	config/arc/ieee-754/arc600-dsp/muldf3.S,
	config/arc/ieee-754/arc600-dsp/mulsf3.S,
	config/arc/ieee-754/arc600-mul64/divdf3.S,
	config/arc/ieee-754/arc600-mul64/divsf3.S,
	config/arc/ieee-754/arc600-mul64/muldf3.S,
	config/arc/ieee-754/arc600-mul64/mulsf3.S,
	config/arc/ieee-754/arc600/divsf3.S,
	config/arc/ieee-754/arc600/mulsf3.S,
	config/arc/ieee-754/divdf3.S, config/arc/ieee-754/divsf3-stdmul.S,
	config/arc/ieee-754/divsf3.S, config/arc/ieee-754/divtab-arc-df.c,
	config/arc/ieee-754/divtab-arc-sf.c, config/arc/ieee-754/eqdf2.S,
	config/arc/ieee-754/eqsf2.S, config/arc/ieee-754/extendsfdf2.S,
	config/arc/ieee-754/fixdfsi.S, config/arc/ieee-754/fixsfsi.S,
	config/arc/ieee-754/fixunsdfsi.S, config/arc/ieee-754/floatsidf.S,
	config/arc/ieee-754/floatsisf.S, config/arc/ieee-754/floatunsidf.S,
	config/arc/ieee-754/gedf2.S, config/arc/ieee-754/gesf2.S,
	config/arc/ieee-754/gtdf2.S, config/arc/ieee-754/gtsf2.S,
	config/arc/ieee-754/muldf3.S, config/arc/ieee-754/mulsf3.S,
	config/arc/ieee-754/orddf2.S, config/arc/ieee-754/ordsf2.S,
	config/arc/ieee-754/truncdfsf2.S, config/arc/ieee-754/uneqdf2.S,
	config/arc/ieee-754/uneqsf2.S, config/arc/initfini.c,
	config/arc/lib1funcs.S, config/arc/t-arc, config/arc/t-arc-newlib,
	config/cris/umulsidi3.S, config/msp430/cmpsi2.S,
	config/msp430/epilogue.S, config/msp430/lib2bitcountHI.c,
	config/msp430/lib2divHI.c, config/msp430/lib2divQI.c,
	config/msp430/lib2divSI.c, config/msp430/lib2mul.c,
	config/msp430/msp430-divmod.h, config/msp430/msp430-mul.h,
	config/msp430/slli.S, config/msp430/srai.S, config/msp430/srli.S,
	config/rl78/divmodhi.S, config/rl78/divmodqi.S, config/rl78/divmodsi.S,
	config/rl78/signbit.S, vtv_end.c, vtv_end_preinit.c, vtv_start.c,
	vtv_start_preinit.c: Use the standard form for the copyright notice.

libgomp/
	* hashtab.h: Use the standard form for the copyright notice.

libstdc++-v3/
	* testsuite/18_support/new_handler.cc,
	testsuite/18_support/terminate_handler.cc,
	testsuite/18_support/unexpected_handler.cc: Use the standard form for
	the copyright notice.

From-SVN: r206288
2014-01-02 22:09:02 +00:00
Chung-Lin Tang
e430824f28 Commit of nios2 port to trunk:
contrib/
2013-12-31  Chung-Lin Tang  <cltang@codesourcery.com>

	* config-list.mk: Add nios2-elf, nios2-linux-gnu. Corrected
	ordering of some configs.

gcc/
2013-12-31  Chung-Lin Tang  <cltang@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>
	    Based on patches from Altera Corporation

	* config.gcc (nios2-*-*): Add nios2 config targets.
	* configure.ac (TLS_SECTION_ASM_FLAG): Add nios2 case.
	("$cpu_type"): Add nios2 as new cpu type.
	* configure: Regenerate.
	* config/nios2/nios2.c: New file.
	* config/nios2/nios2.h: New file.
	* config/nios2/nios2-opts.h: New file.
	* config/nios2/nios2-protos.h: New file.
	* config/nios2/elf.h: New file.
	* config/nios2/elf.opt: New file.
	* config/nios2/linux.h: New file.
	* config/nios2/nios2.opt: New file.
	* config/nios2/nios2.md: New file.
	* config/nios2/predicates.md: New file.
	* config/nios2/constraints.md: New file.
	* config/nios2/t-nios2: New file.
	* common/config/nios2/nios2-common.c: New file.
	* doc/invoke.texi (Nios II options): Document Nios II specific
	options.
	* doc/md.texi (Nios II family): Document Nios II specific
	constraints.
	* doc/extend.texi (Function Specific Option Pragmas): Document
	Nios II supported target pragma functionality.

gcc/testsuite/
2013-12-31  Sandra Loosemore  <sandra@codesourcery.com>
	    Chung-Lin Tang  <cltang@codesourcery.com>
	    Based on patches from Altera Corporation

	* gcc.dg/stack-usage-1.c (SIZE): Define case for __nios2__.
	* gcc.dg/20040813-1.c: Skip for nios2-*-*.
	* gcc.dg/20020312-2.c: Add __nios2__ case.
	* g++.dg/other/PR23205.C: Skip for nios2-*-*.
	* g++.dg/other/pr23205-2.C: Skip for nios2-*-*.
	* g++.dg/cpp0x/constexpr-rom.C: Skip for nios2-*-*.
	* g++.dg/cpp0x/alias-decl-debug-0.C: Skip for nios2-*-*.
	* g++.old-deja/g++.jason/thunk3.C: Skip for nios2-*-*.
	* lib/target-supports.exp (check_profiling_available): Check for
	nios2-*-elf.
	* gcc.c-torture/execute/pr47237.x:: Skip for nios2-*-*.
	* gcc.c-torture/execute/20101011-1.c: Skip for nios2-*-*.
	* gcc.c-torture/execute/builtins/lib/chk.c (memset): Place
	char-based memset loop before inline check, to prevent
	problems when called to initialize .bss. Update comments.
	* gcc.target/nios2/nios2.exp: New DejaGNU file.
	* gcc.target/nios2/nios2-custom-1.c: New test.
	* gcc.target/nios2/nios2-trap-insn.c: New test.
	* gcc.target/nios2/nios2-builtin-custom.c: New test.
	* gcc.target/nios2/nios2-builtin-io.c: New test.
	* gcc.target/nios2/nios2-stack-check-1.c: New test.
	* gcc.target/nios2/nios2-stack-check-2.c: New test.
	* gcc.target/nios2/nios2-rdctl.c: New test.
	* gcc.target/nios2/nios2-wrctl.c: New test.
	* gcc.target/nios2/nios2-wrctl-zero.c: New test.
	* gcc.target/nios2/nios2-wrctl-not-zero.c: New test.
	* gcc.target/nios2/nios2-rdwrctl-1.c: New test.
	* gcc.target/nios2/nios2-reg-constraints.c: New test.
	* gcc.target/nios2/nios2-ashlsi3-one_shift.c: New test.
	* gcc.target/nios2/nios2-mul-options-1.c: New test.
	* gcc.target/nios2/nios2-mul-options-2.c: New test.
	* gcc.target/nios2/nios2-mul-options-3.c: New test.
	* gcc.target/nios2/nios2-mul-options-4.c: New test.
	* gcc.target/nios2/nios2-nor.c: New test.
	* gcc.target/nios2/nios2-stxio.c: New test.
	* gcc.target/nios2/custom-fp-1.c: New test.
	* gcc.target/nios2/custom-fp-2.c: New test.
	* gcc.target/nios2/custom-fp-3.c: New test.
	* gcc.target/nios2/custom-fp-4.c: New test.
	* gcc.target/nios2/custom-fp-5.c: New test.
	* gcc.target/nios2/custom-fp-6.c: New test.
	* gcc.target/nios2/custom-fp-7.c: New test.
	* gcc.target/nios2/custom-fp-8.c: New test.
	* gcc.target/nios2/custom-fp-cmp-1.c: New test.
	* gcc.target/nios2/custom-fp-conversion.c: New test.
	* gcc.target/nios2/custom-fp-double.c: New test.
	* gcc.target/nios2/custom-fp-float.c: New test.
	* gcc.target/nios2/nios2-int-types.c: New test.
	* gcc.target/nios2/nios2-cache-1.c: New test.
	* gcc.target/nios2/nios2-cache-2.c: New test.

libgcc/
2013-12-31  Sandra Loosemore  <sandra@codesourcery.com>
	    Chung-Lin Tang  <cltang@codesourcery.com>
	    Based on patches from Altera Corporation

	* config.host (nios2-*-*,nios2-*-linux*): Add nios2 host cases.
	* config/nios2/lib2-nios2.h: New file.
	* config/nios2/lib2-divmod-hi.c: New file.
	* config/nios2/linux-unwind.h: New file.
	* config/nios2/lib2-divmod.c: New file.
	* config/nios2/linux-atomic.c: New file.
	* config/nios2/t-nios2: New file.
	* config/nios2/crti.asm: New file.
	* config/nios2/t-linux: New file.
	* config/nios2/lib2-divtable.c: New file.
	* config/nios2/lib2-mul.c: New file.
	* config/nios2/tramp.c: New file.
	* config/nios2/crtn.asm: New file.

From-SVN: r206256
2013-12-31 07:05:35 +00:00
Uros Bizjak
1879e97f6c cpuinfo.c (enum vendor_signatures): Remove.
* config/i386/cpuinfo.c (enum vendor_signatures): Remove.
	(__cpu_indicator_init): Use signature_INTEL_ebx and signature_AMD_ebx
	from cpuid.h to check vendor signatures.

From-SVN: r206211
2013-12-26 15:12:20 +01:00
Ganesh Gopalasubramanian
f4a4bdbb6c Change AMD cpu names
From-SVN: r206210
2013-12-26 08:54:49 +00:00
H.J. Lu
8d2ae544f1 Remove model 0x3f from Haswell
* config/i386/cpuinfo.c (get_intel_cpu): Remove model 0x3f from
	Haswell.

From-SVN: r206208
2013-12-25 17:48:24 -08:00
Allan Sandfeld Jensen
74924838e8 re PR target/59422 (Support more targets for function multi versioning)
gcc/

2013-12-25  Allan Sandfeld Jensen  <sandfeld@kde.org>
	    H.J. Lu  <hongjiu.lu@intel.com>

	PR target/59422
	* config/i386/i386.c (get_builtin_code_for_version): Handle
	PROCESSOR_HASWELL, PROCESSOR_SILVERMONT, PROCESSOR_BTVER1,
	PROCESSOR_BTVER2, PROCESSOR_BDVER3 and PROCESSOR_BDVER4.
	Change priority of PROCESSOR_BDVER1 to P_PROC_XOP.
	(fold_builtin_cpu): Add "ivybridge", "haswell", "bonnell",
	"silvermont", "bobcat" and "jaguar" CPU names.  Add "sse4a",
	"fma4", "xop" and "fma" ISA names.

libgcc/

2013-12-25  Allan Sandfeld Jensen  <sandfeld@kde.org>
	    H.J. Lu  <hongjiu.lu@intel.com>

        PR target/59422
        * config/i386/cpuinfo.c (enum processor_types):  Add AMD_BOBCAT
	and AMD_JAGUAR.
	(enum processor_subtypes): Add AMDFAM15H_BDVER3, AMDFAM15H_BDVER4,
	INTEL_COREI7_IVYBRIDGE and INTEL_COREI7_HASWELL.
	(enum processor_features): Add  FEATURE_SSE4_A, FEATURE_FMA4,
	FEATURE_XOP and FEATURE_FMA.
	(get_amd_cpu): Handle AMD_BOBCAT, AMD_JAGUAR, AMDFAM15H_BDVER2 and
	AMDFAM15H_BDVER3.
	(get_intel_cpu): Handle INTEL_COREI7 and INTEL_COREI7_HASWELL.
        (get_available_features): Handle FEATURE_FMA, FEATURE_SSE4_A,
	FEATURE_FMA4 and FEATURE_XOP.

testsuite/

2013-12-25  Allan Sandfeld Jensen  <sandfeld@kde.org>

	PR target/59422
	* gcc.target/i386/funcspec-5.c (test_fma, test_xop, test_no_fma,
	test_no_xop, test_arch_corei7, test_arch_corei7_avx,
	test_arch_core_avx2, test_arch_bdver1, test_arch_bdver2,
	test_arch_bdver3, test_tune_corei7, test_tune_corei7_avx,
	test_tune_core_avx2, test_tune_bdver1, test_tune_bdver2 and
	test_tune_bdver3): New function prototypes.

From-SVN: r206200
2013-12-25 23:22:24 +01:00
H.J. Lu
d3c1197403 Use proper Intel processor names for -march=/-mtune=
gcc/

	* config/i386/core2.md: Replace corei7 with nehalem.

	* config/i386/driver-i386.c (host_detect_local_cpu): Use nehalem,
	westmere, sandybridge, ivybridge, haswell, bonnell, silvermont
	for cpu names.

	* config/i386/i386-c.c (ix86_target_macros_internal): Replace
	PROCESSOR_COREI7, PROCESSOR_COREI7_AVX, PROCESSOR_ATOM,
	PROCESSOR_SLM with PROCESSOR_NEHALEM, PROCESSOR_SANDYBRIDGE,
	PROCESSOR_BONNELL, PROCESSOR_SILVERMONT.  Define
	__nehalem/__nehalem__, __sandybridge/__sandybridge__,
	__haswell/__haswell__, __tune_nehalem__, __tune_sandybridge__,
	__tune_haswell__, __bonnell/__bonnell__,
	__silvermont/__silvermont__, __tune_bonnell__,
	__tune_silvermont__.

	* config/i386/i386.c (m_COREI7): Renamed to ...
	(m_NEHALEM): This.
	(m_COREI7_AVX): Renamed to ...
	(m_SANDYBRIDGE): This.
	(m_ATOM): Renamed to ...
	(m_BONNELL): This.
	(m_SLM): Renamed to ...
	(m_SILVERMONT): This.
	(m_CORE_ALL): Updated.
	(cpu_names): Add "nehalem", "westmere", "sandybridge",
	"ivybridge", "haswell", "broadwell", "bonnell", "silvermont".
	(PTA_CORE2): New.
	(PTA_NEHALEM): Likewise.
	(PTA_WESTMERE): Likewise.
	(PTA_SANDYBRIDGE): Likewise.
	(PTA_IVYBRIDGE): Likewise.
	(PTA_HASWELL): Likewise.
	(PTA_BROADWELL): Likewise.
	(PTA_BONNELL): Likewise.
	(PTA_SILVERMONT): Likewise.
	(ix86_option_override_internal): Use new PTA_XXX.  Add nehalem,
	westmere, sandybridge, ivybridge, haswell, bonnell, silvermont.
	(ix86_lea_outperforms): Updated.
	(ix86_issue_rate): Likewise.
	(ix86_adjust_cost): Likewise.
	(ia32_multipass_dfa_lookahead): Likewise.
	(do_reorder_for_imul): Likewise.
	(swap_top_of_ready_list): Likewise.
	(ix86_sched_reorder): Likewise.
	(ix86_sched_init_global): Likewise.
	(get_builtin_code_for_version): Likewise.
	(processor_model): Replace M_INTEL_ATOM, M_INTEL_SLM with
	M_INTEL_BONNELL, M_INTEL_SILVERMONT.
	(arch_names_table): Updated.

	* config/i386/i386.h (TARGET_COREI7): Removed.
	(TARGET_COREI7_AVX): Likewise.
	(TARGET_ATOM): Likewise.
	(TARGET_SLM): Likewise.
	(TARGET_NEHALEM): New.
	(TARGET_SANDYBRIDGE): Likewise.
	(TARGET_BONNELL): Likewise.
	(TARGET_SILVERMONT): Likewise.
	(target_cpu_default): Add TARGET_CPU_DEFAULT_core_avx2,
	TARGET_CPU_DEFAULT_nehalem, TARGET_CPU_DEFAULT_westmere,
	TARGET_CPU_DEFAULT_sandybridge, TARGET_CPU_DEFAULT_ivybridge,
	TARGET_CPU_DEFAULT_broadwell, TARGET_CPU_DEFAULT_bonnell,
	TARGET_CPU_DEFAULT_silvermont.  Move TARGET_CPU_DEFAULT_haswell
	before TARGET_CPU_DEFAULT_broadwell.
	(processor_type): Replace PROCESSOR_COREI7, PROCESSOR_COREI7_AVX,
	PROCESSOR_ATOM, PROCESSOR_SLM with PROCESSOR_NEHALEM,
	PROCESSOR_SANDYBRIDGE, PROCESSOR_BONNELL, PROCESSOR_SILVERMONT.

	* config/i386/i386.md (cpu): Replace corei7 with nehalem.

	* config/i386/x86-tune.def: Updated.

	* doc/invoke.texi: Replace corei7, corei7-avx, core-avx-i,
	core-avx2, atom, slm with nehalem, sandybridge, ivybridge,
	haswell, bonnel, silvermont.  Add westmere.

libgcc/

	* config/i386/cpuinfo.c (processor_subtypes): Replace INTEL_ATOM,
	INTEL_SLM with INTEL_BONNELL, INTEL_SILVERMONT.
	(get_intel_cpu): Updated.

Co-Authored-By: Tocar Ilya <ilya.tocar@intel.com>

From-SVN: r206178
2013-12-23 05:05:09 -08:00
Uros Bizjak
8b02e720d2 sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE instructions when __TARGET_SSE__ is defined.
libgcc/ChangeLog:

2013-12-09  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE
	instructions when __TARGET_SSE__ is defined.

libatomic/ChangeLog:

2013-12-09  Uros Bizjak  <ubizjak@gmail.com>

	* config/x86/fenv.c (__atomic_feraiseexcept): Emit SSE
	instructions when __TARGET_SSE__ is defined.

From-SVN: r205811
2013-12-09 18:37:43 +01:00
Kugan Vivekanandarajah
ecd78fc9ab bpapi-lib.h (TARGET_HAS_NO_HW_DIVIDE): Define for architectures that do not have hardware divide instruction.
2013-12-04  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* config/arm/bpapi-lib.h (TARGET_HAS_NO_HW_DIVIDE): Define for
	architectures that do not have hardware divide instruction.
	i.e. architectures that do not define __ARM_ARCH_EXT_IDIV__.

From-SVN: r205666
2013-12-04 12:34:39 +01:00
Adhemerval Zanella
b03fb8c996 ibm-ldouble.c (__gcc_qadd): Fix add of normal number and qNaN to not raise an inexact exception.
libgcc/ChangeLog:

2013-12-03  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>

	* config/rs6000/ibm-ldouble.c (__gcc_qadd): Fix add
	of normal number and qNaN to not raise an inexact exception.

gcc/testsuite/ChangeLog:

2013-12-03  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>

	* gcc.target/powerpc/pr57363.c: New test.

From-SVN: r205645
2013-12-03 18:57:37 +00:00
Uros Bizjak
3c716922ad sfp-machine.h (__FP_FRAC_ADDI_4): New macro.
* config/i386/32/sfp-machine.h (__FP_FRAC_ADDI_4): New macro.

From-SVN: r205488
2013-11-28 16:31:23 +01:00
Matthew Leach
cceeb9a978 linux-unwind.h (aarch64_fallback_frame_state): Check for correct opcodes on BE.
2013-11-26  Matthew Leach  <matthew.leach@arm.com>

	* config/aarch64/linux-unwind.h (aarch64_fallback_frame_state):	Check
	for correct opcodes on BE.

From-SVN: r205479
2013-11-28 10:59:38 +00:00
Oleg Endo
82552a29d4 crt1.S (start): Don't do VBR_SETUP for SH2E.
* config/sh/crt1.S (start): Don't do VBR_SETUP for SH2E.

From-SVN: r205360
2013-11-25 17:11:50 +00:00
Rainer Orth
80e8745780 Suppress some warnings for soft-fp files
* config/t-softfp (soft-fp-objects-base): New variable.
	(soft-fp-objects): Use it.

From-SVN: r205355
2013-11-25 16:02:12 +00:00
David Edelsohn
4417887978 re PR target/33704 (AIX runs c++ constructors in incorrect order)
libgcc:

	PR target/33704
        * config/rs6000/aixinitfini.c: New file.
        * config/rs6000/t-aix-cxa (LIB2ADD_ST): Add aixinitfini.c.
        * config/rs6000/libgcc-aix-cxa.ver (GCC_4.9): Add libgcc initfini
        symbols.

gcc:

	PR target/33704
        * config/rs6000/aix.h (COLLECT_SHARED_INIT_FUNC): Define.
        (COLLECT_SHARED_FINI_FUNC): Define.

        * collect2.c (aix_shared_initname): Declare.
        (aix_shared_fininame): Declare.
        (symkind): Add SYM_AIXI and SYM_AIXD.
        (scanfilter_masks): Add SCAN_AIXI and SCAN_AIXD.
        (struct names special): Add GLOBAL__AIXI_ and GLOBAL__AIXD_.
        (aixlazy_flag): Parse.
        (extract_init_priority): SYM_AIXI and SYM_AIXD have highest priority.
        (scan_prog_file, COFF): Handle SYM_AIXI and SYM_AIXD.

Co-Authored-By: Andrew Dixie <andrewd@gentrack.com>

From-SVN: r205309
2013-11-23 10:38:07 -05:00
Yuri Rumyantsev
e52876717c Enable AES, PCLMUL and RDRND for Silvermont
gcc/

2013-11-22  Yuri Rumyantsev  <ysrumyan@gmail.com>

	* config/i386/i386.c(processor_alias_table): Enable PTA_AES,
	PTA_PCLMUL and PTA_RDRND for Silvermont.
	* config/i386/driver-i386.c (host_detect_local_cpu): Set up cpu
	for Silvermont.

	* doc/invoke.texi: Mention AES, PCLMUL and RDRND for Silvermont.

libgcc/

2013-11-22  Yuri Rumyantsev  <ysrumyan@gmail.com>

	 * config/i386/cpuinfo.c (get_intel_cpu): Add Silvermont cases.

From-SVN: r205275
2013-11-22 08:33:40 -08:00
Ulrich Weigand
b54214fe22 rs6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2.
gcc/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* config/rs6000/rs6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2.
	(RS6000_SAVE_TOC): Remove.
	(RS6000_TOC_SAVE_SLOT): New macro.
	* config/rs6000/rs6000.c (rs6000_parm_offset): New function.
	(rs6000_parm_start): Use it.
	(rs6000_function_arg_advance_1): Likewise.
	(rs6000_emit_prologue): Use RS6000_TOC_SAVE_SLOT.
	(rs6000_emit_epilogue): Likewise.
	(rs6000_call_aix): Likewise.
	(rs6000_output_function_prologue): Do not save/restore r11
	around calling _mcount for ABI_ELFv2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* config/rs6000/rs6000-protos.h (rs6000_reg_parm_stack_space):
	Add prototype.
	* config/rs6000/rs6000.h (RS6000_REG_SAVE): Remove.
	(REG_PARM_STACK_SPACE): Call rs6000_reg_parm_stack_space.
	* config/rs6000/rs6000.c (rs6000_parm_needs_stack): New function.
	(rs6000_function_parms_need_stack): Likewise.
	(rs6000_reg_parm_stack_space): Likewise.
	(rs6000_function_arg): Do not replace BLKmode by Pmode when
	returning a register argument.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Michael Gschwind  <mkg@us.ibm.com>

	* config/rs6000/rs6000.h (FP_ARG_MAX_RETURN): New macro.
	(ALTIVEC_ARG_MAX_RETURN): Likewise.
	(FUNCTION_VALUE_REGNO_P): Use them.
	* config/rs6000/rs6000.c (TARGET_RETURN_IN_MSB): Define.
	(rs6000_return_in_msb): New function.
	(rs6000_return_in_memory): Handle ELFv2 homogeneous aggregates.
	Handle aggregates of up to 16 bytes for ELFv2.
	(rs6000_function_value): Handle ELFv2 homogeneous aggregates.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Michael Gschwind  <mkg@us.ibm.com>

	* config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define.
	* config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function.
	(rs6000_discover_homogeneous_aggregate): Likewise.
	(rs6000_function_arg_boundary): Handle homogeneous aggregates.
	(rs6000_function_arg_advance_1): Likewise.
	(rs6000_function_arg): Likewise.
	(rs6000_arg_partial_bytes): Likewise.
	(rs6000_psave_function_arg): Handle BLKmode arguments.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Michael Gschwind  <mkg@us.ibm.com>

	* config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define.
	* config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function.
	(rs6000_discover_homogeneous_aggregate): Likewise.
	(rs6000_function_arg_boundary): Handle homogeneous aggregates.
	(rs6000_function_arg_advance_1): Likewise.
	(rs6000_function_arg): Likewise.
	(rs6000_arg_partial_bytes): Likewise.
	(rs6000_psave_function_arg): Handle BLKmode arguments.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/rs6000.c (machine_function): New member
	r2_setup_needed.
	(rs6000_emit_prologue): Set r2_setup_needed if necessary.
	(rs6000_output_mi_thunk): Set r2_setup_needed.
	(rs6000_output_function_prologue): Output global entry point
	prologue and local entry point marker if needed for ABI_ELFv2.
	Output -mprofile-kernel code here.
	(output_function_profiler): Do not output -mprofile-kernel
	code here; moved to rs6000_output_function_prologue.
	(rs6000_file_start): Output ".abiversion 2" for ABI_ELFv2.

	(rs6000_emit_move): Do not handle dot symbols for ABI_ELFv2.
	(rs6000_output_function_entry): Likewise.
	(rs6000_assemble_integer): Likewise.
	(rs6000_elf_encode_section_info): Likewise.
	(rs6000_elf_declare_function_name): Do not create dot symbols
	or .opd section for ABI_ELFv2.

	(rs6000_trampoline_size): Update for ABI_ELFv2 trampolines.
	(rs6000_trampoline_init): Likewise.
	(rs6000_elf_file_end): Call file_end_indicate_exec_stack
	for ABI_ELFv2.

	(rs6000_call_aix): Handle ELFv2 indirect calls.  Do not check
	for function descriptors in ABI_ELFv2.

	* config/rs6000/rs6000.md ("*call_indirect_aix<mode>"): Support
	on ABI_AIX only, not ABI_ELFv2.
	("*call_value_indirect_aix<mode>"): Likewise.
	("*call_indirect_elfv2<mode>"): New pattern.
	("*call_value_indirect_elfv2<mode>"): Likewise.

	* config/rs6000/predicates.md ("symbol_ref_operand"): Do not
	check for function descriptors in ABI_ELFv2.
	("current_file_function_operand"): Likewise.

	* config/rs6000/ppc-asm.h [__powerpc64__ && _CALL_ELF == 2]:
	(toc): Undefine.
	(FUNC_NAME): Define ELFv2 variant.
	(JUMP_TARGET): Likewise.
	(FUNC_START): Likewise.
	(HIDDEN_FUNC): Likewise.
	(FUNC_END): Likeiwse.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config.gcc [powerpc*-*-* | rs6000-*-*]: Support --with-abi=elfv1
	and --with-abi=elfv2.
	* config/rs6000/option-defaults.h (OPTION_DEFAULT_SPECS): Add "abi".
	* config/rs6000/rs6000.opt (mabi=elfv1): New option.
	(mabi=elfv2): Likewise.
	* config/rs6000/rs6000-opts.h (enum rs6000_abi): Add ABI_ELFv2.
	* config/rs6000/linux64.h (DEFAULT_ABI): Do not hard-code to AIX_ABI
	if !RS6000_BI_ARCH.
	(ELFv2_ABI_CHECK): New macro.
	(SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set
	rs6000_current_abi to ABI_AIX or ABI_ELFv2.
	(GLIBC_DYNAMIC_LINKER64): Support ELFv2 ld.so version.
	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Predefine
	_CALL_ELF and __STRUCT_PARM_ALIGN__ if appropriate.

	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Handle ABI_ELFv2.
	(debug_stack_info): Likewise.
	(rs6000_file_start): Treat ABI_ELFv2 the same as ABI_AIX.
	(rs6000_legitimize_tls_address): Likewise.
	(rs6000_conditional_register_usage): Likewise.
	(rs6000_emit_move): Likewise.
	(init_cumulative_args): Likewise.
	(rs6000_function_arg_advance_1): Likewise.
	(rs6000_function_arg): Likewise.
	(rs6000_arg_partial_bytes): Likewise.
	(rs6000_output_function_entry): Likewise.
	(rs6000_assemble_integer): Likewise.
	(rs6000_savres_strategy): Likewise.
	(rs6000_stack_info): Likewise.
	(rs6000_function_ok_for_sibcall): Likewise.
	(rs6000_emit_load_toc_table): Likewise.
	(rs6000_savres_routine_name): Likewise.
	(ptr_regno_for_savres): Likewise.
	(rs6000_emit_prologue): Likewise.
	(rs6000_emit_epilogue): Likewise.
	(rs6000_output_function_epilogue): Likewise.
	(output_profile_hook): Likewise.
	(output_function_profiler): Likewise.
	(rs6000_trampoline_size): Likewise.
	(rs6000_trampoline_init): Likewise.
	(rs6000_elf_output_toc_section_asm_op): Likewise.
	(rs6000_elf_encode_section_info): Likewise.
	(rs6000_elf_reloc_rw_mask): Likewise.
	(rs6000_elf_declare_function_name): Likewise.
	(rs6000_function_arg_boundary): Treat ABI_ELFv2 the same as ABI_AIX,
	except that rs6000_compat_align_parm is always assumed false.
	(rs6000_gimplify_va_arg): Likewise.
	(rs6000_call_aix): Update comment.
	(rs6000_sibcall_aix): Likewise.
	* config/rs6000/rs6000.md ("tls_gd_aix<TLSmode:tls_abi_suffix>"):
	Treat ABI_ELFv2 the same as ABI_AIX.
	("*tls_gd_call_aix<TLSmode:tls_abi_suffix>"): Likewise.
	("tls_ld_aix<TLSmode:tls_abi_suffix>"): Likewise.
	("*tls_ld_call_aix<TLSmode:tls_abi_suffix>"): Likewise.
	("load_toc_aix_si"): Likewise.
	("load_toc_aix_di"): Likewise.
	("call"): Likewise.
	("call_value"): Likewise.
	("*call_local_aix<mode>"): Likewise.
	("*call_value_local_aix<mode>"): Likewise.
	("*call_nonlocal_aix<mode>"): Likewise.
	("*call_value_nonlocal_aix<mode>"): Likewise.
	("*call_indirect_aix<mode>"): Likewise.
	("*call_value_indirect_aix<mode>"): Likewise.
	("sibcall"): Likewise.
	("sibcall_value"): Likewise.
	("*sibcall_aix<mode>"): Likewise.
	("*sibcall_value_aix<mode>"): Likewise.
	* config/rs6000/predicates.md ("symbol_ref_operand"): Likewise.
	("current_file_function_operand"): Likewise.

gcc/testsuite/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* gcc.target/powerpc/ppc64-abi-1.c (stack_frame_t): Remove
	compiler and linker field if _CALL_ELF == 2.
	* gcc.target/powerpc/ppc64-abi-2.c (stack_frame_t): Likewise.
	* gcc.target/powerpc/ppc64-abi-dfp-1.c (stack_frame_t): Likewise.
	* gcc.dg/stack-usage-1.c (SIZE): Update value for _CALL_ELF == 2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* gcc.target/powerpc/ppc64-abi-dfp-1.c (FUNC_START): New macro.
	(WRAPPER): Use it.
	* gcc.target/powerpc/no-r11-1.c: Skip on powerpc_elfv2.
	* gcc.target/powerpc/no-r11-2.c: Skip on powerpc_elfv2.
	* gcc.target/powerpc/no-r11-3.c: Skip on powerpc_elfv2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* lib/target-supports.exp (check_effective_target_powerpc_elfv2):
	New function.
	* gcc.target/powerpc/pr57949-1.c: Disable for powerpc_elfv2.
	* gcc.target/powerpc/pr57949-2.c: Likewise.

libgcc/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* config/rs6000/linux-unwind.h (TOC_SAVE_SLOT): Define.
	(frob_update_context): Use it.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* config/rs6000/tramp.S [__powerpc64__ && _CALL_ELF == 2]:
	(trampoline_initial): Provide ELFv2 variant.
	(__trampoline_setup): Likewise.

	* config/rs6000/linux-unwind.h (frob_update_context): Do not
	check for AIX indirect function call sequence if _CALL_ELF == 2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* config/rs6000/linux-unwind.h (get_regs): Do not support
	old kernel versions if _CALL_ELF == 2.
	(frob_update_context): Do not support PLT stub variants only
	generated by old linkers if _CALL_ELF == 2.

libitm/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/powerpc/sjlj.S [__powerpc64__ && _CALL_ELF == 2]:
	(FUNC): Define ELFv2 variant.
	(END): Likewise.
	(HIDDEN): Likewise.
	(CALL): Likewise.
	(BASE): Likewise.
	(LR_SAVE): Likewise.

libstdc++/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* scripts/extract_symvers.in: Ignore <localentry: > fields
	in readelf --symbols output.


Co-Authored-By: Alan Modra <amodra@gmail.com>
Co-Authored-By: Michael Gschwind <mkg@us.ibm.com>

From-SVN: r204808
2013-11-14 18:50:48 +00:00
Ulrich Weigand
13e0981af5 linux-unwind.h (ppc_fallback_frame_state): Correct location of CR save area for 64-bit little-endian systems.
2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Correct
	location of CR save area for 64-bit little-endian systems.


Co-Authored-By: Alan Modra <amodra@gmail.com>

From-SVN: r204800
2013-11-14 18:25:33 +00:00
Eric Botcazou
1a80085d42 config.host (arm-wrs-vxworks): Replace arm/t-vxworks with arm/t-elf in tmake_file.
* config.host (arm-wrs-vxworks): Replace arm/t-vxworks with arm/t-elf
	in tmake_file.
	* config/arm/t-vxworks: Delete.

From-SVN: r204669
2013-11-11 11:46:17 +00:00
Kai Tietz
cabeea52a7 cygming-crtbegin.c (__gcc_register_frame): Increment load-count on use of LIBGCC_SONAME DLL.
2013-11-10  Kai Tietz  <ktietz@redhat.com>

	* config/i386/cygming-crtbegin.c (__gcc_register_frame):
	Increment load-count on use of LIBGCC_SONAME DLL.
	(hmod_libgcc): New static variable to hold handle of
	LIBGCC_SONAME DLL.
	(__gcc_deregister_frame): Decrement load-count of
	LIBGCC_SONAME DLL.

From-SVN: r204635
2013-11-10 12:47:18 +01:00
Uros Bizjak
9de84e84f2 sfp-exceptions.c (__sfp_handle_exceptions): Rewrite FP_EX_INEXACT handling.
* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Rewrite
	FP_EX_INEXACT handling.

From-SVN: r204546
2013-11-07 22:53:54 +01:00
Uros Bizjak
d59a8fcce6 sfp-exceptions.c (__sfp_handle_exceptions): Handle FP_EX_DENORM.
* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Handle
	FP_EX_DENORM.  Store result to volatile location after SSE division
	to close interrupt window.  Remove unneeded fwait after x87
	division since interrupt window will be closed by emitted fstp.

From-SVN: r204540
2013-11-07 20:45:28 +01:00
Uros Bizjak
02ac9503fd i386-c.c (ix86_target_macros): Define _SOFT_FLOAT for !TARGET_80387.
gcc/

	* config/i386/i386-c.c (ix86_target_macros): Define _SOFT_FLOAT
	for !TARGET_80387.
	* config/i386/rtemself.h (TARGET_OS_CPP_BUILTINS): Do not define
	_SOFT_FLOAT here.
	(LONG_DOUBLE_TYPE_SIZE): New define.
	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Ditto.

libgcc/

	* config/i386/32/sfp-machine.h (_FP_MUL_MEAT_S): Define.
	(_FP_MUL_MEAT_D): Ditto.
	(_FP_DIV_MEAT_S): Ditto.
	(_FP_DIV_MEAT_D): Ditto.
	* config.host (i[34567]86-*-rtems*): Remove i386/t-softfp, add
	t-softfp-sfdf and t-softfp to tmake_file.

M    gcc/config/i386/i386-c.c
M    gcc/config/i386/rtemself.h
M    gcc/ChangeLog
M    libgcc/ChangeLog
M    libgcc/config.host
M    libgcc/config/i386/32/sfp-machine.h

From-SVN: r204404
2013-11-05 17:08:30 +01:00
Uros Bizjak
612211412c crtfastmath.c: Compile only for !_SOFT_FLOAT.
* config/i386/crtfastmath.c: Compile only for !_SOFT_FLOAT.
	* config/i386/crtprec.c: Ditto.

From-SVN: r204327
2013-11-03 11:12:12 +01:00