+2016-10-10 Joseph Myers <joseph@codesourcery.com>
+
+ PR target/77586
+ * config/ia64/ia64.c (ia64_libgcc_floating_mode_supported_p)
+ (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Remove.
+ * config/ia64/elf.h (IA64_NO_LIBGCC_TFMODE): Likewise.
+ * config/ia64/freebsd.h (IA64_NO_LIBGCC_TFMODE): Likewise.
+ * config/ia64/vms.h (IA64_NO_LIBGCC_XFMODE)
+ (IA64_NO_LIBGCC_TFMODE): Likewise.
+
2016-10-11 Kugan Vivekanandarajah <kuganv@linaro.org>
* tree-vrp.c (vrp_intersect_ranges_1): Allocate bitmap before
%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}}\
crti.o%s crtbegin.o%s"
-#define IA64_NO_LIBGCC_TFMODE
-
/* End of elf.h */
#define TARGET_ELF 1
#define JMP_BUF_SIZE 76
-
-#define IA64_NO_LIBGCC_TFMODE
static tree ia64_gimplify_va_arg (tree, tree, gimple_seq *, gimple_seq *);
static bool ia64_scalar_mode_supported_p (machine_mode mode);
static bool ia64_vector_mode_supported_p (machine_mode mode);
-static bool ia64_libgcc_floating_mode_supported_p (machine_mode mode);
static bool ia64_legitimate_constant_p (machine_mode, rtx);
static bool ia64_legitimate_address_p (machine_mode, rtx, bool);
static bool ia64_cannot_force_const_mem (machine_mode, rtx);
#undef TARGET_VECTOR_MODE_SUPPORTED_P
#define TARGET_VECTOR_MODE_SUPPORTED_P ia64_vector_mode_supported_p
-#undef TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P
-#define TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P \
- ia64_libgcc_floating_mode_supported_p
-
#undef TARGET_LEGITIMATE_CONSTANT_P
#define TARGET_LEGITIMATE_CONSTANT_P ia64_legitimate_constant_p
#undef TARGET_LEGITIMATE_ADDRESS_P
}
}
-/* Implement TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P. */
-
-static bool
-ia64_libgcc_floating_mode_supported_p (machine_mode mode)
-{
- switch (mode)
- {
- case SFmode:
- case DFmode:
- return true;
-
- case XFmode:
-#ifdef IA64_NO_LIBGCC_XFMODE
- return false;
-#else
- return true;
-#endif
-
- case TFmode:
-#ifdef IA64_NO_LIBGCC_TFMODE
- return false;
-#else
- return true;
-#endif
-
- default:
- return false;
- }
-}
-
/* Implement the FUNCTION_PROFILER macro. */
void
/* Default values for _CRTL_VER and _VMS_VER. */
#define VMS_DEFAULT_CRTL_VER 80300000
#define VMS_DEFAULT_VMS_VER 80300000
-
-#define IA64_NO_LIBGCC_XFMODE
-#define IA64_NO_LIBGCC_TFMODE
+2016-10-10 Joseph Myers <joseph@codesourcery.com>
+
+ PR target/77586
+ * config.host (ia64*-*-elf*, ia64*-*-freebsd*, ia64-hp-*vms*): Use
+ soft-fp.
+
2016-10-10 Andreas Tobler <andreast@gcc.gnu.org>
* config.host: Add support for aarch64-*-freebsd*.
;;
ia64*-*-elf*)
extra_parts="$extra_parts crtbeginS.o crtendS.o crtfastmath.o"
- tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm"
+ tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm t-softfp-tf ia64/t-softfp t-softfp ia64/t-softfp-compat"
;;
ia64*-*-freebsd*)
extra_parts="$extra_parts crtfastmath.o"
- tmake_file="$tmake_file ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm"
+ tmake_file="$tmake_file ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm t-softfp-tf ia64/t-softfp t-softfp ia64/t-softfp-compat"
;;
ia64*-*-linux*)
# Don't use crtbeginT.o from *-*-linux* default.
tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-hpux t-slibgcc ia64/t-slibgcc-hpux t-slibgcc-hpux"
;;
ia64-hp-*vms*)
- tmake_file="$tmake_file ia64/t-ia64 ia64/t-eh-ia64 ia64/t-vms t-slibgcc-vms"
+ tmake_file="$tmake_file ia64/t-ia64 ia64/t-eh-ia64 ia64/t-vms t-slibgcc-vms t-softfp-tf ia64/t-softfp t-softfp"
extra_parts="$extra_parts crtinitS.o"
md_unwind_header=ia64/vms-unwind.h
;;