aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
AgeCommit message (Collapse)AuthorFilesLines
2013-10-03config.gcc (hppa*64*-*-linux*): Don't add pa/t-linux to tmake_file.John David Anglin1-1/+0
* config.gcc (hppa*64*-*-linux*): Don't add pa/t-linux to tmake_file. From-SVN: r203148
2013-10-01Configuration bits for ARC port:Joern Rennecke1-1/+63
toplevel: 2013-02-25 Simon Cook <simon.cook@embecosm.com> Changes to build configuration to allow big endian ARC ELF toolchain * configure.ac: Also add target-libgloss to noconfigdirs for arceb-*-*. * configure: Regenerate. gcc: 2013-04-03 Joern Rennecke <joern.rennecke@embecosm.com> Brendan Kehoe <brendan@zen.org> Simon Cook <simon.cook@embecosm.com> * config.gcc (arc*-*-elf*, arc*-*-linux-uclibc*): New configurations. libstdc++-v3: 2012-08-16 Joern Rennecke <joern.rennecke@embecosm.com> * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Also check for _Unwind_SjLj_Register when deciding if to set enable_sjlj_exceptions. * configure: Regenerate. contrib: 2013-09-05 Joern Rennecke <joern.rennecke@embecosm.com> * config-list.mk: Add arc configurations. From-SVN: r203070
2013-09-13c-target.def: New hookJacek Caban1-1/+4
2013-09-13 Jacek Caban <jacek@codeweavers.com> * c-target.def: New hook gcc/ChangeLog: 2013-09-13 Jacek Caban <jacek@codeweavers.com> * config.gcc: Use new winnt-c.c target hooks * config/t-winnt: New file * config/winnt-c.c: New file * doc/tm.texi.in: Document new hook * doc/tm.texi: Regenerated gcc/cp/Changelog: 2013-09-13 Jacek Caban <jacek@codeweavers.com> * decl.c: Use new cxx_implicit_extern_c hook gcc/testsuite/ChangeLog: 2013-09-13 Jacek Caban <jacek@codeweavers.com> * g++.dg/abi/main.C: Added implicit C linkage tests From-SVN: r202573
2013-09-13config.gcc: Separate cases for mingw and cygwin targets, and add 64-bit ↵Kai Tietz1-1/+3
cygwin target case. * config.gcc: Separate cases for mingw and cygwin targets, and add 64-bit cygwin target case. From-SVN: r202556
2013-09-12MAINTAINERS: Add Nick Clifton and DJ Delorie as msp430 maintainers.DJ Delorie1-0/+7
* MAINTAINERS: Add Nick Clifton and DJ Delorie as msp430 maintainers. [gcc] * config/msp430/: New port. * config.gcc (msp430): Added. * doc/invoke.texi: Document MSP430 options. * doc/install.texi: Document msp430-elf * doc/md.texi: Document msp430-elf * doc/contrib.texi: Document msp430-elf [libgcc] * config.host (msp*-*-elf): New. * config/msp430/: New port. [contrib] * config-list.mk: Add msp430-elf. From-SVN: r202535
2013-09-05* config.gcc (*-*-vxworks*): Do not override an existing extra_objs.Eric Botcazou1-1/+1
From-SVN: r202284
2013-09-05linux64.h: Define OPTION_BIONIC and OPTION_UCLIBC.Alexander Ivchenko1-2/+2
* config/rs6000/linux64.h: Define OPTION_BIONIC and OPTION_UCLIBC. * config/rs6000/linux.h: Ditto. * alpha/linux.h: Ditto. * config/bfin/uclinux.h: Define TARGET_LIBC_HAS_FUNCTION as no_c99_libc_has_function. * config/c6x/uclinux-elf.h: Ditto. * config/lm32/uclinux-elf.h: Ditto. * config/m68k/uclinux.h: Ditto. * config/moxie/uclinux.h: Ditto. * config.gcc (bfin*-linux-uclibc*): Add t-linux-android to tmake_file. (crisv32-*-linux*, cris-*-linux*): Ditto. * config/bfin/bfin.c: Include "tm_p.h". From-SVN: r202274
2013-09-03config.gcc (powerpc*-*-linux*): Add support for little-endian multilibs to ↵Alan Modra1-1/+14
big-endian target and vice versa. * config.gcc (powerpc*-*-linux*): Add support for little-endian multilibs to big-endian target and vice versa. * config/rs6000/t-linux64: Use := assignment on all vars. (MULTILIB_EXTRA_OPTS): Remove fPIC. (MULTILIB_OSDIRNAMES): Specify using mapping from multilib_options. * config/rs6000/t-linux64le: New file. * config/rs6000/t-linux64bele: New file. * config/rs6000/t-linux64lebe: New file. From-SVN: r202190
2013-08-13* config.gcc: (avr-linux): Allow for tmake_file not being empty.Nick Clifton1-1/+1
From-SVN: r201690
2013-08-12* config.gcc (m32r-linux): Allow for tmake_file not being empty.Nick Clifton1-4/+2
From-SVN: r201664
2013-08-09configure.ac: Add GAS check for LEON instructions on SPARC.Eric Botcazou1-4/+11
* configure.ac: Add GAS check for LEON instructions on SPARC. * configure: Regenerate. * config.in: Likewise. * config.gcc (with_cpu): Remove sparc-leon*-* and deal with LEON in the sparc*-*-* block. * config/sparc/sparc.opt (LEON, LEON3): New masks. * config/sparc/sparc.h (ASM_CPU32_DEFAULT_SPEC): Set to AS_LEON_FLAG for LEON or LEON3. (ASM_CPU_SPEC): Pass AS_LEON_FLAG if -mcpu=leon or -mcpu=leon3. (AS_LEON_FLAG): New macro. * config/sparc/sparc.c (sparc_option_override): Set MASK_LEON for leon and MASK_LEON3 for leon3 and unset them if HAVE_AS_LEON is not defined. Deal with LEON and LEON3 for the memory model. * config/sparc/sync.m (atomic_compare_and_swap<mode>): Enable for LEON3 (atomic_compare_and_swap<mode>_1): Likewise. (*atomic_compare_and_swap<mode>_1): Likewise. From-SVN: r201622
2013-08-01config.gcc (aarch64*-*-*): Add aarch-common.o to extra_objs.Sofiane Naci1-1/+2
* config.gcc (aarch64*-*-*): Add aarch-common.o to extra_objs. Add aarch-common-protos.h to extra_headers. (aarch64*-*-*): Add arm/aarch-common-protos.h to tm_p_file. * config/aarch64/aarch64.md: Include "../arm/cortex-a53.md" * config/aarch64/t-aarch64 (aarch-common.o): Define. From-SVN: r201400
2013-07-31config.gcc (arm*-*-*): Add aarch-common.o to extra_objs.Sofiane Naci1-1/+6
* config.gcc (arm*-*-*): Add aarch-common.o to extra_objs. Add aarch-common-protos.h to extra_headers. (arm*-*-*): Add arm/aarch-common-protos.h to tm_p_file. * config/arm/arm.c (arm_early_load_addr_dep): Move from here to ... (arm_early_store_addr_dep): Likewise. (arm_no_early_alu_shift_dep: Likewise. (arm_no_early_alu_shift_value_dep: Likewise. (arm_no_early_mul_dep: Likewise. (arm_no_early_store_addr_dep: Likewise. (arm_mac_accumulator_is_mul_result: Likewise. (arm_mac_accumulator_is_result: Likewise. * config/arm/aarch-common.c: ... here. New file. * config/arm/arm-protos.h (arm_early_load_addr_dep): Move from here to ... (arm_early_store_addr_dep): Likewise. (arm_no_early_alu_shift_dep: Likewise. (arm_no_early_alu_shift_value_dep: Likewise. (arm_no_early_mul_dep: Likewise. (arm_no_early_store_addr_dep: Likewise. (arm_mac_accumulator_is_mul_result: Likewise. (arm_mac_accumulator_is_result: Likewise. * config/arm/aarch-common-protos.h: ... here. New file. * config/arm/t-arm (aarch-common.o): Define. From-SVN: r201376
2013-07-31config.gcc (*-*-rtems*): Use __cxa_atexit by default.Sebastian Huber1-0/+1
2013-07-31 Sebastian Huber <sebastian.huber@embedded-brains.de> * config.gcc (*-*-rtems*): Use __cxa_atexit by default. * config/rs6000/rtems.h (TARGET_LIBGCC_SDATA_SECTION): Define. From-SVN: r201370
2013-07-30config.gcc (arm): Require 64-bit host-wide-int for all ARM target configs.Richard Earnshaw1-12/+1
* config.gcc (arm): Require 64-bit host-wide-int for all ARM target configs. From-SVN: r201342
2013-07-29linux.h (GLIBC_DYNAMIC_LINKER): Handle `-mnan=2008'.Maciej W. Rozycki1-2/+12
gcc/ * config/mips/linux.h (GLIBC_DYNAMIC_LINKER): Handle `-mnan=2008'. (UCLIBC_DYNAMIC_LINKER): New macro. * config/mips/linux64.h (GLIBC_DYNAMIC_LINKER32): Handle `-mnan=2008'. (GLIBC_DYNAMIC_LINKER64, GLIBC_DYNAMIC_LINKERN32): Likewise. (UCLIBC_DYNAMIC_LINKER32): Undefine macro first. Handle `-mnan=2008'. (UCLIBC_DYNAMIC_LINKER64): Redefine macro. (UCLIBC_DYNAMIC_LINKERN32): Likewise. * config/mips/mips-modes.def: Remove RESET_FLOAT_FORMAT calls for SF and DF modes. Use ieee_quad_format for TF mode. * config/mips/mips-opts.h (mips_ieee_754_setting): New enum. * config/mips/mips.c (mips_file_start): Output a `.nan' directive. (mips_option_override): Handle `-mnan=legacy'. * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Handle `-mabs=2008' and `-mnan=2008'. (OPTION_DEFAULT_SPECS): Add "nan" default. (ASM_SPEC): Handle `-mnan='. [!HAVE_AS_NAN] (HAVE_AS_NAN): New macro. * config/mips/mips.md (abs<mode>2): Handle `-mabs=2008', update comment accordingly. (neg<mode>2): Likewise. * config/mips/mips.opt (mabs, mnan): New options. * doc/install.texi (Configuration): Document `--with-nan=' option. * doc/invoke.texi (Option Summary): List MIPS `-mabs=' and `-mnan=' options. (MIPS Options): Document them. * config.gcc <mips*-*-*>: Handle `--with-nan='. * configure.ac <mips*-*-*>: Check for GAS `-mnan=2008' support. * configure: Regenerate. * config.in: Regenerate. gcc/testsuite/ * gcc.target/mips/fabs-2008.c: New test case. * gcc.target/mips/fabs-legacy.c: New test case. * gcc.target/mips/fabsf-2008.c: New test case. * gcc.target/mips/fabsf-legacy.c: New test case. * gcc.target/mips/fneg-2008.c: New test case. * gcc.target/mips/fneg-legacy.c: New test case. * gcc.target/mips/fneg-2008.c: New test case. * gcc.target/mips/fneg-legacy.c: New test case. * gcc.target/mips/nan-2008.c: New test case. * gcc.target/mips/nan-legacy.c: New test case. * gcc.target/mips/nanf-2008.c: New test case. * gcc.target/mips/nanf-legacy.c: New test case. * gcc.target/mips/nans-2008.c: New test case. * gcc.target/mips/nans-legacy.c: New test case. * gcc.target/mips/nansf-2008.c: New test case. * gcc.target/mips/nansf-legacy.c: New test case. * gcc.target/mips/mips.exp: Handle `-mabs=' and `-mnan='. From-SVN: r201313
2013-07-25config.gcc (hppa-*-openbsd*): Don't set tmake_file.Mark Kettenis1-1/+0
* config.gcc (hppa-*-openbsd*): Don't set tmake_file. From-SVN: r201247
2013-07-23[AArch64, ILP32] 1/6 Initial support - configury changesYufeng Zhang1-1/+55
gcc/ * config.gcc (aarch64*-*-*): Support --with-abi. (aarch64*-*-elf): Support --with-multilib-list. (aarch64*-*-linux*): Likewise. (supported_defaults): Add abi to aarch64*-*-*. * configure.ac: Mention AArch64 for --with-multilib-list. * configure: Re-generated. * config/aarch64/biarchilp32.h: New file. * config/aarch64/biarchlp64.h: New file. * config/aarch64/aarch64-elf.h (ENDIAN_SPEC): New define. (ABI_SPEC): Ditto. (MULTILIB_DEFAULTS): Ditto. (DRIVER_SELF_SPECS): Ditto. (ASM_SPEC): Update to also substitute -mabi. * config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Add linker script file whose name depends on -mabi= and -mbig-endian. * config/aarch64/aarch64.h (LONG_TYPE_SIZE): Change to depend on TARGET_ILP32. (POINTER_SIZE): New define. (POINTERS_EXTEND_UNSIGNED): Ditto. (enum aarch64_abi_type): New enumeration tag. (AARCH64_ABI_LP64, AARCH64_ABI_ILP32): New enumerators. (AARCH64_ABI_DEFAULT): Define to AARCH64_ABI_LP64 if undefined. (TARGET_ILP32): New define. * config/aarch64/aarch64.opt (mabi): New. (aarch64_abi): New. (ilp32, lp64): New values for -mabi. * config/aarch64/t-aarch64 (comma): New define. (MULTILIB_OPTIONS): Ditto. (MULTILIB_DIRNAMES): Ditto. * config/aarch64/t-aarch64-linux (MULTIARCH_DIRNAME): New define. * doc/invoke.texi: Document -mabi for AArch64. From-SVN: r201164
2013-07-22config.gcc (sparc*-*-*): Accept leon3 processor.Eric Botcazou1-10/+12
* config.gcc (sparc*-*-*): Accept leon3 processor. (sparc-leon*-*): Merge with sparc*-*-* and add leon3 support. * doc/invoke.texi (SPARC Options): Adjust -mfix-ut699 entry. * config/sparc/sparc-opts.h (enum processor_type): Add PROCESSOR_LEON3. * config/sparc/sparc.opt (enum processor_type): Add leon3. (mfix-ut699): Adjust comment. * config/sparc/sparc.h (TARGET_CPU_leon3): New define. (CPP_CPU32_DEFAULT_SPEC): Add leon3 support. (CPP_CPU_SPEC): Likewise. (ASM_CPU_SPEC): Likewise. * config/sparc/sparc.c (leon3_cost): New constant. (sparc_option_override): Add leon3 support. (mem_ref): New function. (sparc_gate_work_around_errata): Return true if -mfix-ut699 is enabled. (sparc_do_work_around_errata): Look into the instruction in the delay slot and adjust accordingly. Add fix for the data cache nullify issues of the UT699. Change insertion position for the NOP. * config/sparc/leon.md (leon_fpalu, leon_fpmds, write_buf): Delete. (leon3_load): New reservation. (leon_store): Bump latency to 2. (grfpu): New automaton. (grfpu_alu): New unit. (grfpu_ds): Likewise. (leon_fp_alu): Adjust. (leon_fp_mult): Delete. (leon_fp_div): Split into leon_fp_divs and leon_fp_divd. (leon_fp_sqrt): Split into leon_fp_sqrts and leon_fp_sqrtd. * config/sparc/sparc.md (cpu): Add leon3. * config/sparc/sync.md (atomic_exchangesi): Disable if -mfix-ut699. (swapsi): Likewise. (atomic_test_and_set): Likewise. (ldstub): Likewise. From-SVN: r201147
2013-07-22config.gcc (mips*-*-*): Add --with-fpu support.Jürgen Urban1-1/+21
gcc/ 2013-07-26 Jürgen Urban <JuergenUrban@gmx.de> * config.gcc (mips*-*-*): Add --with-fpu support. Make single the default for R5900 targets. * config/mips/mips.h (OPTION_DEFAULT_SPECS): Handle --with-fpu. (ISA_HAS_LDC1_SDC1): Set to false for TARGET_MIPS5900. * config/mips/mips.c (mips_option_override): Report an error for -march=r5900 -mhard-float -mdouble-float. Use spu_single_format for -march=r5900 -mhard-float. From-SVN: r201143
2013-07-15acinclude.m4 (LIBITM_CHECK_AS_HTM): New.Peter Bergner1-1/+1
libitm/ * acinclude.m4 (LIBITM_CHECK_AS_HTM): New. * configure.ac: Use it. (AC_CHECK_HEADERS): Check for sys/auxv.h. (AC_CHECK_FUNCS): Check for getauxval. * config.h.in, configure: Rebuild. * configure.tgt (target_cpu): Add -mhtm to XCFLAGS. * config/powerpc/target.h: Include sys/auxv.h and htmintrin.h. (USE_HTM_FASTPATH): Define. (_TBEGIN_STARTED, _TBEGIN_INDETERMINATE, _TBEGIN_PERSISTENT, _HTM_RETRIES) New macros. (htm_abort, htm_abort_should_retry, htm_available, htm_begin, htm_init, htm_begin_success, htm_commit, htm_transaction_active): New functions. gcc/ * config.gcc (powerpc*-*-*): Install htmintrin.h and htmxlintrin.h. * config/rs6000/t-rs6000 (MD_INCLUDES): Add htm.md. * config/rs6000/rs6000.opt: Add -mhtm option. * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add OPTION_MASK_HTM. (ISA_2_7_MASKS_SERVER): Add OPTION_MASK_HTM. * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define __HTM__ if the HTM instructions are available. * config/rs6000/predicates.md (u3bit_cint_operand, u10bit_cint_operand, htm_spr_reg_operand): New define_predicates. * config/rs6000/rs6000.md (define_attr "type"): Add htm. (TFHAR_REGNO, TFIAR_REGNO, TEXASR_REGNO): New define_constants. Include htm.md. * config/rs6000/rs6000-builtin.def (BU_HTM_0, BU_HTM_1, BU_HTM_2, BU_HTM_3, BU_HTM_SPR0, BU_HTM_SPR1): Add support macros for defining HTM builtin functions. * config/rs6000/rs6000.c (RS6000_BUILTIN_H): New macro. (rs6000_reg_names, alt_reg_names): Add HTM SPR register names. (rs6000_init_hard_regno_mode_ok): Add support for HTM instructions. (rs6000_builtin_mask_calculate): Likewise. (rs6000_option_override_internal): Likewise. (bdesc_htm): Add new HTM builtin support. (htm_spr_num): New function. (htm_spr_regno): Likewise. (rs6000_htm_spr_icode): Likewise. (htm_expand_builtin): Likewise. (htm_init_builtins): Likewise. (rs6000_expand_builtin): Add support for HTM builtin functions. (rs6000_init_builtins): Likewise. (rs6000_invalid_builtin, rs6000_opt_mask): Add support for -mhtm option. * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add support for -mhtm. (TARGET_HTM, MASK_HTM): Define macros. (FIRST_PSEUDO_REGISTER): Adjust for new HTM SPR registers. (FIXED_REGISTERS): Likewise. (CALL_USED_REGISTERS): Likewise. (CALL_REALLY_USED_REGISTERS): Likewise. (REG_ALLOC_ORDER): Likewise. (enum reg_class): Likewise. (REG_CLASS_NAMES): Likewise. (REG_CLASS_CONTENTS): Likewise. (REGISTER_NAMES): Likewise. (ADDITIONAL_REGISTER_NAMES): Likewise. (RS6000_BTC_SPR, RS6000_BTC_VOID, RS6000_BTC_32BIT, RS6000_BTC_64BIT, RS6000_BTC_MISC_MASK, RS6000_BTM_HTM): New macros. (RS6000_BTM_COMMON): Add RS6000_BTM_HTM. * config/rs6000/htm.md: New file. * config/rs6000/htmintrin.h: New file. * config/rs6000/htmxlintrin.h: New file. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_powerpc_htm_ok): New function to test if HTM is available. * gcc.target/powerpc/htm-xl-intrin-1.c: New test. * gcc.target/powerpc/htm-builtin-1.c: New test. From-SVN: r200960
2013-06-27gcc/Richard Sandiford1-3/+3
* config.gcc (mips*-mti-elf*, mips*-sde-elf*, mips64r5900-*-elf*) (mips64r5900el-*-elf*): Include mips/n32-elf.h. * config/mips/sde.h (LOCAL_LABEL_PREFIX, NO_DOLLAR_IN_LABEL) (LONG_DOUBLE_TYPE_SIZE, LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move to... * config/mips/n32-elf.h: ...this new file. From-SVN: r200496
2013-06-27s390.c: Rename UNSPEC_CCU_TO_INT to UNSPEC_STRCMPCC_TO_INT and ↵Andreas Krebbel1-0/+1
UNSPEC_CCZ_TO_INT to... 2013-06-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/s390.c: Rename UNSPEC_CCU_TO_INT to UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to UNSPEC_CC_TO_INT. (struct machine_function): Add tbegin_p. (s390_canonicalize_comparison): Fold CC mode compares to conditional jump if possible. (s390_emit_jump): Return the emitted jump. (s390_branch_condition_mask, s390_branch_condition_mnemonic): Handle CCRAWmode compares. (s390_option_override): Default to -mhtm if available. (s390_reg_clobbered_rtx): Handle floating point regs as well. (s390_regs_ever_clobbered): Use s390_regs_ever_clobbered also for FPRs instead of df_regs_ever_live_p. (s390_optimize_nonescaping_tx): New function. (s390_init_frame_layout): Extend clobbered_regs array to cover FPRs as well. (s390_emit_prologue): Call s390_optimize_nonescaping_tx. (s390_expand_tbegin): New function. (enum s390_builtin): New enum definition. (code_for_builtin): New array definition. (s390_init_builtins): New function. (s390_expand_builtin): New function. (TARGET_INIT_BUILTINS): Define. (TARGET_EXPAND_BUILTIN): Define. * common/config/s390/s390-common.c (processor_flags_table): Add PF_TX. * config/s390/predicates.md (s390_comparison): Handle CCRAWmode. (s390_alc_comparison): Likewise. * config/s390/s390-modes.def: Add CCRAWmode. * config/s390/s390.h (processor_flags): Add PF_TX. (TARGET_CPU_HTM): Define macro. (TARGET_HTM): Define macro. (TARGET_CPU_CPP_BUILTINS): Define __HTM__ for htm. * config/s390/s390.md: Rename UNSPEC_CCU_TO_INT to UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to UNSPEC_CC_TO_INT. (UNSPECV_TBEGIN, UNSPECV_TBEGINC, UNSPECV_TEND, UNSPECV_TABORT) (UNSPECV_ETND, UNSPECV_NTSTG, UNSPECV_PPA): New unspecv enum values. (TBEGIN_MASK, TBEGINC_MASK): New constants. ("*cc_to_int"): Move up. ("*mov<mode>cc", "*cjump_64", "*cjump_31"): Accept integer constants other than 0. ("*ccraw_to_int"): New insn and splitter definition. ("tbegin", "tbegin_nofloat", "tbegin_retry") ("tbegin_retry_nofloat", "tbeginc", "tend", "tabort") ("tx_assist"): New expander. ("tbegin_1", "tbegin_nofloat_1", "*tbeginc_1", "*tend_1") ("*tabort_1", "etnd", "ntstg", "*ppa"): New insn definition. * config/s390/s390.opt: Add -mhtm option. * config/s390/s390-protos.h (s390_emit_jump): Add return type. * config/s390/htmxlintrin.h: New file. * config/s390/htmintrin.h: New file. * config/s390/s390intrin.h: New file. * doc/extend.texi: Document htm builtins. * config.gcc: Add the new header files to extra_headers. 2013-06-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * gcc.target/s390/htm-1.c: New file. * gcc.target/s390/htm-nofloat-1.c: New file. * gcc.target/s390/htm-xl-intrin-1.c: New file. 2013-06-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/target.h: Include htmintrin.h. (_HTM_ITM_RETRIES): New macro definition. (htm_available, htm_init, htm_begin, htm_begin_success) (htm_commit, htm_abort, htm_abort_should_retry): New functions. From-SVN: r200454
2013-06-16gcc/Richard Sandiford1-19/+31
* config.gcc (mips*-mti-linux*, mips64*-*-linux*, mipsisa64*-*-linux*) (mips*-*-linux*): Move default with_llsc setting to where other defaults are set. (mips*-*-vxworks*): Move with_arch default from with_cpu block to with_arch block. (mips64r5900-*-*, mips64r5900el-*-*, mipsr5900-*-*, mipsr5900el-*-*): Likewise. Remove default with_tune setting. Move default float setting to its own block. Handle with_llsc in the same block as above. From-SVN: r200139
2013-06-04gcc/Jürgen Urban1-1/+19
2013-06-03 Jürgen Urban <JuergenUrban@gmx.de> * config.gcc (mipsr5900-*-elf*, mipsr5900el-*-elf*, mips64r5900-*-elf*) (mips64r5900el-*-elf*): New configurations. * config/mips/mips-cpus.def (r5900): New processor. * config/mips/mips-tables.opt: Regenerate. * config/mips/mips.c (mips_rtx_cost_data): Add an R5900 entry. (mips_issue_rate): Handle PROCESSOR_R5900. (mips_reorg_process_insns): Force reorder mode for the R5900. * config/mips/mips.h (TARGET_MIPS5900): Define. (ISA_HAS_CONDMOVE, ISA_HAS_PREFETCH, ISA_HAS_HILO_INTERLOCKS): Include TARGET_MIPS5900. (ISA_HAS_LOAD_DELAY, ISA_HAS_XFER_DELAY, ISA_HAS_FCMP_DELAY): Exclude TARGET_MIPS5900. * config/mips/mips.md (processor): Add r5900. (MOVECC): Disallow CCmode conditions for TARGET_MIPS5900. libgcc/ 2013-06-03 Jürgen Urban <JuergenUrban@gmx.de> * config.host (mipsr5900-*-elf*, mipsr5900el-*-elf*, mips64r5900-*-elf*) (mips64r5900el-*-elf*): New configurations. From-SVN: r199666
2013-06-03gcc/Richard Sandiford1-4/+0
* config.gcc (mipsisa64sr71k-*-elf*, mipsisa64sb1-*-elf*) (mipsisa64sb1el-*-elf*, mips64-*-elf*, mips64el-*-elf*) (mips64orion-*-elf*, mips64orionel-*-elf*): Remove target_cpu_default setting. From-SVN: r199624
2013-05-30Silvermont (SLM) architecture pipeline model, tuning and insn selection.Yuri Rumyantsev1-7/+15
Silvermont (SLM) architecture pipeline model, tuning and insn selection. * config.gcc: Add slm config options and target. * config/i386/slm.md: New. * config/i386/driver-i386.c (host_detect_local_cpu): Check movbe. * gcc/config/i386/i386-c.c (ix86_target_macros_internal): New case PROCESSOR_SLM. (ix86_target_macros_internal): Likewise. * gcc/config/i386/i386.c (slm_cost): New cost. (m_SLM): New macro flag. (initial_ix86_tune_features): Set m_SLM. (x86_accumulate_outgoing_args): Likewise. (x86_arch_always_fancy_math_387): Likewise. (processor_target_table): Add slm cost. (cpu_names): Add slm cpu name. (x86_option_override_internal): Set SLM ISA. (ix86_issue_rate): New case PROCESSOR_SLM. (ia32_multipass_dfa_lookahead): Likewise. (fold_builtin_cpu): Add slm. * config/i386/i386.h (TARGET_SLM): New target macro. (target_cpu_default): Add TARGET_CPU_DEFAULT_slm. (processor_type): Add PROCESSOR_SLM. * config/i386/i386.md (cpu): Add new value "slm". (slm.md): Include slm.md. * libgcc/config/i386/cpuinfo.c (INTEL_SLM): New enum value. Co-Authored-By: Igor Zamyatin <igor.zamyatin@intel.com> From-SVN: r199444
2013-05-24config.gcc (powerpc-*): Allow native for with-cpu.Nathan Sidwell1-1/+1
2013-05-24 Nathan Sidwell <nathan@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> gcc/ * config.gcc (powerpc-*): Allow native for with-cpu. Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r199308
2013-05-16Obsolete Solaris 9 supportRainer Orth1-0/+1
gcc: * config.gcc: Obsolete *-*-solaris2.9*. * doc/install.texi (Specific, *-*-solaris2*): Document it. contrib: * config-list.mk (LIST): Add -enable-obsolete for sparc-sun-solaris2.9, i686-solaris2.9. From-SVN: r198969
2013-05-05config.gcc (hppa*-*-*): Remove MASK_BIG_SWITCH from CPU default.Steven Bosscher1-2/+1
* config.gcc (hppa*-*-*): Remove MASK_BIG_SWITCH from CPU default. * config/pa/pa.opt: Make mbig-switch a no-op. * config/pa/pa.h (TARGET_DEFAULT): Remove MASK_BIG_SWITCH. (CASE_VECTOR_MODE): Always return SImode. (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Remove code for the !TARGET_BIG_SWITCH case. * config/pa/pa-linux.h: Likewise. * config/pa/pa-openbsd.h: Likewise. * config/pa/pa-hpux.h: Define TARGET_DEFAULT to 0. * config/pa/pa.md (short_jump): Remove define_insn. (casesi): Remove code for the !TARGET_BIG_SWITCH case. (casesi0): Remove define_insn. (type): Remove btable_branch. (pa_combine_type): Likewise. (in_nullified_branch_delay): Likewise. (in_call_delay): Likewise. (define_delay): Likewise. (define_insn_reservation "Z3"): Likewise. (define_insn_reservation "Z4"): Likewise. * config/pa/pa.c (pa_reorg): Remove code for !TARGET_BIG_SWITCH. (pa_adjust_insn_length): Remove adjustment for btable branches. * doc/invoke.texi (HPPA Options): Delete documentation for mbig-switch and mno-big-switch Co-Authored-By: John David Anglin <dave.anglin@nrc-cnrc.gc.ca> From-SVN: r198612
2013-04-25config.host: Match little-endian powerpc-linux.Alan Modra1-4/+8
libgcc/ * config.host: Match little-endian powerpc-linux. gcc/ * config.gcc: Support little-endian powerpc-linux targets. * config/rs6000/linux.h (LINK_OS_LINUX_EMUL): Define. (LINK_OS_LINUX_SPEC): Define. * config/rs6000/linuxspe.h (TARGET_DEFAULT): Preserve MASK_LITTLE_ENDIAN. * config/rs6000/default64.h (TARGET_DEFAULT): Likewise. * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Likewise. * config/rs6000/linux64.h (OPTION_LITTLE_ENDIAN): Don't zero. (LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Define. (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Use above. * config/rs6000/rs6000.c (output_toc): Don't use .tc for TARGET_ELF. Correct fp word order for little-endian. Don't shift toc entries smaller than a word for little-endian. * config/rs6000/rs6000.md (bswaphi2, bswapsi2 split): Comment. (bswapdi2 splits): Correct low-part subreg for little-endian. Remove wrong BYTES_BIG_ENDIAN tests, and rename vars to remove low/high where such is correct only for be. * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Allow little-endian for -mcall-aixdesc. From-SVN: r198273
2013-04-22config.gcc (tilegx-linux): Extend extra_objs rather than overwriting it.Nick Clifton1-2/+2
* config.gcc (tilegx-linux): Extend extra_objs rather than overwriting it. (tilepro-linux): Likewise. From-SVN: r198138
2013-04-02config.gcc (arm*-*-linux-*): Remove duplicate t-linux-android.Alexander Ivchenko1-1/+1
* config.gcc (arm*-*-linux-*): Remove duplicate t-linux-android. From-SVN: r197358
2013-03-27config.build: Add support for cygwin x64 target.Kai Tietz1-0/+16
* config.build: Add support for cygwin x64 target. * config.gcc: Likewise. * config.host: Likewise. * configure.ac: Likewise * configure: Regenerated. From-SVN: r197171
2013-03-27target.def (TARGET_HAS_IFUNC_P): New target hook.Alexander Ivchenko1-2/+6
* gcc/target.def (TARGET_HAS_IFUNC_P): New target hook. * gcc/doc/tm.texi.in (TARGET_HAS_IFUNC_P): New. * gcc/doc/tm.texi: Regenerate. * gcc/targhooks.h (default_has_ifunc_p): New. * gcc/targhooks.c (default_has_ifunc_p): Ditto. * gcc/config/linux-protos.h: New file. * gcc/config/linux-android.h (TARGET_HAS_IFUNC_P): Using version of this hook for linux which disables support of indirect functions in android. * gcc/config/linux-android.c: New file. * gcc/config/t-linux-android.c: Ditto. * gcc/config.gcc: Added new object file linux-android.o. * gcc/config/i386/i386.c (ix86_get_function_versions_dispatcher): Using TARGET_HAS_IFUNC hook instead of HAVE_GNU_INDIRECT_FUNCTION. * gcc/varasm.c (do_assemble_alias): Likewise. * configure.ac: Define HAVE_GNU_INDIRECT_FUNCTION as zero if the target doesn't support indirect functions. * configure: Regenerate. From-SVN: r197156
2013-03-13re PR plugins/45078 (config/vxworks-dummy.h not installed as a plugin header ↵Jakub Jelinek1-4/+7
on some archs) PR plugins/45078 * config.gcc: On arm, mips, sh and sparc add vxworks-dummy.h to tm_file. From-SVN: r196629
2013-03-06re PR target/56529 ([SH] Calls to __sdivsi3_i4i and __udivsi3_i4i are ↵Oleg Endo1-1/+1
generated on SH2) PR target/56529 * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT instead of TARGET_SH2 for call-table case. Do not set sh_div_strategy to SH_DIV_CALL_TABLE for TARGET_SH2. * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib list. * doc/invoke.texi (SH options): Document mdiv= call-div1, call-fp, call-table options. PR target/56529 * config/sh/lib1funcs.S (udivsi3_i4i, sdivsi3_i4i): Add __SH2A__ to inclusion list. From-SVN: r196484
2013-02-22config.gcc (arm*-*-eabi*): Treat arm*eb as big-endian.Seth LaForge1-0/+4
2013-02-22 Seth LaForge <sethml@google.com> * config.gcc (arm*-*-eabi*): Treat arm*eb as big-endian. From-SVN: r196221
2013-02-08config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULTEdgar E. Iglesias1-0/+17
gcc: * config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT (microblaze*-*-elf): Likewise * config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to LINK_SPEC * config/microblaze/microblaze-c.c: Add builtin defines for _LITTLE_ENDIAN and _BIG_ENDIAN * config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and add to TARGET_DEFAULT flags. Expand ASM_SPEC and LINK_SPEC. Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN * config/microblaze/microblaze.md: Update extendsidi2 and movdi_internal instructions to use low-order / high-order reg print_operands * config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian options and inversemask / mask of LITTLE_ENDIAN * config/microblaze/t-microblaze: Expand multilib options to include mlittle- endian (le) and update exceptions patterns gcc/testsuite: * 20101011-1.c: Add __MICROBLAZE__ exception to set DO_TEST 0 From-SVN: r195893
2013-01-31lib1funcs.S: Add support for e3v5 architecture variant.Nick Clifton1-2/+5
* config/v850/lib1funcs.S: Add support for e3v5 architecture variant. * config/v850/constraints.md (Q): Define as a memory constraint. * config/v850/predicates.md (label_ref_operand): New predicate. (e3v5_shift_operand): New predicate. (ior_operator): New predicate. * config/v850/t-v850: Add e3v5 multilib. * config/v850/v850-protos.h (v850_adjust_insn_length): Prototype. (v850_gen_movdi): Prototype. * config/v850/v850.c: Add support for e3v5 architecture. Rename all uses of TARGET_V850E || TARGET_V850E2_ALL to TARGET_V850E_UP. (construct_save_jarl): Add e3v5 long JARL support. (v850_adjust_insn_length): New function. Adjust length of call insns when using e3v5 instructions. (v850_gen_movdi): New function: Generate instructions to move a DImode value. * config/v850/v850.h (TARGET_CPU_v850e3v5): Define. (CPP_SPEC): Define __v850e3v5__ as appropriate. (TARGET_USE_FPU): Enable for e3v5. (CONST_OK_FOR_W): New macro. (ADJUST_INSN_LENGTH): Define. * config/v850/v850.md (UNSPEC_LOOP): Define. (attr cpu): Add v850e3v5. Rename all uses of TARGET_V850E2 to TARGET_V850E2V3_UP. (movdi): New pattern. (movdi_internal): New pattern. (cbranchsf4): Conditionalize on TARGET_USE_FPU. (cbranchdf4): Conditionalize on TARGET_USE_FPU. (cstoresf4): Likewise. (cstoredf4): Likewise. (insv): New pattern. (rotlso3_a): New pattern. (rotlsi3_b): New pattern (rotlsi3_v850e3v5): New pattern. (doloop_begin): New pattern. (fix_loop_counter): New pattern. (doloop_end): New pattern. (branch_normal): Add e3v5 long branch support. (branch_invert): Likewise. (branch_z_normal): Likewise. (branch_z_invert): Likewise. (branch_nz_normal): Likewise. (branch_nz_invert): Likewise. (call_internal_short): Add e3v5 register-indirect JARL support. (call_internal_long): Likewise. (call_value_internal_short): Likewise. (call_value_internal_long): Likewise. * config/v850/v850.opt (mv850e3v5, mv850e2v4): New options. (mloop): New option. * config.gcc: Add support for configuring v840e3v5 target. * doc/invoke.texi: Document new v850 specific command line options. From-SVN: r195623
2013-01-28config.gcc (i[34567]86-*-rdos*, [...]): New targets.Leif Ekblad1-0/+10
* config.gcc (i[34567]86-*-rdos*, x86_64-*-rdos*): New targets. * config/i386/i386.h (TARGET_RDOS): New macro. (DEFAULT_LARGE_SECTION_THRESHOLD): New macro. * config/i386/i386.c (ix86_option_override_internal): For 64bit TARGET_RDOS, set ix86_cmodel to CM_MEDIUM_PIC and flag_pic to 1. * config/i386/i386.opt (mlarge-data-threshold): Initialize to DEFAULT_LARGE_SECTION_THRESHOLD. * config/i386/i386.md (R14_REG, R15_REG): New constants. * config/i386/rdos.h: New file. * config/i386/rdos64.h: New file. From-SVN: r195516
2013-01-26gcc: PR target/54663David Holsgrove1-0/+2
gcc: PR target/54663 * config.gcc (microblaze*-linux*): Add tmake_file to allow building of microblaze-c.o. libgcc: * config.host(microblaze*-linux*): tmake_file: Remove t-slibgcc-nolc-override, add t-slibgcc-libgcc. * config/microblaze/t-microblaze: Set LIB2FUNCS_EXCLUDE to exclude functions from being built with libgcc.c and use the microblaze assembly. From-SVN: r195488
2013-01-26gcc/config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update tm_file.Edgar E. Iglesias1-3/+3
libgcc/config.host (microblaze*-*-*): Rename microblaze*-*-elf, update extra_parts. From-SVN: r195487
2013-01-10Update copyright years in gcc/Richard Sandiford1-2/+1
From-SVN: r195098
2012-11-21t-linux: New file; define MULTIARCH_DIRNAME.Matthias Klose1-0/+1
2012-11-21 Matthias Klose <doko@ubuntu.com> * config/alpha/t-linux: New file; define MULTIARCH_DIRNAME. * config.gcc <alpha*-*-linux*> (tmake_file): Include alpha/t-linux. From-SVN: r193715
2012-11-21t-linux: New file; define MULTIARCH_DIRNAME.Matthias Klose1-1/+1
2012-11-21 Matthias Klose <doko@ubuntu.com> * config/ia64/t-linux: New file; define MULTIARCH_DIRNAME. * config.gcc <ia64*-*-linux*> (tmake_file): Include ia64/t-linux. From-SVN: r193713
2012-11-21configure.ac: Substitute `with_cpu'.Matthias Klose1-0/+1
2012-11-20 Matthias Klose <doko@ubuntu.com> * configure.ac: Substitute `with_cpu'. * configure: Regenerate. * Makefile.in: Define `with_cpu'. * config/rs6000/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES. * config/rs6000/t-linux: New file; define MULTIARCH_DIRNAME. * config/rs6000/t-fprules (SOFT_FLOAT_CPUS): New macro. Add e300c2 to the list. (MULTILIB_MATCHES_FLOAT): Define in terms of SOFT_FLOAT_CPUS. * config/rs6000/t-spe: Define MULTIARCH_DIRNAME. * config.gcc <powerpc-*-linux* | powerpc64-*-linux*> (tmake_file): Include rs6000/t-linux for 32bit non-biarch configurations. From-SVN: r193686
2012-11-16t-linux: New file; define MULTIARCH_DIRNAME.Matthias Klose1-0/+2
2012-11-16 Matthias Klose <doko@ubuntu.com> * config/pa/t-linux: New file; define MULTIARCH_DIRNAME. * config.gcc <hppa*64*-*-linux*, hppa*-*-linux*> (tmake_file): Include pa/t-linux. From-SVN: r193560
2012-11-16AMD bdver3 enablementGanesh Gopalasubramanian1-8/+16
From-SVN: r193548
2012-11-14t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.Matthias Klose1-0/+1
2012-11-14 Matthias Klose <doko@ubuntu.com> * config/sparc/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES. * config/sparc/t-linux: New file; define MULTIARCH_DIRNAME. * config.gcc <sparc-*-linux*> (tmake_file): Include sparc/t-linux for 32bit non-biarch configurations. From-SVN: r193510