summaryrefslogtreecommitdiff
path: root/gcc/config.gcc
Commit message (Collapse)AuthorAgeFilesLines
* * config.gcc: Add support for arm*-*-phoenix* targets.ksejdak2016-08-311-0/+11
| | | | | | | | * config/arm/t-phoenix: New. * config/phoenix.h: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@239883 138bc75d-0d04-0410-961f-82ee72b054a4
* Backport from mainlineebotcazou2016-06-081-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2016-06-06 Jose E. Marchesi <jose.marchesi@oracle.com> * config/sparc/sparc.md (cpu): Add niagara7 cpu type. Include the M7 SPARC DFA scheduler. New attribute v3pipe. Annotate insns with v3pipe where appropriate. Define cpu_feature vis4. Add lzd instruction type and set it on clzdi_sp64 and clzsi_sp64. Add (V8QI "8") to vbits. Add insns {add,sub}v8qi3 Add insns ss{add,sub}v8qi3 Add insns us{add,sub}{v8qi,v4hi}3 Add insns {min,max}{v8qi,v4hi,v2si}3 Add insns {minu,maxu}{v8qi,v4hi,v2si}3 Add insns fpcmp{le,gt,ule,ug,ule,ugt}{8,16,32}_vis. * config/sparc/niagara4.md: Add a comment explaining the discrepancy between the documented latenty numbers and the implemented ones. * config/sparc/niagara7.md: New file. * configure.ac (HAVE_AS_SPARC5_VIS4): Define if the assembler supports SPARC5 and VIS 4.0 instructions. * configure: Regenerate. * config.in: Likewise. * config.gcc: niagara7 is a supported cpu in sparc*-*-* targets. * config/sparc/sol2.h (ASM_CPU32_DEFAUILT_SPEC): Set for TARGET_CPU_niagara7. (ASM_CPU64_DEFAULT_SPEC): Likewise. (CPP_CPU_SPEC): Handle niagara7. (ASM_CPU_SPEC): Likewise. * config/sparc/sparc-opts.h (processor_type): Add PROCESSOR_NIAGARA7. (mvis4): New option. * config/sparc/sparc.h (TARGET_CPU_niagara7): Define. (AS_NIAGARA7_FLAG): Define. (ASM_CPU64_DEFAULT_SPEC): Set for niagara7. (CPP_CPU64_DEFAULT_SPEC): Likewise. (CPP_CPU_SPEC): Handle niagara7. (ASM_CPU_SPEC): Likewise. * config/sparc/sparc.c (niagara7_costs): Define. (sparc_option_override): Handle niagara7 and adjust cache-related parameters with better values for niagara cpus. Also support VIS4. (sparc32_initialize_trampoline): Likewise. (sparc_use_sched_lookahead): Likewise. (sparc_issue_rate): Likewise. (sparc_register_move_cost): Likewise. (dump_target_flag_bits): Support VIS4. (sparc_vis_init_builtins): Likewise. (sparc_builtins): Likewise. * config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__ for VIS4 4.0. * config/sparc/driver-sparc.c (cpu_names): Add SPARC-M7 and UltraSparc M7. * config/sparc/sparc.opt (sparc_processor_type): New value niagara7. * config/sparc/visintrin.h (__attribute__): Prototypes for the VIS4 builtins. * doc/invoke.texi (SPARC Options): Document -mcpu=niagara7 and -mvis4. * doc/extend.texi (SPARC VIS Built-in Functions): Document the VIS4 builtins. 2016-05-30 Jose E. Marchesi <jose.marchesi@oracle.com> * config.gcc (sparc*-*-*): Support cpu_32, cpu_64, tune_32 and tune_64. * doc/install.texi (--with-cpu-32, --with-cpu-64): Document support on SPARC. * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Add entries for cpu_32, cpu_64, tune_32 and tune_64. * config/sparc/sol2.h (OPTION_DEFAULT_SPECS): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@237217 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-05-30 Andreas Tobler <andreast@gcc.gnu.org>andreast2016-05-301-5/+3
| | | | | | | | | | | | Backport from mainline 2016-05-30 Andreas Tobler <andreast@gcc.gnu.org> * config.gcc: Move hard float support for arm*hf*-*-freebsd* into armv6*-*-freebsd* for FreeBSD 11. Eliminate the arm*hf*-*-freebsd* target. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@236899 138bc75d-0d04-0410-961f-82ee72b054a4
* [Patch AArch64 2/3] Rework the code to print extension strings (pr70133)jgreenhalgh2016-04-111-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ PR target/70133 * config/aarch64/aarch64-common.c (aarch64_option_extension): Keep track of a canonical flag name. (all_extensions): Likewise. (arch_to_arch_name): Also track extension flags enabled by the arch. (all_architectures): Likewise. (aarch64_parse_extension): Move to here. (aarch64_get_extension_string_for_isa_flags): Take a new argument, rework. (aarch64_rewrite_selected_cpu): Update for above change. * config/aarch64/aarch64-option-extensions.def: Rework the way flags are handled, such that the single explicit value enabled by an extension is kept seperate from the implicit values it also enables. * config/aarch64/aarch64-protos.h (aarch64_parse_opt_result): Move to here. (aarch64_parse_extension): New. * config/aarch64/aarch64.c (aarch64_parse_opt_result): Move from here to config/aarch64/aarch64-protos.h. (aarch64_parse_extension): Move from here to common/config/aarch64/aarch64-common.c. (aarch64_option_print): Update. (aarch64_declare_function_name): Likewise. (aarch64_start_file): Likewise. * config/aarch64/driver-aarch64.c (arch_extension): Keep track of the canonical flag for extensions. * config.gcc (aarch64*-*-*): Extend regex for capturing extension flags. gcc/testsuite/ PR target/70133 * gcc.target/aarch64/mgeneral-regs_4.c: Fix expected output. * gcc.target/aarch64/target_attr_15.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234876 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file.nickc2016-03-021-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233900 138bc75d-0d04-0410-961f-82ee72b054a4
* * MAINTAINERS (mep): Remove myself as MeP maintainer.dj2016-03-021-0/+1
| | | | | | | * config.gcc: Deprecate mep-*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233887 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.nickc2016-03-011-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233858 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-02-26 Joel Sherrill <joel@rtems.org>joel2016-02-261-0/+3
| | | | | | | | | * config.gcc: Add x86_64-*-rtems*. * gcc/config/i386/rtems-64.h: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233761 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-02-26 Joel Sherrill <joel@rtems.org>joel2016-02-261-2/+9
| | | | | | | | | * config.gcc: Add aarch64-*-rtems*. * gcc/config/aarch64/rtems.h: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233760 138bc75d-0d04-0410-961f-82ee72b054a4
* obsolete the deprecated rtems targetstbsaunde2016-02-051-0/+3
| | | | | | | | | | gcc/ChangeLog: 2016-02-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config.gcc: Mark deprecated rtems targets as obsolete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233165 138bc75d-0d04-0410-961f-82ee72b054a4
* [PATCH 5/6] [DJGPP] Update DJGPP configuration related filesandris2016-01-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2 (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive (MD_EXEC_PREFIX): Remove. (MD_STARTFILE_PREFIX) Removee. (FILE_NAME_ABSOLUTE_P): Remove. (CPP_SPEC): Do not read macros from sys/version.h. (LINK_COMMAND_SPEC): Remove. (LOCAL_INCLUDE_DIR): Remove. (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix. (POST_LINK_SPEC): Define to invoke stubify after linker (LIBSTDCXX): Remove define (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map. (DEFAULT_PCC_STRUCT_RETURN): Define to 1. (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210. (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message. (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info. (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove. (i386_djgpp_asm_named_section): Add propotype of new procedure * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define. (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h). (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX in config/i386/djgpp.h). (STANDARD_STARTFILE_PREFIX_2): Define identical to STANDARD_STARTFILE_PREFIX_1. (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h). (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal installation errors. (MAX_OFILE_ALIGNMENT): Define to 128. (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h. * config/i386/djgpp.c: New file. Add implementation of i386_djgpp_asm_named_section. * config/i386/djgpp.opt: Remove obsolete option -mbnu210. * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS. Add rule for building djgpp.o. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232258 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright years.jakub2016-01-041-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232055 138bc75d-0d04-0410-961f-82ee72b054a4
* Introduce support for PKU instructions.kyukhin2015-12-241-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * common/config/i386/i386-common.c (OPTION_MASK_ISA_PKU_SET): New. (OPTION_MASK_ISA_PKU_UNSET): Ditto. (ix86_handle_option): Handle OPT_mpku. * config.gcc: Add pkuintrin.h to i[34567]86-*-* and x86_64-*-* targets. * config/i386/cpuid.h (host_detect_local_cpu): Detect PKU feature. * config/i386/i386-c.c (ix86_target_macros_internal): Handle PKU ISA flag. * config/i386/i386.c (ix86_target_string): Add "-mpku" to ix86_target_opts. (ix86_option_override_internal): Define PTA_PKU, mention new key in skylake-avx512. Handle new ISA bits. (ix86_valid_target_attribute_inner_p): Add "pku". (enum ix86_builtins): Add IX86_BUILTIN_RDPKRU and IX86_BUILTIN_WRPKRU. (builtin_description bdesc_special_args[]): Add new built-ins. * config/i386/i386.h (define TARGET_PKU): New. (define TARGET_PKU_P): Ditto. * config/i386/i386.md (define_c_enum "unspecv"): Add UNSPEC_PKU. (define_expand "rdpkru"): New. (define_insn "*rdpkru"): Ditto. (define_expand "wrpkru"): Ditto. (define_insn "*wrpkru"): Ditto. * config/i386/i386.opt (mpku): Ditto. * config/i386/pkuintrin.h: New file. * config/i386/x86intrin.h: Include pkuintrin.h * doc/extend.texi: Describe new built-ins. * doc/invoke.texi: Describe new switches. gcc/testsuite/ * g++.dg/other/i386-2.C: Add -mpku. * g++.dg/other/i386-3.C: Ditto. * gcc.target/i386/rdpku-1.c: New test. * gcc.target/i386/sse-12.c: Add -mpku. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-22.c: Ditto. * gcc.target/i386/sse-33.c: Ditto. * gcc.target/i386/wrpku-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231944 138bc75d-0d04-0410-961f-82ee72b054a4
* obsolete the interix targettbsaunde2015-12-171-1/+2
| | | | | | | | | | gcc/ChangeLog: 2015-12-17 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config.gcc: mark *-interix* as obsolete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231774 138bc75d-0d04-0410-961f-82ee72b054a4
* obsolete openbsd 2.0 and 3.Xtbsaunde2015-12-171-0/+2
| | | | | | | | | | gcc/ChangeLog: 2015-12-17 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config.gcc: Mark openbsd 2.0 and 3.X as obsolete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231773 138bc75d-0d04-0410-961f-82ee72b054a4
* mark *-knetbsd-* as obsoletetbsaunde2015-12-171-2/+1
| | | | | | | | | | gcc/ChangeLog: 2015-12-17 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config.gcc: Mark knetbsd targets as obsolete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231772 138bc75d-0d04-0410-961f-82ee72b054a4
* support for AMD clzero isa.vekumar2015-12-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ChangeLog 2015-12-06 Victoria Stepanyan <victoria.stepanyan@amd.com> * common/config/i386/i386-common.c (OPTION_MASK_ISA_CLZERO_SET): New. (ix86_handle_option): Handle clzero. * config.gcc (i[34567]86-*-*): Add clzerointrin.h, (x86_64-*-*): Likewise. * config/i386/clzerointrin.h: New header. * config/i386/cpuid.h (bit_CLZERO): Define. * config/i386/driver-i386.c (host_detect_local_cpu): Detect CLZERO support. * config/i386/i386.opt (clzero): New. * config/i386/i386-c.c: Define __CLZERO__ if needed. * config/i386/i386.c (ix86_target_string): Define -mclzero option. (PTA_CLZERO): New. (ix86_option_override_internal): Handle new option. (processor_alias_table): Added PTA_CLZERO. (ix86_valid_target_attribute_inner_p): Add OPT_mclzero. (ix86_builtins): Add IX86_BUILTIN_CLZERO, IX86_BUILTIN_CLZERO. (ix86_expand_builtin): Handle IX86_BUILTIN_CLZERO and IX86_BUILTIN_CLZERO built-ins. * config/i386/i386.h (TARGET_CLZERO): New. * config/i386/i386.md (unspecv): Add UNSPEC_CLZERO. (clzero): New pattern. (clzero_<mode>): New pattern. * config/i386/x86intrin.h: Include clzerointrin.h. * doc/extend.texi: Document clzero builtins. * doc/invoke.texi: Document -mclzero option. gcc/testsuite/ChangeLog 2015-12-06 Victoria Stepanyan <victoria.stepanyan@amd.com> * gcc.target/i386/clzero.c: New. * gcc.target/i386/sse-12.c: Add -mclzero. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-14.c: Ditto. * gcc.target/i386/sse-22.c: Ditto. * gcc.target/i386/sse-23.c: Ditto. * g++.dg/other/i386-2.C: Ditto. * g++.dg/other/i386-3.C: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231340 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc * config.gcc (extra_gcc_objs): Define for MSP430.nickc2015-12-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * common/config/msp430/msp430-common.c (msp430_handle_option): Pass both -mmcu and -mcpu on to the back end if they are both defined. * config/msp430/msp430.c (hwmult_name): New function. (msp430_option_override): If an unrecognised MCU name is detected only warn if the user has not provided suitable -mhwmult and -mcpu options. Use msp430_warn_mcu to control warning messages. Generate warnings about conflicts between -mmcu and -mcpu and -mhwmult options. If neither -mcpu nor -mmcu have been specified but -mhwmult= f5series has the select the 430X isa. (msp430_no_hwmult): If -mmcu has not been specified and msp430_hwmult_type is AUTO then return true. * config/msp430/msp430.h (EXTRA_SPEC_FUNCTIONS): Define. (LIB_SPEC): Add hardware multiply library selection. * config/msp430/t-msp430: Delete hardware multiply multilibs. Add rule to build driver-msp430.o * config/msp430/driver-msp430.c: New file. * config/msp430/msp430.opt (warn-mcu): New option. * doc/invoke.texi: Update description of -mhwmult=auto. Document -mwarn-mcu option. tests * gcc.target/msp430/msp_abi_div_funcs.c: New test. * gcc.target/msp430/mul_main.h: New test support file. * gcc.target/msp430/mul_none.c: New test. * gcc.target/msp430/mul_16bit.c: New test. * gcc.target/msp430/mul_32bit.c: New test. * gcc.target/msp430/mul_f5.c: New test. libgcc * config/msp430/mpy.c (__mulhi3): Use a faster algorithm. Allow for the second argument being negative. * config.host (extra_parts): Define for MSP430. Create separate libraries for each of the hardware multiply formats. * config/msp430/lib2hw_mul.S: Build only the multiply routines that are needed. * config/msp430/lib2mul.c: Likewise. * config/msp430/t-msp430 (LIB2ADD): Remove lib2hw_mul.S. Add rules to build hardware multiply libraries. * config/msp430/lib2divSI.c: (__mspabi_divlu): Alias for __mspabi_divul function. (__mspabi_divllu): New stub function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231286 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-11-10 Michael Meissner <meissner@linux.vnet.ibm.com>meissner2015-11-101-2/+2
| | | | | | | | | * config.gcc (powerpc*-*-*, rs6000*-*-*): Add power9 to hosts that default to 64-bit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230123 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-11-06 Arnout Vandecappelle <arnout@mind.be>dje2015-11-061-1/+1
| | | | | | | * config.gcc (e6500): Fix cpu_is_64bit typo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229855 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ChangeLogolegendo2015-10-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config.gcc: Handle --enable-fdpic. * config/sh/constraints.md (Ccl): New constraint. * config/sh/linux.h (SUBTARGET_LINK_EMUL_SUFFIX): Handle -mfdpic. * config/sh/sh-c.c (sh_cpu_cpp_builtins): Add __FDPIC__ and __SH_FDPIC__. * config/sh/sh-mem.cc (expand_block_move): Support FDPIC for calls to library functions. * config/sh/sh-protos.h (function_symbol_result): New struct. (function_symbol): Return function_symbol_result. (sh_get_fdpic_reg_initial_val, sh_load_function_descriptor): New declarations. * config/sh/sh.c (TARGET_ASM_INTEGER, sh_assemble_integer): Implement target hook. (TARGET_CANNOT_FORCE_CONST_MEM, sh_cannot_force_const_mem_p): Likewise. (sh_option_override): Force -fPIC if FDPIC is in effect. (sh_asm_output_addr_const_extra): Add UNSPEC_GOTFUNCDESC and UNSPEC_GOTOFFFUNCDESC cases. (prepare_move_operands): Use FDPIC initial GOT register for TLS-related GOT access; inhibit cross-section address offset constants for FDPIC. (sh_assemble_integer): New function. (sh_cannot_copy_insn_p): Inhibit copying insns that are FDPIC PC-relative call sites. (expand_ashiftrt): Adapt invocation of function_symbol. (sh_expand_prologue): Inhibit PC-relative GOT address load for FDPIC. (nonpic_symbol_mentioned_p): Add cases for UNSPEC_GOTFUNCDESC and UNSPEC_GOTOFFFUNCDESC. (legitimize_pic_address): Resolve function symbols to function descriptors for FDPIC. Do not use GOT-relative addressing for local data that may be read-only on FDPIC. (sh_emit_storesi, sh_emit_storehi): New functions. (sh_trampoline_init): Generate FDPIC trampolines. (sh_function_ok_for_sibcall): Add TARGET_FDPIC check. (sh_expand_sym_label2reg): Don't assume sibcalls are local. (sh_output_mi_thunk): Generate FDPIC call. (function_symbol): Return function_symbol_result. For SFUNC_STATIC on FDPIC, generate call site labels to use PC-relative addressing rather than GOT-relative addressing. (sh_conditional_register_usage): Make PIC register fixed and call used when FDPIC is in effect. (sh_legitimate_constant_p): Impose FDPIC constant constraints. (sh_cannot_force_const_mem_p, sh_load_function_descriptor, sh_get_fdpic_reg_initial_val): New functions. * config/sh/sh.h (SUBTARGET_ASM_SPEC, SUBTARGET_LINK_EMUL_SUFFIX): Handle -mfdpic. (FDPIC_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS, PIC_OFFSET_TABLE_REG_CALL_CLOBBERED, SH_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): New macros. (DRIVER_SELF_SPECS): Add SUBTARGET_DRIVER_SELF_SPECS and FDPIC_SELF_SPECS. (TRAMPOLINE_SIZE): Select trampoline size for FDPIC. (ASM_PREFERRED_EH_DATA_FORMAT): Add EH format constraints for FDPIC. (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Handle FDPIC case. * config/sh/sh.md (UNSPEC_GOTFUNCDESC, UNSPEC_GOTOFFFUNCDESC): New constants. (calli_fdpic, call_valuei_fdpic, sibcalli_fdpic, sibcalli_pcrel_fdpic, sibcall_pcrel_fdpic, sibcall_valuei_fdpic, sibcall_valuei_pcrel_fdpic, sibcall_value_pcrel_fdpic, sym2GOTFUNCDESC, symGOTFUNCDESC2reg, sym2GOTOFFFUNCDESC, symGOTOFFFUNCDESC2reg): New patterns. (udivsi3_i1, udivsi3_i4, udivsi3_i4_single, udivsi3, *divsi_inv_call_combine, divsi3_i4, divsi3_i4_single, divsi3, ashlsi3, ashlsi3_d_call, ashrsi3_n, lshrsi3, lshrsi3_d_call, calli, call_valuei, call, call_value, sibcalli, sibcalli_pcrel, sibcall_pcrel, sibcall, sibcall_valuei, sibcall_valuei_pcrel, sibcall_value_pcrel, sibcall_value, GOTaddr2picreg, symGOT_load, symGOTOFF2reg, block_move_real, block_lump_real, block_move_real_i4, block_lump_real_i4): Add support for FDPIC calls. (mulsi3, ic_invalidate_line, initialize_trampoline, call_pop, call_value_pop): Adjust for new function_symbol signature. * config/sh/sh.opt (-mfdpic): New option. * doc/install.texi (Options specification): Document --enable-fdpic. * doc/invoke.texi (SH Options): Document -mfdpic. include/ChangeLog: * longlong.h (udiv_qrnnd): Add FDPIC compatible version for SH. libitm/ChangeLog: * config/sh/sjlj.S (_ITM_beginTransaction): Bypass PLT calling GTM_begin_transaction for compatibility with FDPIC. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229438 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (powerpc-ibm-aix[6789]) [default_use_cxa_atexit]:dje2015-10-231-0/+2
| | | | | | | Define as yes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229276 138bc75d-0d04-0410-961f-82ee72b054a4
* [rs6000] Enable secureplt by default on muslnsz2015-10-231-0/+4
| | | | | | | | * config.gcc (enable_secureplt): Add *-linux*-musl*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229268 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64] --with-arch in config.gcc support "."jiwang2015-10-151-1/+1
| | | | | | | | * config.gcc: Recognize "." in architecture base name for AArch64. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228837 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-05 Steve Ellcey <sellcey@imgtec.com>sje2015-10-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | * config.gcc (mips*-*-*): Add frame-header-opt.o to extra_objs. * frame-header-opt.c: New file. * config/mips/mips-proto.h (mips_register_frame_header_opt): Add prototype. * config/mips/mips.c (mips_compute_frame_info): Check optimize_call_stack flag. (mips_option_override): Register new frame_header_opt pass. (mips_frame_info, mips_int_mask, mips_shadow_set, machine_function): Move these types to... * config/mips/mips.h: here. (machine_function): Add does_not_use_frame_header and optimize_call_stack fields. * config/mips/t-mips (frame-header-opt.o): Add new make rule. * doc/invoke.texi (-mframe-header-opt, -mno-frame-header-opt): Document new flags. * config/mips/mips.opt (mframe-header-opt): Add new option. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228666 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (lm32-elf): Add newlib-stdint.h to tm_file.nickc2015-10-061-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228533 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>vekumar2015-10-061-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AMD znver1 enablement. * config.gcc (i[34567]86-*-linux* | ...): Add znver1. (case ${target}): Add znver1. * config/i386/cpuid.h(bit_CLZERO): Define. * config/i386/driver-i386.c: (host_detect_local_cpu): Let -march=native recognize znver1 processors. * config/i386/i386-c.c (ix86_target_macros_internal): Add znver1, clzero def_and_undef. * config/i386/i386.c (struct processor_costs znver1_cost): New. (m_znver1): New definition. (m_AMD_MULTIPLE): Includes m_znver1. (processor_target_table): Add znver1 entry. (ix86_target_string) : Add clzero entry. (static const char *const cpu_names): Add znver1 entry. (ix86_option_override_internal): Add znver1 instruction sets. (PTA_CLZERO) : New definition. (ix86_option_override_internal): Handle new clzerooption. (ix86_issue_rate): Add znver1. (ix86_adjust_cost): Add znver1. (ia32_multipass_dfa_lookahead): Add znver1. (has_dispatch): Add znver1. * config/i386/i386.h (TARGET_znver1): New definition. (TARGET_CLZERO): Define. (TARGET_CLZERO_P): Define. (struct ix86_size_cost): Add TARGET_ZNVER1. (enum processor_type): Add PROCESSOR_znver1. * config/i386/i386.md (define_attr "cpu"): Add znver1. (set_attr znver1_decode): New definitions for znver1. * config/i386/i386.opt (flag_dispatch_scheduler): Add znver1. (mclzero): New. * config/i386/mmx.md (set_attr znver1_decode): New definitions for znver1. * config/i386/sse.md (set_attr znver1_decode): Likewise. * config/i386/x86-tune.def: Add znver1 tunings. * config/i386/znver1.md: Introduce znver1 cpu and include new md file. * gcc/doc/invoke.texi: Add details about znver1 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228520 138bc75d-0d04-0410-961f-82ee72b054a4
* xtensa: add uclinux supportjcmvbkbc2015-10-031-0/+5
| | | | | | | | | | | | | | | 2015-10-03 Max Filippov <jcmvbkbc@gmail.com> gcc/ * config.gcc (xtensa*-*-uclinux*): New configuration. * config/xtensa/uclinux.h: New file. * config/xtensa/uclinux.opt: New file. libgcc/ * config.host (xtensa*-*-uclinux*): New configuration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228450 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf2out.c (XCOFF_DEBUGGING_INFO): Default 0 definition.dje2015-09-261-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (HAVE_XCOFF_DWARF_EXTRAS): Default to 0 definition. (output_fde): Don't output length for debug_frame on AIX. (output_call_frame_info): Don't output length for debug_frame on AIX. (have_macinfo): Force to False for XCOFF_DEBUGGING_INFO and not HAVE_XCOFF_DWARF_EXTRAS. (add_AT_loc_list): Return early if XCOFF_DEBUGGING_INFO and not HAVE_XCOFF_DWARF_EXTRAS. (output_compilation_unit_header): Don't output length on AIX. (output_pubnames): Don't output length on AIX. (output_aranges): Delete argument. Compute length locally. Don't output length on AIX. (output_line_info): Don't output length on AIX. (dwarf2out_finish): Don't compute aranges_length. * dwarf2asm.c (XCOFF_DEBUGGING_INFO): Default 0 definition. (dw2_asm_output_nstring): Emit .byte not .ascii on AIX. * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Emit correct symbol decoration for AIX. (rs6000_xcoff_debug_unwind_info): New. (rs6000_xcoff_asm_named_section): Emit .dwsect pseudo-op for SECTION_DEBUG. (rs6000_xcoff_declare_function_name): Emit different .function pseudo-op when DWARF2_DEBUG. Don't call xcoffout_declare_function for DWARF2_DEBUG. * config/rs6000/xcoff.h (TARGET_DEBUG_UNWIND_INFO): Redefine. * config/rs6000/aix71.h: New. * configure.ac (gcc_cv_as_aix_dwloc): Check AIX as for DWARF locations support. * configure: Regenerate. * config.gcc (powerpc-ibm-aix[789]+): New stanza for AIX 7.1+ with DWARF support. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228167 138bc75d-0d04-0410-961f-82ee72b054a4
* Rename IA MCU processor lakemount to lakemonthjl2015-09-251-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IA MCU processor name is lakemont, not lakemount. gcc/ * config.gcc (x86_archs): Replace lakemount with lakemont. (with_cpu): Likewise. (with_arch): Likewise. * config/i386/i386-c.c (ix86_target_macros_internal): Replace PROCESSOR_LAKEMOUNT with PROCESSOR_LAKEMONT. Replace __tune_lakemount__ with __tune_lakemont__. * config/i386/i386.c (lakemount_cost): Renamed to ... (lakemont_cost): This. (m_LAKEMOUNT): Renamed to ... (m_LAKEMONT): This. (initial_ix86_arch_features): Replace m_LAKEMOUNT with m_LAKEMONT. (processor_target_table): Replace "lakemount" with "lakemont". (processor_alias_table): Likewise. (ix86_issue_rate): Replace PROCESSOR_LAKEMOUNT with PROCESSOR_LAKEMONT. (ix86_adjust_cost): Likewise. (ia32_multipass_dfa_lookahead): Likewise. * config/i386/i386.h (processor_type): Likewise. * config/i386/x86-tune.def: Replace m_LAKEMOUNT with m_LAKEMONT. * doc/invoke.texi: Replace lakemount with lakemont. Replace Lakemount with Lakemont. gcc/testsuite/ * gcc.target/i386/pr66749.c (dg-options): Replace -mtune=lakemount with -mtune=lakemont. * gcc.target/i386/pr66821.c (dg-options): Likewise. * gcc.target/i386/pr67329.c (dg-options): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228115 138bc75d-0d04-0410-961f-82ee72b054a4
* Change IA MCU processor from iamcu to lakemounthjl2015-09-251-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The first IA MCU processor will be Lakemount. This patch changes IA MCU processor name from iamcu to lakemount. gcc/ * config.gcc (x86_archs): Replace iamcu with lakemount. (with_cpu): Likewise. (with_arch): Likewise. * doc/invoke.texi: Likewise. * config/i386/i386-c.c (ix86_target_macros_internal): Replace PROCESSOR_IAMCU with PROCESSOR_LAKEMOUNT. Replace __tune_iamcu__ with __tune_lakemount__. * config/i386/i386.c (iamcu_cost): Renamed to ... (lakemount_cost): This. (m_IAMCU): Renamed to ... (m_LAKEMOUNT): This. (initial_ix86_arch_features): Replace m_IAMCU with m_LAKEMOUNT. (processor_target_table): Replace "iamcu" with "lakemount". (processor_alias_table): Likewise. (ix86_issue_rate): Replace PROCESSOR_IAMCU with PROCESSOR_LAKEMOUNT. (ix86_adjust_cost): Likewise. (ia32_multipass_dfa_lookahead): Likewise. * config/i386/i386.h (processor_type): Likewise. * config/i386/x86-tune.def: Replace m_IAMCU with m_LAKEMOUNT. gcc/testsuite/ * gcc.target/i386/pr66749.c (dg-options): Replace -mtune=iamcu with -mtune=lakemount. * gcc.target/i386/pr66821.c (dg-options): Likewise. * gcc.target/i386/pr67329.c (dg-options): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228109 138bc75d-0d04-0410-961f-82ee72b054a4
* AVX-512. Introduce SKylake server CPU.kyukhin2015-09-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * config.gcc: Support "skylake-avx512". * config/i386/i386-c.c (ix86_target_macros_internal): Handle PROCESSOR_SKYLAKE_AVX512. * config/i386/i386.c (m_SKYLAKE_AVX512): Define. (processor_target_table): Add "skylake-avx512". (PTA_SKYLAKE_AVX512): Define. (ix86_option_override_internal): Add "skylake_avx512". (fold_builtin_cpu): Handle "skylake_avx512", add F_AVX512VL F_AVX512BW, F_AVX512DQ, F_AVX512ER, F_AVX512PF, F_AVX512CD. * config/i386/i386.h (TARGET_SKYLAKE_AVX512): Define. (processor_type): Add PROCESSOR_SKYLAKE_AVX512. * doc/invoke.texi (skylake-avx512): New. libgcc/ * libgcc/config/i386/cpuinfo.c (enum processor_features): Add FEATURE_AVX512VL, FEATURE_AVX512BW, FEATURE_AVX512DQ, FEATURE_AVX512CD, FEATURE_AVX512ER, FEATURE_AVX512PF. (get_available_features): Habdle new features. gcc/testsuite/ * gcc.target/i386/funcspec-5.c: Test avx512vl, avx512bw, avx512dq, avx512cd, avx512er, avx512pf and skylake-avx512. * gcc.target/i386/builtin_target.c: Test avx512vl, avx512bw, avx512dq, avx512cd, avx512er and avx512pf. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228009 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (visium-*-*): Enable --with-cpu option, accept gr5 andebotcazou2015-09-131-0/+16
| | | | | | | | | | | | | | gr6 as possible values, defaulting to gr5. Set target_cpu_default2. * config/visium/visium.h (OPTION_DEFAULT_SPECS): Define. (TARGET_CPU_gr5): Likewise. (TARGET_CPU_gr6): Likewise. (MULTILIB_DEFAULTS): Likewise. * config/visium/t-visium (MULTILIB_OPTIONS): Request distinct variants for mcpu=gr5 and mcpu=gr6. (MULTILIB_DIRNAMES): Adjust accordingly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227728 138bc75d-0d04-0410-961f-82ee72b054a4
* * [SH] config.gcc (supported_defaults): Handle sh[123456ble]*-*-* instead of ↵kkojima2015-08-311-1/+1
| | | | | | sh[123456ble]-*-*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227330 138bc75d-0d04-0410-961f-82ee72b054a4
* Use __cxa_atexit on Solaris 12+ro2015-08-271-0/+6
| | | | | | | * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit on Solaris 12+. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227255 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64][10/14] Implement target pragmasktkachov2015-08-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config.gcc (aarch64*-*-*): Specify c_target_objs and cxx_target_objs. * config/aarch64/aarch64.h (REGISTER_TARGET_PRAGMAS): Define. (TARGET_CPU_CPP_BUILTINS): Redefine to call aarch64_cpu_cpp_builtins. * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove static keyword. (aarch64_reset_previous_fndecl): New function. (aarch64_handle_attr_isa_flags): Handle "+nothing" in the beginning of the string. * config/aarch64/aarch64-c.c: New file. * config/aarch64/arm_acle.h: Add pragma +crc+nofp at the top. Push and pop options at beginning and end. Remove ifdef __ARM_FEATURE_CRC32. * config/aarch64/arm_neon.h: Remove #ifdef check on __ARM_NEON. Add pragma +nothing+simd and +nothing+crypto where appropriate. * config/aarch64/t-aarch64 (aarch64-c.o): New rule. * config/aarch64/aarch64-protos.h (aarch64_cpu_cpp_builtins): Define prototype. (aarch64_register_pragmas): Likewise. (aarch64_reset_previous_fndecl): Likewise. (aarch64_process_target_attr): Likewise. (aarch64_override_options_internal): Likewise. * gcc.target/aarch64/arm_neon-nosimd-error.c: Delete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226563 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>sandra2015-07-141-0/+13
| | | | | | | | | | | | | | | | | | | | | | | Cesar Philippidis <cesar@codesourcery.com> Chung-Lin Tang <cltang@codesourcery.com> gcc/ * config/nios2/nios2.opt (march, mbmx, mcdx): New options. * config/nios2/nios2-opts.h (enum nios2_arch_type): New enum for Nios II architecture level. * config/nios2/nios2.h (TARGET_ARCH_R2): New define. (TARGET_CPU_CPP_BUILTINS): Add definition of __nios2_arch__ symbol. (OPTION_DEFAULT_SPECS): Define. (ASM_SPEC): Add -march= spec strings. * config/nios2/nios2.c (nios2_option_override): Check for conflicts involving new options. * config.gcc (nios2*-*-*): Support --with-arch=. * doc/invoke.texi (Option Summary, Nios II Options): Document -march=, -mbmx, and -mcdx. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225791 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-07-06 Steve Ellcey <sellcey@imgtec.com>sje2015-07-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config.gcc <mips*-*-*>: Add fused-madd.opt. * config/mips/mips.opt (mfused-madd): Remove. * config/mips/mips.c (mips_rtx_costs): Update cost calculations. * config/mips/mips.h (TARGET_MIPS8000): New. (ISA_HAS_FP_MADD4_MSUB4): Remove. (ISA_HAS_FP_MADDF_MSUBF): Remove. (ISA_HAS_FP_MADD3_MSUB3): Remove. (ISA_HAS_NMADD4_NMSUB4): Remove. (ISA_HAS_NMADD3_NMSUB3): Remove. (ISA_HAS_FUSED_MADD4): New. (ISA_HAS_UNFUSED_MADD4): New. (ISA_HAS_FUSED_MADDF): New. (ISA_HAS_FUSED_MADD3): New. * config/mips/mips.md: (fma<mode>4) Change from insn to expand. (*fma<mode>4_madd3) New. (*fma<mode>4_madd4) New. (*fma<mode>4_maddf) New. (fms<mode>4) New. (*fms<mode>4_msub3) New. (*fms<mode>4_msub4) New. (fnma<mode>4) New. (*fnma<mode>4_nmadd3) New. (*fnma<mode>4_nmadd4) New. (fnms<mode>4) New. (*fnms<mode>4_nmsub3) New. (*fnms<mode>4_nmsub4) New. (*madd4<mode>) Modify to be unfused only. (*msub4<mode>) Modify to be unfused only. (*nmadd4<mode>) Modify to be unfused only. (*nmsub4<mode>) Modify to be unfused only. (*madd3<mode>) Remove. (*msub3<mode>) Remove. (*nmadd3<mode>) Remove. (*nmsub3<mode>) Remove. (*nmadd3<mode>_fastmath) Remove. (*nmsub3<mode>_fastmath) Remove. (*nmadd4<mode>_fastmath) Update condition. (*nmsub4<mode>_fastmath) Update condition. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225468 138bc75d-0d04-0410-961f-82ee72b054a4
* Optimize i?86-*-elfiamcu for iamcu by defaulthjl2015-07-061-1/+7
| | | | | | | | | | | | Default -mtune=/-march= to iamcu for i[34567]86-*-elfiamcu targets. * config.gcc (x86_archs): Add iamcu. (with_cpu): Default to iamcu for i[34567]86-*-elfiamcu. (with_arch): Likewise. * doc/invoke.texi: Add iamcu. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225464 138bc75d-0d04-0410-961f-82ee72b054a4
* IA MCU psABI support: GCC changeshjl2015-06-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces basic IA MCU psABI support into GCC. * configure.ac (ospace_frag): Enable for i?86*-*-elfiamcu target. * configure: Regenerate. gcc/ * config.gcc: Support i[34567]86-*-elfiamcu target. * config/i386/iamcu.h: New. * config/i386/i386.opt: Add -miamcu. * doc/invoke.texi: Document -miamcu. * common/config/i386/i386-common.c (ix86_handle_option): Turn off x87/MMX/SSE/AVX codegen for -miamcu. * config/i386/i386-c.c (ix86_target_macros_internal): Define __iamcu/__iamcu__ for -miamcu. * config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set to MIN_STACK_BOUNDARY if TARGET_IAMCU is true. (BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true. * config/i386/i386.c (ix86_option_override_internal): Ignore and warn -mregparm for Intel MCU. Turn on -mregparm=3 for Intel MCU by default. Default long double to 64-bit for Intel MCU. Turn on -freg-struct-return for Intel MCU. Issue an error when -miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or AVX is turned on. (function_arg_advance_32): Pass value whose size is no larger than 8 bytes in registers for Intel MCU. (function_arg_32): Likewise. (ix86_return_in_memory): Return value whose size is no larger than 8 bytes in registers for Intel MCU. (iamcu_alignment): New function. (ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is true. (ix86_local_alignment): Don't increase alignment for Intel MCU. (x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is true. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225197 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/vekumar2015-06-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com> * common/config/i386/i386-common.c (OPTION_MASK_ISA_MWAITX_SET): New. (ix86_handle_option): Handle mwaitx. * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h, (x86_64-*-*): Likewise. * config/i386/mwaitxintrin.h: New header. * config/i386/cpuid.h (bit_MWAITX): Define. * config/i386/driver-i386.c (host_detect_local_cpu): Detect MWAITX support. * config/i386/i386.opt (mwaitx): New. * config/i386/i386-builtin-types.def (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type. * config/i386/i386-c.c: Define __MWAITX__ if needed. * config/i386/i386.c (ix86_target_string): Define -mmwaitx option. (PTA_MWAITX): New. (ix86_option_override_internal): Handle new option. (processor_alias_table): Added PTA_MWAITX. (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx. (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX. (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and IX86_BUILTIN_MONITORX built-ins. * config/i386/i386.h (TARGET_MWAITX): New. * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and UNSPEC_MONITORX. (mwaitx): New pattern. (monitorx_<mode>): New pattern. * config/i386/x86intrin.h: Include mwaitxintrin.h. * doc/extend.texi: Document monitorx and mwaitx builtins. * doc/invoke.texi: Document -mmwaitx option. gcc/testsuite 2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com> * gcc.target/i386/monitorx.c: New. * gcc.target/i386/sse-12.c: Add -mmwaitx. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-14.c: Ditto. * gcc.target/i386/sse-22.c: Ditto. * gcc.target/i386/sse-23.c: Ditto. * g++.dg/other/i386-2.C: Ditto. * g++.dg/other/i386-3.C: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224414 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-06-03 Michael Meissner <meissner@linux.vnet.ibm.com>meissner2015-06-031-1/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * config.gcc (powerpc*-*-*): Add support for a new configure option --with-advance-toolchain=<xxx> which overrides using the default header files, libraries and dynamic linker. * config/rs6000/linux64.h (SUBSUBTARGET_EXTRA_SPECS): Add new specs to support the configure --with-advance-toolchain=<xxx> option. (INCLUDE_EXTRA_SPEC): Likewise. (LINK_OS_EXTRA_SPEC32): Likewise. (LINK_OK_EXTRA_SPEC64): Likewise. (LINK_OS_NEW_DTAGS_SPEC): Likewise. (DYNAMIC_LINKER_PREFIX): Likewise. (CPP_OS_DEFAULT_SPEC): Use the new specs for providing advance toolchain support. (GLIBC_DYNAMIC_LINKER32): Likewise. (GLIBC_DYNAMIC_LINKER64): Likewise. (LINK_OS_LINUX_SPEC32): Likewise. (LINK_OS_LINUX_SPEC64): Likewise. * doc/install.texi (--enable-advance-toolchain=<xx>): Document new configuration option. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224095 138bc75d-0d04-0410-961f-82ee72b054a4
* S390: Support -mtune=native and -march=native.krebbel2015-06-011-1/+1
| | | | | | | | | | | | | | | | | | | | | gcc/ChangeLog 2015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com> * config/s390/driver-native.c: New file. * config/s390/x-native: New file. * config.host: Add new files for s390. * config/s390/s390.h (DRIVER_SELF_SPECS): Add support for -mtune=native and -march=native * config.gcc: Likewise. * config/s390/s390.opt (march): Likewise; add PROCESSOR_NATIVE * config/s390/s390-opts.h (enum processor_type): Ditto. * config/s390/s390.c (s390_option_override): Catch unhandled PROCESSOR_NATIVE git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223934 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-05-19 Sandra Loosemore <sandra@codesourcery.com>sandra2015-05-201-0/+1
| | | | | | | | | gcc/ * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all to build a biarch toolchain again. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223418 138bc75d-0d04-0410-961f-82ee72b054a4
* S/390 zvector builtin support.krebbel2015-05-191-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this patch GCC implements an Altivec style set of builtins to make use of vector instructions in C/C++ code. This is provided for compatibility with the IBM XL compiler. gcc/ * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to c_target_objs and cxx_target_objs. Add t-s390 to tmake_file. * config/s390/s390-builtin-types.def: New file. * config/s390/s390-builtins.def: New file. * config/s390/s390-builtins.h: New file. * config/s390/s390-c.c: New file. * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH, CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY. * config/s390/s390-protos.h (s390_expand_vec_compare_cc) (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add prototypes. * config/s390/s390.c (s390-builtins.h, s390-builtins.def): Include. (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types) (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New variable definitions. (s390_const_operand_ok): New function. (s390_expand_builtin): Rewrite. (s390_init_builtins): New function. (s390_handle_vectorbool_attribute): New function. (s390_attribute_table): Add s390_vector_bool attribute. (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU. (s390_branch_condition_mask): Generate masks for new modes. (s390_expand_vec_compare_cc): New function. (s390_mangle_type): Add mangling for vector bool types. (enum s390_builtin): Remove. (s390_atomic_assign_expand_fenv): Rename constants for sfpc and efpc builtins. * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call s390_cpu_cpp_builtins. (REGISTER_TARGET_PRAGMAS): New macro. * config/s390/s390.md: Define more UNSPEC_VEC_* constants. (insn_cmp mode attribute): Add new CC modes. (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc. (lcbb): New pattern definition. * config/s390/s390intrin.h: Include vecintrin.h. * config/s390/t-s390: New file. * config/s390/vecintrin.h: New file. * config/s390/vector.md: Include vx-builtins.md. * config/s390/vx-builtins.md: New file.S/390 zvector builtin support. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223398 138bc75d-0d04-0410-961f-82ee72b054a4
* S/390 Add -march/-mtune=z13 option.krebbel2015-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * common/config/s390/s390-common.c (processor_flags_table): Add z13. * config.gcc: Add z13. * config/s390/s390-opts.h (enum processor_type): Add PROCESSOR_2964_Z13. * config/s390/s390.c (s390_adjust_priority): Check for PROCESSOR_2964_Z13. (s390_reorg): Likewise. (s390_sched_reorder): Likewise. (s390_sched_variable_issue): Likewise. (s390_loop_unroll_adjust): Likewise. (s390_option_override): Likewise. Default to -mvx when available. * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX. (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX) (TARGET_VX_ABI): Define macros. macros. (TARGET_DEFAULT): Add MASK_OPT_VX. * config/s390/s390.md ("cpu" attribute): Add z13. ("cpu_facility" attribute): Add vec. * config/s390/s390.opt (processor_type): Add z13. (mvx): New options. * doc/invoke.texi: Add z13 option for -march. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223393 138bc75d-0d04-0410-961f-82ee72b054a4
* FT32 target added. Approved by Jeff Law [law@redhat.com]jamesbowman2015-05-161-0/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223261 138bc75d-0d04-0410-961f-82ee72b054a4
* [PATCH 2/13] musl libc configktkachov2015-05-081-1/+4
| | | | | | | | | | | | | | | | | | | | | 2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca> Szabolcs Nagy <szabolcs.nagy@arm.com> * config.gcc (LIBC_MUSL): New tm_defines macro. * config/linux.h (OPTION_MUSL): Define. (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,) (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,) (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,) (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,) (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define. * config/linux.opt (mmusl): New option. * doc/invoke.texi (GNU/Linux Options): Document -mmusl. * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*. (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222904 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/48904 x86_64-knetbsd-gnu missing defsaldot2015-05-081-1/+1
| | | | | | | | | | | | | 2015-05-08 H.J. Lu <hongjiu.lu@intel.com> Bernhard Reutner-Fischer <aldot@gcc.gnu.org> PR target/48904 * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h. * config/i386/knetbsd-gnu64.h: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222903 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-05-05 Jack Howarth <howarth.at.gcc@gmail.com>mrs2015-05-051-1/+4
| | | | | | | | | | | * config.gcc: Use darwin9.h, darwin10.h and darwin12.h on darwin12 and later. * config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add file to pass -rdynamic on darwin12 and later. * config/darwin.opt (rdynamic): Add. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222822 138bc75d-0d04-0410-961f-82ee72b054a4