aboutsummaryrefslogtreecommitdiff
path: root/libgcc/config.host
AgeCommit message (Collapse)Author
2017-09-012017-09-01 Olivier Hainque <hainque@adacore.com>hainque
libgcc/ * config.host (*-*-vxworks7): Widen scope to vxworks7*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251594 138bc75d-0d04-0410-961f-82ee72b054a4
2017-08-312017-08-31 Olivier Hainque <hainque@adacore.com>hainque
gcc/ * config.gcc (powerpc-wrs-vxworks|vxworksae|vxworksmils): Now match as powerpc-wrs-vxworks*. libgcc/ * config.host: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251573 138bc75d-0d04-0410-961f-82ee72b054a4
2017-08-07Share mingw fset-stack-executable with cygwinjyong
This patch is in use by Cygwin for years, upstream to GCC. * gcc/config/i386/mingw.opt (fset-stack-executable): Removed. * gcc/config/i386/cygming.opt (fset-stack-executable): Moved from mingw.opt. * gcc/config/i386/cygwin.h: Define CHECK_EXECUTE_STACK_ENABLED. * ligcc/config.host (*-cygwin): Include file from mingw config/i386/enable-execute-stack-mingw32.c git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250914 138bc75d-0d04-0410-961f-82ee72b054a4
2017-08-012017-08-01 Jerome Lambourg <lambourg@adacore.com>hainque
Doug Rupp <rupp@adacore.com> Olivier Hainque <hainque@adacore.com> gcc/ * config.gcc (arm-wrs-vxworks*): Rework to handle arm-wrs-vxworks7 as well as arm-wrs-vxworks. Update target_cpu_name from arm6 (arch v3) to arm8 (arch v4). * config/arm/vxworks.h (MAYBE_TARGET_BPABI_CPP_BUILTINS): New, helper for TARGET_OS_CPP_BUILTIN. (TARGET_OS_CPP_BUILTIN): Invoke MAYBE_TARGET_BPABI_CPP_BUILTINS(), refine CPU definitions for arm_arch5 and add those for arm_arch6 and arm_arch7. (MAYBE_ASM_ABI_SPEC): New, helper for SUBTARGET_EXTRA_ASM_SPEC, passing required abi options to the assembler for EABI configurations. (EXTRA_CC1_SPEC): New macro, to help prevent the implicit production of .text.hot and .text.unlikely sections for kernel modules when using ARM style exceptions. (CC1_SPEC): Remove obsolete attempt at mimicking Diab toolchain options. Add EXTRA_CC1_SPEC. (VXWORKS_ENDIAN_SPEC): Adjust comment and remove handling of Diab toolchain options. (DWARF2_UNWIND_INFO): Redefine to handle the pre/post VxWorks 7 transition. (ARM_TARGET2_DWARF_FORMAT): Define. * config/arm/t-vxworks: Adjust multilib control to removal of the Diab command line options. libgcc/ * config.host (arm-wrs-vxworks*): Rework to handle arm-wrs-vxworks7 as well as arm-wrs-vxworks. * config/arm/t-vxworks7: New file. Add unwind-arm-vxworks.c to LIB2ADDEH. * config/arm/unwind-arm-vxworks.c: New file. Provide dummy __exidx_start and __exidx_end for downloadable modules. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250781 138bc75d-0d04-0410-961f-82ee72b054a4
2017-07-24PR testsuite/80759 Fix -mcall-ms2sysv-xlogues on Darwin and Solarisdansan
2017-07-24 Daniel Santos <daniel.santos@pobox.com> PR testsuite/80759 * config.host: include i386/t-msabi for darwin and solaris. * config/i386/i386-asm.h (ELFFN): Rename to FN_TYPE. (FN_SIZE): New macro. (FN_HIDDEN): Likewise. (ASMNAME): Likewise. (FUNC_START): Rename to FUNC_BEGIN, use ASMNAME, replace .global with .globl. (HIDDEN_FUNC): Use ASMNAME and .globl instead of .global. (SSE_SAVE): Convert to cpp macro, hard-code offset (always 0x60). * config/i386/resms64.S: Use SSE_SAVE as cpp macro instead of gas .macro. * config/i386/resms64f.S: Likewise. * config/i386/resms64fx.S: Likewise. * config/i386/resms64x.S: Likewise. * config/i386/savms64.S: Likewise. * config/i386/savms64f.S: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250488 138bc75d-0d04-0410-961f-82ee72b054a4
2017-07-10[ARC] Configure script to allow non uclibc based tripletsclaziss
gcc/ 2017-07-10 Vineet Gupta <vgupta@synopsys.com> * config.gcc: Remove uclibc from arc target spec. libgcc/ 2017-07-10 Vineet Gupta <vgupta@synopsys.com> * config.host: Remove uclibc from arc target spec. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250097 138bc75d-0d04-0410-961f-82ee72b054a4
2017-07-092017-07-09 Krister Walfridsson <krister.walfridsson@gmail.com>kristerw
* config.host (*-*-netbsd*): Remove check for aout NetBSD releases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250080 138bc75d-0d04-0410-961f-82ee72b054a4
2017-06-272017-06-27 Jerome Lambourg <lambourg@adacore.com>hainque
gcc/ * config.gcc (i*86-wrs-vxworks7): Handle new acceptable triplet. (x86_64-wrs-vxworks7): Likewise. libgcc/ * config.host (i*86-wrs)vxworks7): Handle new acceptable triplet. (x86_64-wrs-vxworks7): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249689 138bc75d-0d04-0410-961f-82ee72b054a4
2017-06-272017-06-27 Olivier Hainque <hainque@adacore.com>hainque
* config/t-vxworks7: New file. * config.host (*-*-vxworks7): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249688 138bc75d-0d04-0410-961f-82ee72b054a4
2017-05-14PR target/80600 - hidden symbol '__cpu_model' is referenced by DSOkristerw
gcc/ChangeLog: PR target/80600 * config/netbsd.h (NETBSD_LIBGCC_SPEC): Always add -lgcc. libgcc/ChangeLog: PR target/80600 * config.host (*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248037 138bc75d-0d04-0410-961f-82ee72b054a4
2017-05-14gcc/ChangeLog:uros
* config/i386/i386.opt: Add option -mcall-ms2sysv-xlogues. * config/i386/i386.h (x86_64_ms_sysv_extra_clobbered_registers): Change type to unsigned. (NUM_X86_64_MS_CLOBBERED_REGS): New macro. (struct machine_function): Add new members call_ms2sysv, call_ms2sysv_pad_in, call_ms2sysv_pad_out and call_ms2sysv_extra_regs. (struct machine_frame_state): New fields sp_realigned and sp_realigned_offset. * config/i386/i386.c (enum xlogue_stub): New enum. (enum xlogue_stub_sets): New enum. (class xlogue_layout): New class. (struct ix86_frame): New fields stack_realign_allocate_offset, stack_realign_offset and outlined_save_offset. Modify comments to detail stack layout when using out-of-line stubs. (ix86_target_string): Add -mcall-ms2sysv-xlogues option. (ix86_option_override_internal): Add sorry() for TARGET_SEH and -mcall-ms2sysv-xlogues. (stub_managed_regs): New static variable. (ix86_save_reg): Add new parameter ignore_outlined to optionally omit registers managed by out-of-line stub. (disable_call_ms2sysv_xlogues): New function. (ix86_compute_frame_layout): Modify re-alignment calculations, disable m->call_ms2sysv when appropriate and compute frame layout for out-of-line stubs. (sp_valid_at, fp_valid_at): New inline functions. (choose_basereg): New function. (choose_baseaddr): Add align parameter, use choose_basereg and modify all callers. (ix86_emit_save_reg_using_mov, ix86_emit_restore_sse_regs_using_mov): Use align parameter of choose_baseaddr to generated aligned SSE movs when possible. (pro_epilogue_adjust_stack): Modify to track machine_frame_state::sp_realigned. (ix86_nsaved_regs): Modify to accommodate changes to ix86_save_reg. (ix86_nsaved_sseregs): Likewise. (ix86_emit_save_regs): Likewise. (ix86_emit_save_regs_using_mov): Likewise. (ix86_emit_save_sse_regs_using_mov): Likewise. (get_scratch_register_on_entry): Likewise. (gen_frame_set): New function. (gen_frame_load): Likewise. (gen_frame_store): Likewise. (emit_outlined_ms2sysv_save): Likewise. (emit_outlined_ms2sysv_restore): Likewise. (ix86_expand_prologue): Modify stack re-alignment code and call emit_outlined_ms2sysv_save when appropriate. (ix86_emit_leave): Clear machine_frame_state::sp_realigned. Add parameter rtx_insn *insn, which allows the function to be used to only generate the notes. (ix86_expand_epilogue): Modify validity checks of frame and stack pointers, and call emit_outlined_ms2sysv_restore when appropriate. (ix86_expand_call): Modify to enable m->call_ms2sysv when appropriate. * config/i386/predicates.md (save_multiple): New predicate. (restore_multiple): Likewise. * config/i386/sse.md (save_multiple<mode>): New pattern. (save_multiple_realign<mode>): Likewise. (restore_multiple<mode>): Likewise. (restore_multiple_and_return<mode>): Likewise. (restore_multiple_leave_return<mode>): Likewise. * Makefile.in: Export HOSTCXX and HOSTCXXFLAGS to site.exp gcc/testsuite/ChangeLog: * gcc.target/x86_64/abi/ms-sysv/do-test.S: New file. * gcc.target/x86_64/abi/ms-sysv/gen.cc: Likewise. * gcc.target/x86_64/abi/ms-sysv/ms-sysv.c: Likewise. * gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp: Likewise. libgcc/ChangeLog: * config.host: Add i386/t-msabi to i386/t-linux file list. * config/i386/i386-asm.h: New file. * config/i386/resms64.S: New file. * config/i386/resms64f.S: New file. * config/i386/resms64fx.S: New file. * config/i386/resms64x.S: New file. * config/i386/savms64.S: New file. * config/i386/savms64f.S: New file. * config/i386/t-msabi: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248029 138bc75d-0d04-0410-961f-82ee72b054a4
2017-05-092017-05-09 Andreas Tobler <andreast@gcc.gnu.org>andreast
* config.host: Use the generic FreeBSD t-slibgcc-elf-ver for arm*-*-freebsd* instead of the t-slibgcc-libgcc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247812 138bc75d-0d04-0410-961f-82ee72b054a4
2017-05-06Add fuchsia support to libgccjconner
* config/arm/unwind-arm.h (_Unwind_decode_typeinfo_ptr): Use pc-relative indirect handling for fuchsia. * config/t-slibgcc-fuchsia: New file. * config.host (*-*-fuchsia*, aarch64*-*-fuchsia*, arm*-*-fuchsia*, x86_64-*-fuchsia*): Add definitions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247710 138bc75d-0d04-0410-961f-82ee72b054a4
2017-03-102017-03-10 John Marino <gnugcc@marino.st>andreast
* config/aarch64/freebsd-unwind.h: New file. * config.host: Add aarch64-*-freebsd unwinder. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246052 138bc75d-0d04-0410-961f-82ee72b054a4
2017-02-16 * config/aarch64/value-unwind.h: New file.sje
* config.host (aarch64*-*-*): Add aarch64/value-unwind.h to tm_file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245508 138bc75d-0d04-0410-961f-82ee72b054a4
2017-02-06RISC-V Port: libgccpalmer
libgcc/ChangeLog: 2017-02-06 Palmer Dabbelt <palmer@dabbelt.com> * config.host: Add RISC-V tuples. * config/riscv/atomic.c: New file. * config/riscv/crti.S: Likewise. * config/riscv/crtn.S: Likewise. * config/riscv/div.S: Likewise. * config/riscv/linux-unwind.h: Likewise. * config/riscv/muldi3.S: Likewise. * config/riscv/multi3.S: Likewise. * config/riscv/save-restore.S: Likewise. * config/riscv/sfp-machine.h: Likewise. * config/riscv/t-elf: Likewise. * config/riscv/t-elf32: Likewise. * config/riscv/t-elf64: Likewise. * config/riscv/t-softfp32: Likewise. * config/riscv/t-softfp64: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245226 138bc75d-0d04-0410-961f-82ee72b054a4
2017-01-20[AArch64][4/4] libgcc unwinder support for return address signingjiwang
libgcc/ * config/aarch64/aarch64-unwind.h: New file. (DWARF_REGNUM_AARCH64_RA_STATE): Define. (MD_POST_EXTRACT_ROOT_ADDR): New target marcro and define it on AArch64. (MD_POST_EXTRACT_FRAME_ADDR): Likewise. (MD_POST_FROB_EH_HANDLER_ADDR): Likewise. (MD_FROB_UPDATE_CONTEXT): Define it on AArch64. (aarch64_post_extract_frame_addr): New function. (aarch64_post_frob_eh_handler_addr): New function. (aarch64_frob_update_context): New function. * config/aarch64/linux-unwind.h: Include aarch64-unwind.h * config.host (aarch64*-*-elf, aarch64*-*-rtems*, aarch64*-*-freebsd*): Initialize md_unwind_header to include aarch64-unwind.h. * unwind-dw2.c (struct _Unwind_Context): Define "RA_A_SIGNED_BIT". (execute_cfa_program): Multiplex DW_CFA_GNU_window_save for __aarch64__. (uw_update_context): Honor MD_POST_EXTRACT_FRAME_ADDR. (uw_init_context_1): Honor MD_POST_EXTRACT_ROOT_ADDR. (uw_frob_return_addr): New function. (uw_install_context): Use uw_frob_return_addr. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244673 138bc75d-0d04-0410-961f-82ee72b054a4
2017-01-01 Update copyright years.jakub
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@243994 138bc75d-0d04-0410-961f-82ee72b054a4
2016-12-192016-12-19 Krister Walfridsson <krister.walfridsson@gmail.com>kristerw
* config.host (*-*-netbsd*): Add t-eh-dw2-dip to tmake_file. * crtstuff.c (BSD_DL_ITERATE_PHDR_AVAILABLE): Define for NetBSD. * unwind-dw2-fde-dip.c (USE_PT_GNU_EH_FRAME, ElfW): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@243790 138bc75d-0d04-0410-961f-82ee72b054a4
2016-12-16[ARC] Rework code for profiling.claziss
gcc/ 2016-12-16 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.h (LINK_SPEC): Tidy up. (ENDFILE_SPEC): Likewise. (LIB_SPEC): Likewise. (STARTFILE_SPEC): Include gcrt0 when profiling. (FUNCTION_PROFILER): Use __mcount. * config/arc/arc.opt (mucb-mcount): Remove. * doc/invoke.texi (ARC): Remove mucb-mcount doc. * arc/arc-protos.h (arc_profile_call): Remove. * config/arc/arc.c (write_profile_sections): Likewise. (arc_profile_call): Likewise. (unspec_prof_hash): Likewise. (unspec_prof_htab_eq): Likewise. (arc_legitimate_constant_p): Remove UNSPEC_PROF. (arc_reorg): Remove call to write_profile_sections. * config/arc/arc.md (call): Remove call to arc_profile_call. (call_value): Likewise. (sibcall): Likewise. (sibcall_value): Likewise. (define_constants): Remove UNSPEC_PROF. libgcc/ * config.host (arc*-*-linux-uclibc*): Remove libgmon, crtg, and crtgend. (arc*-*-elf*): Likewise. * config/arc/t-arc: Remove old gmon lib targets. * config/arc/crtg.S: Remove. * config/arc/crtgend.S: Likewise. * config/arc/gmon/atomic.h: Likewise. * config/arc/gmon/auxreg.h: Likewise. * config/arc/gmon/dcache_linesz.S: Likewise. * config/arc/gmon/gmon.c: Likewise. * config/arc/gmon/machine-gmon.h: Likewise. * config/arc/gmon/mcount.c: Likewise. * config/arc/gmon/prof-freq-stub.S: Likewise. * config/arc/gmon/prof-freq.c: Likewise. * config/arc/gmon/profil.S: Likewise. * config/arc/gmon/sys/gmon.h: Likewise. * config/arc/gmon/sys/gmon_out.h: Likewise. * config/arc/t-arc-newlib: Likewise. * config/arc/t-arc700-uClibc: Renamed to t-arc-uClibc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@243742 138bc75d-0d04-0410-961f-82ee72b054a4
2016-12-102016-12-10 Krister Walfridsson <krister.walfridsson@gmail.com>kristerw
* config.host (i[34567]86-*-netbsdelf*): Add i386/t-crtstuff to tmake_file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@243518 138bc75d-0d04-0410-961f-82ee72b054a4
2016-12-05[ARC] Fix PIE.claziss
gcc/ 2016-12-05 Cupertino Miranda <cmiranda@synopsys.com> * config/arc/arc.h (STARTFILE_SPEC): Use default linux specs. (ENDFILE_SPEC): Likewise. libgcc/ 2016-12-05 Cupertino Miranda <cmiranda@synopsys.com> * config.host (arc*-*-linux-uclibc*): Use default extra objects. Include linux-android header. * config/arc/crti.S (_init): Declare symbol as function. (_fini): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@243245 138bc75d-0d04-0410-961f-82ee72b054a4
2016-11-19TILEPro: force gcc to link against libgcc.a when creating sharedwalt
libraries. * config.host (tilepro*-*-linux*): Add t-slibgcc-libgcc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@242615 138bc75d-0d04-0410-961f-82ee72b054a4
2016-11-11[i386][musl] Add cpuinfo to static libgcc only on *-musl*nsz
The __cpu_indicator_init and __cpu_model symbols are not safe to use from shared libgcc_s.so from ifunc resolvers, so since gcc-6, only the definitions from static libgcc.a are used, however the symbols are kept in libgcc_s as well for backward compatibility (with appropriate symbol version). On targets without such backward compatibility concern add cpuinfo to the static library only (this avoids running the ctor, reduces libgcc_s size and elf abi concerns about the versioned symbols). libgcc/ 2016-11-11 Szabolcs Nagy <szabolcs.nagy@arm.com> * config.host (i[3456]86-*-musl*, x86_64-*-musl*): Use i386/t-cpuinfo-static instead of i386/t-cpuinfo. * config/i386/t-cpuinfo-static: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@242268 138bc75d-0d04-0410-961f-82ee72b054a4
2016-10-19libgcc/danglin
* config/pa/pa64-hpux-lib.h: New file. (EH_FRAME_SECTION_NAME): Rename to __LIBGCC_EH_FRAME_SECTION_NAME__. (DTORS_SECTION_ASM_OP): Rename to __LIBGCC_DTORS_SECTION_ASM_OP__. * config.host (tm_file): Add pa/pa64-hpux-lib.h to tm_file on hppa*64*-*-hpux11*. gcc/ * config/pa/pa64-hpux.h (PA_INIT_FRAME_DUMMY_ASM_OP): Move to config/pa/pa64-hpux-lib.h. (PA_CRTBEGIN_HACK): Likewise. (DTOR_LIST_BEGIN): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241356 138bc75d-0d04-0410-961f-82ee72b054a4
2016-10-10Always support float128 on ia64 (PR target/77586).jsm28
Bug 77586, and previously <https://gcc.gnu.org/ml/gcc-bugs/2016-08/msg03233.html>, reports ia64-elf failing to build because of float128_type_node being NULL, but being used by the back end for __float128. The global float128_type_node is only available conditionally, if target hooks indicate TFmode is not only available as a scalar mode and of the right format, but also supported in libgcc. The back-end support, however, expects the type always to be available for __float128 even if the libgcc support is missing. Although a target-specific node could be restored in the case where libgcc support is missing, it seems better to address the missing libgcc support. Thus, this patch enables TFmode soft-fp in libgcc globally for all ia64 targets. Support for XFmode in libgcc (that is, for libgcc2.c XFmode functions, not soft-fp) is also enabled for all ia64 targets so that ia64 no longer needs to define the TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P hook. I've confirmed that ia64-elf builds cc1 with this patch and it passes -fself-test. I have not otherwise tested the patch. It's plausible that ia64-elf and ia64-freebsd might work as-is, but ia64-vms probably needs further changes, by someone familiar with VMS shared libraries, to implement an equivalent of ia64/t-softfp-compat in that case (avoiding conflicts between __divtf3 from soft-fp and the old alias for __divxf3). PR target/77586 gcc: * 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. libgcc: * config.host (ia64*-*-elf*, ia64*-*-freebsd*, ia64-hp-*vms*): Use soft-fp. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240955 138bc75d-0d04-0410-961f-82ee72b054a4
2016-10-10toplevel:andreast
2016-10-10 Andreas Tobler <andreast@gcc.gnu.org> * configure.ac: Add aarch64-*-freebsd*. * configure: Regenerate. gcc: 2016-10-10 Andreas Tobler <andreast@gcc.gnu.org> * config.gcc: Add aarch64-*-freebsd* support. * config.host: Likewise. * config/aarch64/aarch64-freebsd.h: New file. * config/aarch64/t-aarch64-freebsd: Ditto. libgcc: 2016-10-10 Andreas Tobler <andreast@gcc.gnu.org> * config.host: Add support for aarch64-*-freebsd*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240949 138bc75d-0d04-0410-961f-82ee72b054a4
2016-08-26Always support float128 on x86.jsm28
In <https://gcc.gnu.org/ml/gcc-bugs/2016-08/msg03233.html>, Nick reported i386-elf and ia64-elf failing to build because of float128_type_node being NULL, but being used by the back end for __float128. The global float128_type_node is only available conditionally, if target hooks indicate TFmode is not only available as a scalar mode and of the right format, but also supported in libgcc. The back-end support, however, expects the type always to be available for __float128 even if the libgcc support is missing. Although a target-specific node could be restored in the case where libgcc support is missing, it seems better to address the missing libgcc support. Thus, this patch enables TFmode soft-fp in libgcc globally for all x86 targets - the only special cases needed being for targets that use soft-fp for SFmode and DFmode, one of which already had the support for TFmode as well (so I based the i[34567]86-*-rtems* configuration on that present for i[34567]86-*-elfiamcu). The i386 implementation of TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P is then removed as no longer needed. I can provide such a patch for ia64 if useful, but am not in a position to test it (and while I'm reasonably confident that enabling this support would be right for ia64-elf and ia64-freebsd, I've no real idea if enabling libgcc support for TFmode, with or without also enabling it for XFmode, would be safe for ia64-vms). Bootstrapped with no regressions on x86_64-pc-linux-gnu. gcc: * 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. libgcc: * config.host (i[34567]86-*-* | x86_64-*-*): Enable TFmode soft-fp where not already enabled. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239775 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-19 * config.host (m32r): Add m32r/t-m32r to tmake_file.nickc
Add crtinit.o and crtfini.o to extra_parts. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238478 138bc75d-0d04-0410-961f-82ee72b054a4
2016-06-232016-06-23 Jakub Sejdak <jakub.sejdak@phoesys.com>ksejdak
* config.host: Add suport for arm*-*-phoenix* targets. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237729 138bc75d-0d04-0410-961f-82ee72b054a4
2016-06-21remove mep-* supporttbsaunde
libgcc/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config.host: Remove support for mep-*. * config/mep/lib1funcs.S: Remove. * config/mep/lib2funcs.c: Remove. * config/mep/t-mep: Remove. * config/mep/tramp.c: Remove. gcc/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * common/config/mep/mep-common.c: Remove. * config.gcc: Remove mep-* support. * config/mep/constraints.md: Remove. * config/mep/default.h: Remove. * config/mep/intrinsics.h: Remove. * config/mep/intrinsics.md: Remove. * config/mep/ivc2-template.h: Remove. * config/mep/mep-c5.cpu: Remove. * config/mep/mep-core.cpu: Remove. * config/mep/mep-default.cpu: Remove. * config/mep/mep-ext-cop.cpu: Remove. * config/mep/mep-intrin.h: Remove. * config/mep/mep-ivc2.cpu: Remove. * config/mep/mep-pragma.c: Remove. * config/mep/mep-protos.h: Remove. * config/mep/mep.c: Remove. * config/mep/mep.cpu: Remove. * config/mep/mep.h: Remove. * config/mep/mep.md: Remove. * config/mep/mep.opt: Remove. * config/mep/predicates.md: Remove. * config/mep/t-mep: Remove. * doc/install.texi: Remove mep-* documentation. * doc/md.texi: Likewise. gcc/testsuite/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * gcc.dg/tree-ssa/forwprop-28.c: Remove mep-* support. * gcc.dg/tree-ssa/reassoc-32.c: Likewise. * gcc.dg/tree-ssa/reassoc-33.c: Likewise. * gcc.dg/tree-ssa/reassoc-34.c: Likewise. * gcc.dg/tree-ssa/reassoc-35.c: Likewise. * gcc.dg/tree-ssa/reassoc-36.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-2.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-3.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c: Likewise. * gcc.dg/tree-ssa/ssa-thread-11.c: Likewise. * gcc.dg/tree-ssa/vrp87.c: Likewise. * lib/target-supports.exp: Likewise. contrib/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config-list.mk: Stop testing mep-elf. libstdc++-v3/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * configure.host: Remove mep-* support. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237666 138bc75d-0d04-0410-961f-82ee72b054a4
2016-06-21remove avr-rtems supporttbsaunde
contrib/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config-list.mk: Stop testing avr-rtems. libgcc/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config.host: Remove support for avr-rtems. * config/avr/t-rtems: Remove. ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * configure: Regenerate. * configure.ac: Remove support for avr-rtems. gcc/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config.gcc: Remove support for avr-rtems. * config/avr/gen-avr-mmcu-specs.c: Likewise. * config/avr/rtems.h: Remove. * config/avr/t-rtems: Remove. contrib/header-tools/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * README: Remove references to avr-rtems. * reduce-headers: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237665 138bc75d-0d04-0410-961f-82ee72b054a4
2016-06-21remove m32-rtems supporttbsaunde
libgcc/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config.host: Remove m32r-rtems support. gcc/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config.gcc: Remove m32r-rtems support. * config/m32r/rtems.h: Remove. contrib/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config-list.mk: Stop testing m32r-rtems. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237664 138bc75d-0d04-0410-961f-82ee72b054a4
2016-06-21remove h8300-rtems supporttbsaunde
contrib/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config-list.mk: Remove h8300-rtems support. libgcc/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config.host: Remove h8300-rtems support. gcc/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config.gcc: Remove h8300-rtems support. * config/h8300/rtems.h: Remove. * config/h8300/t-rtems: Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237663 138bc75d-0d04-0410-961f-82ee72b054a4
2016-06-21remove knetbsd supporttbsaunde
gcc/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config.gcc: Remove support for knetbsd. * configure.ac: Likewise. * config/i386/knetbsd-gnu.h: Remove. * config/i386/knetbsd-gnu64.h: Remove. * config/knetbsd-gnu.h: Remove. * configure: Regenerate. libgcc/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config.host: Remove support for knetbsd. libstdc++-v3/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * configure: Regenerate. * configure.host: Remove support for knetbsd. * crossconfig.m4: Likewise. contrib/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config-list.mk: stop testing knetbsd. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237662 138bc75d-0d04-0410-961f-82ee72b054a4
2016-06-21remove support for targeting openbsd 2 or 3tbsaunde
contrib/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config-list.mk: Stop testing openbsd3.0. libgcc/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config.host: Remove support for openbsd 2 and 3. gcc/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config.gcc: Remove support for openbsd 2 and 3. * config/openbsd-oldgas.h: Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237661 138bc75d-0d04-0410-961f-82ee72b054a4
2016-06-21remove support for the interix targettbsaunde
contrib/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config-list.mk: Remove interix target. libgcc/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config.host: Remove interix support. * config/i386/t-interix: Remove. config/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * elf.m4: Remove interix support. * picflag.m4: Likewise. fixincludes/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * mkfixinc.sh: Remove interix support. gcc/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config.gcc: Remove interix support. * config/i386/i386-interix.h: Remove. * config/i386/interix.opt: Remove. * config/i386/t-interix: Remove. * configure: Regenerate. * configure.ac: Remove interix support. * doc/install.texi: Remove interix documentation. gcc/testsuite/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * gcc.dg/attr-ms_struct-1.c: Stop testing interix. * gcc.dg/attr-ms_struct-2.c: Likewise. * gcc.dg/attr-ms_struct-packed1.c: Likewise. * gcc.dg/bf-ms-attrib.c: Likewise. * gcc.dg/bf-ms-layout-2.c: Likewise. * gcc.dg/bf-ms-layout-3.c: Likewise. * gcc.dg/bf-ms-layout.c: Likewise. * gcc.dg/bf-no-ms-layout.c: Likewise. * gcc.target/i386/bitfield1.c: Likewise. * gcc.target/i386/bitfield2.c: Likewise. * gcc.target/i386/bitfield3.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237660 138bc75d-0d04-0410-961f-82ee72b054a4
2016-06-13 * Partially revert my previous commit.uros
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237418 138bc75d-0d04-0410-961f-82ee72b054a4
2016-06-13 * config/i386/i386-builtin-types.def (INT_FTYPE_FLOAT128):uros
New function type. * config/i386/i386.c (enum ix86_builtins) [IX86_BUILTIN_SIGNBITQ]: New. (ix86_init_builtins): Add __builtin_signbitq function. (ix86_expand_args_builtin): Handle INT_FTYPE_FLOAT128. (ix86_expand_builtin): Handle IX86_BUILTIN_SIGNBITQ. * config/i386/i386.md (signbittf2): New expander. * config/i386/sse.md (ptesttf2): New insn pattern. * doc/extend.texi (x86 Built-in Functions): Document __builtin_signbitq. libgcc/ChangeLog: * config.host (i[34567]86-*-* | x86_64-*-*): Always include i386/${host_address}/t-softfp in tmake_file. * config/i386/32/t-softfp: Update comment for __builtin_copysignq. * config/i386/32/tf-signs.c: Add __signbittf2 fallback function. * config/i386/64/t-softfp: New file. * config/i386/64/tf-signs.c: Ditto. * config/i386/libgcc-bsd.ver: Add __signbittf2. * config/i386/libgcc-glibc.ver: Ditto. * config/i386/libgcc-sol2.ver: Ditto. testsuite/ChangeLog: * gcc.target/i386/float128-3.c: New test. * gcc.target/i386/quad-sse4.c: Ditto. * gcc.target/i386/quad-sse.c: Use -msse instead of -msse2. Update scan strings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237415 138bc75d-0d04-0410-961f-82ee72b054a4
2016-05-192016-05-19 Sandra Loosemore <sandra@codesourcery.com>sandra
gcc/ * config/i386/cygming.h (DWARF2_UNWIND_INFO): Allow --disable-sjlj-exceptions for TARGET_BI_ARCH to select DWARF-2 EH for 32-bit mode and SEH for 64-bit. * config/i386/mingw32.h (SHARED_LIBGCC_UNDEFS_SPEC): Handle TARGET_64BIT_DEFAULT. libgcc/ * config.host [x86_64-*-cygwin*]: Handle tmake_eh_file for mixed dw2/seh configuration. [x86_64-*-mingw*]: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236490 138bc75d-0d04-0410-961f-82ee72b054a4
2016-05-10[RTEMS] Fix moxie libgcc supportsh
libgcc/ PR libgcc/70720 * config.host (moxie-*-rtems*): Merge this stanza with other moxie targets so the same extra_parts are built. Also have tmake_file add on to its value rather than override. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236064 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-30/olegendo
* config.guess: Remove SH5 support. * config.sub: Likewise. * configure: Likewise. * configure.ac: Likewise. config/ * picflag.m4: Remove SH5 support. gcc/ * config/sh/t-sh: Remove SH5 support. * config.gcc: Likewise. * configure: Likewise. contrib/ * compare-all-tests: Remove SH5 support. * config-list.mk: Likewise. libada/ * configure: Remove SH5 support. libgcc/ * config.host: Remove SH5 support. * configure: Likewise. libiberty/ * configure: Remove SH5 support. libjava/ * classpath/config.guess: Remove SH5 support. * classpath/config.sub: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235676 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-28[ARC/LIBGCC] Add TLS support.claziss
libgcc/ 2016-04-28 Claudiu Zissulescu <claziss@synopsys.com> Joern Rennecke <joern.rennecke@embecosm.com> * config/arc/crttls.S: New file. * config/arc/t-arc: New rule. * config.host (arc*-*-elf*, arc*-*-linux*): Add crttls.o. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235558 138bc75d-0d04-0410-961f-82ee72b054a4
2016-02-262016-02-26 Joel Sherrill <joel@rtems.org>joel
* config.host: Add x86_64-*-rtems*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233762 138bc75d-0d04-0410-961f-82ee72b054a4
2016-02-262016-02-26 Joel Sherrill <joel@rtems.org>joel
* libgcc/config.host: Add aarch64-*-rtems*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233759 138bc75d-0d04-0410-961f-82ee72b054a4
2016-02-15S/390: Add -fsplit-stack supportkrebbel
libgcc/ChangeLog: * config.host: Use t-stack and t-stack-s390 for s390*-*-linux. * config/s390/morestack.S: New file. * config/s390/t-stack-s390: New file. * generic-morestack.c (__splitstack_find): Add s390-specific code. gcc/ChangeLog: * common/config/s390/s390-common.c (s390_supports_split_stack): New function. (TARGET_SUPPORTS_SPLIT_STACK): New macro. * config/s390/s390-protos.h: Add s390_expand_split_stack_prologue. * config/s390/s390.c (struct machine_function): New field split_stack_varargs_pointer. (s390_register_info): Mark r12 as clobbered if it'll be used as temp in s390_emit_prologue. (s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack vararg pointer. (morestack_ref): New global. (SPLIT_STACK_AVAILABLE): New macro. (s390_expand_split_stack_prologue): New function. (s390_live_on_entry): New function. (s390_va_start): Use split-stack vararg pointer if appropriate. (s390_asm_file_end): Emit the split-stack note sections. (TARGET_EXTRA_LIVE_ON_ENTRY): New macro. * config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec. (UNSPECV_SPLIT_STACK_CALL): New unspec. (UNSPECV_SPLIT_STACK_DATA): New unspec. (split_stack_prologue): New expand. (split_stack_space_check): New expand. (split_stack_data): New insn. (split_stack_call): New expand. (split_stack_call_*): New insn. (split_stack_cond_call): New expand. (split_stack_cond_call_*): New insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233421 138bc75d-0d04-0410-961f-82ee72b054a4
2016-02-12libgcc/ChangeLog:walt
* config.host (tilegx*-*-linux*): remove ti from softfp_int_modes for 32-bit configs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233389 138bc75d-0d04-0410-961f-82ee72b054a4
2016-01-212016-01-21 Michael Meissner <meissner@linux.vnet.ibm.com>meissner
Steven Munroe <munroesj@linux.vnet.ibm.com> Tulio Magno Quites Machado Filho <tulioqm@br.ibm.com> * config/rs6000/float128-sed: New files to convert TF names to KF names for PowerPC IEEE 128-bit floating point support. * config/rs6000/float128-sed-hw: Likewise. * config/rs6000/float128-hw.c: New file for ISA 3.0 IEEE 128-bit floating point hardware support. * config/rs6000/float128-ifunc.c: New file to pick either IEEE 128-bit floating point software emulation or use ISA 3.0 hardware support if it is available. * config/rs6000/quad-float128.h: New file to support IEEE 128-bit floating point. * config/rs6000/extendkftf2-sw.c: New file, convert IEEE 128-bit floating point to IBM extended double. * config/rs6000/trunctfkf2-sw.c: New file, convert IBM extended double to IEEE 128-bit floating point. * config/rs6000/t-float128: New Makefile fragments to enable building __float128 emulation support. * config/rs6000/t-float128-hw: Likewise. * config/rs6000/sfp-exceptions.c: New file to provide exception support for IEEE 128-bit floating point. * config/rs6000/floattikf.c: New files for converting between IEEE 128-bit floating point and signed/unsigned 128-bit integers. * config/rs6000/fixunskfti.c: Likewise. * config/rs6000/fixkfti.c: Likewise. * config/rs6000/floatuntikf.c: Likewise. * config/rs6000/sfp-machine.h (_FP_W_TYPE_SIZE): Use 64-bit types when building on 64-bit systems, or when VSX is enabled. (_FP_W_TYPE): Likewise. (_FP_WS_TYPE): Likewise. (_FP_I_TYPE): Likewise. (TItype): Define on 64-bit systems. (UTItype): Likewise. (TI_BITS): Likewise. (_FP_MUL_MEAT_D): Add support for using 64-bit types. (_FP_MUL_MEAT_Q): Likewise. (_FP_DIV_MEAT_D): Likewise. (_FP_DIV_MEAT_Q): Likewise. (_FP_NANFRAC_D): Likewise. (_FP_NANFRAC_Q): Likewise. (ISA_BIT): Add exception support if we are being compiled on a machine with hardware floating point support to build the IEEE 128-bit emulation functions. (FP_EX_INVALID): Likewise. (FP_EX_OVERFLOW): Likewise. (FP_EX_UNDERFLOW): Likewise. (FP_EX_DIVZERO): Likewise. (FP_EX_INEXACT): Likewise. (FP_EX_ALL): Likewise. (__sfp_handle_exceptions): Likewise. (FP_HANDLE_EXCEPTIONS): Likewise. (FP_RND_NEAREST): Likewise. (FP_RND_ZERO): Likewise. (FP_RND_PINF): Likewise. (FP_RND_MINF): Likewise. (FP_RND_MASK): Likewise. (_FP_DECL_EX): Likewise. (FP_INIT_ROUNDMODE): Likewise. (FP_ROUNDMODE): Likewise. * libgcc/config.host (powerpc*-*-linux*): If compiler can compile VSX code, enable IEEE 128-bit floating point. If the compiler can compile IEEE 128-bit floating point code with ISA 3.0 IEEE 128-bit floating point hardware instructions and it supports declaring functions with the ifunc attribute, enable ifunc functions to switch between software and hardware support. * configure.ac (powerpc*-*-linux*): Likewise. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232685 138bc75d-0d04-0410-961f-82ee72b054a4
2016-01-14Revert 2016-01-13 change.meissner
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232392 138bc75d-0d04-0410-961f-82ee72b054a4
2016-01-13[gcc]meissner
2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support for pack/unpack functions for __ibm128. (PACK_IF): Likewise. (UNPACK_IF): Likewise. * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add support for __ibm128 pack/unpack functions. (rs6000_invalid_builtin): Likewise. (rs6000_init_builtins): Likewise. (rs6000_opt_masks): Likewise. * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name. (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack functions (RS6000_BTM_COMMON): Likewise. * config/rs6000/rs6000.md (f128_vsx): New mode attribute. (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to disallow __builtin_{pack,unpack}_longdouble if long double is IEEE 128-bit floating point. Add support for the double values to be in Altivec registers for TF/IF packing and unpacking, but restrict TD packing sub-fields to be FPR registers. Don't allow overlapped register support for packing. Allow pack inputs to be memory locations. Don't build generator functions for unpack<mode>_dm and unpack<mode>_nodm. (unpack<mode>_dm): Likewise. (unpack<mode>_nodm): Likewise. (pack<mode>): Likewise. * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add built-in functions to pack/unpack explicit __ibm128 values. (__builtin_unpack_ibm128): Likewise. * doc/extend.texi (PowerPC Built-in Functions): Document __builtin_pack_ibm128 and __builtin_unpack_ibm128. [libgcc] 2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com> Steven Munroe <munroesj@linux.vnet.ibm.com> Tulio Magno Quites Machado Filho <tulioqm@br.ibm.com> * config/rs6000/sfp-exceptions.c: New file to provide exception support for IEEE 128-bit floating point. * config/rs6000/float128-hw.c: New file for ISA 3.0 IEEE 128-bit floating point hardware support. * config/rs6000/floattikf.c: New files for IEEE 128-bit floating point conversions. * config/rs6000/fixunskfti.c: Likewise. * config/rs6000/fixkfti.c: Likewise. * config/rs6000/floatuntikf.c: Likewise. * config/rs6000/extendkftf2-sw.c: Likewise. * config/rs6000/trunctfkf2-sw.c: Likewise. * config/rs6000/float128-ifunc.c: New file to pick either IEEE 128-bit floating point software emulation or use ISA 3.0 hardware support if it is available. * config/rs6000/quad-float128.h: New file to support IEEE 128-bit floating point. * config/rs6000/t-float128: New Makefile fragments to enable building __float128 emulation support. * config/rs6000/t-float128-hw: Likewise. * config/rs6000/float128-sed: New file to convert TF names to KF names for PowerPC IEEE 128-bit floating point support. * config/rs6000/sfp-machine.h (_FP_W_TYPE_SIZE): Use 64-bit types when building on 64-bit systems, or when VSX is enabled. (_FP_W_TYPE): Likewise. (_FP_WS_TYPE): Likewise. (_FP_I_TYPE): Likewise. (TItype): Define on 64-bit systems. (UTItype): Likewise. (TI_BITS): Likewise. (_FP_MUL_MEAT_D): Add support for using 64-bit types. (_FP_MUL_MEAT_Q): Likewise. (_FP_DIV_MEAT_D): Likewise. (_FP_DIV_MEAT_Q): Likewise. (_FP_NANFRAC_D): Likewise. (_FP_NANFRAC_Q): Likewise. (ISA_BIT): Add exception support if we are being compiled on a machine with hardware floating point support to build the IEEE 128-bit emulation functions. (FP_EX_INVALID): Likewise. (FP_EX_OVERFLOW): Likewise. (FP_EX_UNDERFLOW): Likewise. (FP_EX_DIVZERO): Likewise. (FP_EX_INEXACT): Likewise. (FP_EX_ALL): Likewise. (__sfp_handle_exceptions): Likewise. (FP_HANDLE_EXCEPTIONS): Likewise. (FP_RND_NEAREST): Likewise. (FP_RND_ZERO): Likewise. (FP_RND_PINF): Likewise. (FP_RND_MINF): Likewise. (FP_RND_MASK): Likewise. (_FP_DECL_EX): Likewise. (FP_INIT_ROUNDMODE): Likewise. (FP_ROUNDMODE): Likewise. * configure.ac (powerpc*-*-linux*): Check whether the PowerPC compiler can do __float128. * configure: Regenerate. * libgcc/config.host (powerpc*-*-linux*): If compiler can compile VSX code, enable IEEE 128-bit floating point. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232346 138bc75d-0d04-0410-961f-82ee72b054a4