+2016-08-26 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/i386.c (ix86_libgcc_floating_mode_supported_p)
+ (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Remove.
+ * config/i386/i386elf.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
+ * config/i386/lynx.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
+ * config/i386/netbsd-elf.h (IX86_MAYBE_NO_LIBGCC_TFMODE):
+ Likewise.
+ * config/i386/netbsd64.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
+ * config/i386/nto.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
+ * config/i386/openbsd.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
+ * config/i386/rtemself.h (IX86_NO_LIBGCC_TFMODE): Likewise.
+ * config/i386/vxworks.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
+
2016-08-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/70473
return false;
}
-/* Implement target hook libgcc_floating_mode_supported_p. */
-static bool
-ix86_libgcc_floating_mode_supported_p (machine_mode mode)
-{
- switch (mode)
- {
- case SFmode:
- case DFmode:
- case XFmode:
- return true;
-
- case TFmode:
-#ifdef IX86_NO_LIBGCC_TFMODE
- return false;
-#elif defined IX86_MAYBE_NO_LIBGCC_TFMODE
- return TARGET_LONG_DOUBLE_128;
-#else
- return true;
-#endif
-
- default:
- return false;
- }
-}
-
/* Target hook for c_mode_for_suffix. */
static machine_mode
ix86_c_mode_for_suffix (char suffix)
#undef TARGET_VECTOR_MODE_SUPPORTED_P
#define TARGET_VECTOR_MODE_SUPPORTED_P ix86_vector_mode_supported_p
-#undef TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P
-#define TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P \
- ix86_libgcc_floating_mode_supported_p
-
#undef TARGET_C_MODE_FOR_SUFFIX
#define TARGET_C_MODE_FOR_SUFFIX ix86_c_mode_for_suffix
#undef ASM_OUTPUT_ALIGNED_BSS
#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
-
-#define IX86_MAYBE_NO_LIBGCC_TFMODE
TLS is detected by configure. We undefine it here. */
#undef HAVE_AS_TLS
-
-#define IX86_MAYBE_NO_LIBGCC_TFMODE
#define DEFAULT_PCC_STRUCT_RETURN 1
#define HAVE_ENABLE_EXECUTE_STACK
-
-#define IX86_MAYBE_NO_LIBGCC_TFMODE
}
#define HAVE_ENABLE_EXECUTE_STACK
-
-#define IX86_MAYBE_NO_LIBGCC_TFMODE
#define TARGET_POSIX_IO
#undef DBX_REGISTER_NUMBER
-
-#define IX86_MAYBE_NO_LIBGCC_TFMODE
#undef ASM_QUAD
#define TARGET_HAVE_NAMED_SECTIONS false
-
-#define IX86_MAYBE_NO_LIBGCC_TFMODE
#undef LONG_DOUBLE_TYPE_SIZE
#define LONG_DOUBLE_TYPE_SIZE (TARGET_80387 ? 80 : 64)
-
-#define IX86_NO_LIBGCC_TFMODE
fixed gap between segments. */
#undef ASM_PREFERRED_EH_DATA_FORMAT
-#define IX86_MAYBE_NO_LIBGCC_TFMODE
-
/* Define this to be nonzero if static stack checking is supported. */
#define STACK_CHECK_STATIC_BUILTIN 1
+2016-08-26 Joseph Myers <joseph@codesourcery.com>
+
+ * config.host (i[34567]86-*-* | x86_64-*-*): Enable TFmode soft-fp
+ where not already enabled.
+
2016-08-25 Szabolcs Nagy <szabolcs.nagy@arm.com>
* config/mips/linux-unwind.h: Use sys/syscall.h.
extra_parts=crtbegin.o
;;
i[34567]86-*-rtems*)
- tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdf t-softfp"
+ tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdftf i386/32/t-softfp i386/t-softfp t-softfp"
extra_parts="$extra_parts crti.o crtn.o"
;;
i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
esac
case ${host} in
-i[34567]86-*-darwin* | x86_64-*-darwin* | \
- i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
- i[34567]86-*-linux* | x86_64-*-linux* | \
- i[34567]86-*-msdosdjgpp* | \
- i[34567]86-*-gnu* | \
- i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]* | \
- i[34567]86-*-cygwin* | x86_64-*-cygwin* | \
- i[34567]86-*-mingw* | x86_64-*-mingw* | \
- i[34567]86-*-dragonfly* | x86_64-*-dragonfly* | \
- i[34567]86-*-freebsd* | x86_64-*-freebsd* | \
- i[34567]86-*-openbsd* | x86_64-*-openbsd*)
+i[34567]86-*-elfiamcu | i[34567]86-*-rtems*)
+ # These use soft-fp for SFmode and DFmode, not just TFmode.
+ ;;
+i[34567]86-*-* | x86_64-*-*)
tmake_file="${tmake_file} t-softfp-tf"
if test "${host_address}" = 32; then
tmake_file="${tmake_file} i386/${host_address}/t-softfp"