1. 25 Jan, 2014 4 commits
    • atomic.c: Include tconfig.h. · a5420aa4
      2014-01-25  Walter Lee  <walt@tilera.com>
      
                  * config/tilepro/atomic.c: Include tconfig.h.  Don't include
                  config.h or system.h.
                  (bool) Define.
      
      From-SVN: r207088
      Walter Lee committed
    • atomic.c (pre_atomic_barrier): Mark inline. · 24534912
      2014-01-25  Walter Lee  <walt@tilera.com>
      
                  * config/tilepro/atomic.c (pre_atomic_barrier): Mark inline.
                  (post_atomic_barrier): Ditto.
                  (__fetch_and_do): New macro.
                  (__atomic_fetch_and_do): Use __fetch_and_do.
                  (__sync_fetch_and_do): New macro.
                  (__sync_fetch_and_add_4): New function.
                  (__sync_fetch_and_sub_4): New function.
                  (__sync_fetch_and_or_4): New function.
                  (__sync_fetch_and_and_4): New function.
                  (__sync_fetch_and_xor_4): New function.
                  (__sync_fetch_and_nand_4): New function.
                  (__sync_fetch_and_add_8): New function.
                  (__sync_fetch_and_sub_8): New function.
                  (__sync_fetch_and_or_8): New function.
                  (__sync_fetch_and_and_8): New function.
                  (__sync_fetch_and_xor_8): New function.
                  (__sync_fetch_and_nand_8): New function.
                  (__do_and_fetch): New macro.
                  (__atomic_do_and_fetch): Use __do_and_fetch.
                  (__sync_do_and_fetch): New macro.
                  (__sync_add_and_fetch_4): New function.
                  (__sync_sub_and_fetch_4): New function.
                  (__sync_or_and_fetch_4): New function.
                  (__sync_and_and_fetch_4): New function.
                  (__sync_xor_and_fetch_4): New function.
                  (__sync_nand_and_fetch_4): New function.
                  (__sync_add_and_fetch_8): New function.
                  (__sync_sub_and_fetch_8): New function.
                  (__sync_or_and_fetch_8): New function.
                  (__sync_and_and_fetch_8): New function.
                  (__sync_xor_and_fetch_8): New function.
                  (__sync_nand_and_fetch_8): New function.
                  (__sync_exchange_methods): New macro.
                  (__sync_val_compare_and_swap_4): New function.
                  (__sync_bool_compare_and_swap_4): New function.
                  (__sync_lock_test_and_test_4): New function.
                  (__sync_val_compare_and_swap_8): New function.
                  (__sync_bool_compare_and_swap_8): New function.
                  (__sync_lock_test_and_test_8): New function.
                  (__subword_cmpxchg_body): New macro.
                  (__atomic_compare_exchange_1): Use __subword_cmpxchg_body.
                  (__atomic_compare_exchange_2): Ditto.
                  (__sync_subword_cmpxchg): New macro.
                  (__sync_val_compare_and_swap_1): New function.
                  (__sync_bool_compare_and_swap_1): New function.
                  (__sync_val_compare_and_swap_2): New function.
                  (__sync_bool_compare_and_swap_2): New function.
                  (__atomic_subword): Rename to ...
                  (__subword): ... New name.
                  (__atomic_subword_fetch): Use __subword.
                  (__sync_subword_fetch): New macro.
                  (__sync_fetch_and_add_1): New function.
                  (__sync_fetch_and_sub_1): New function.
                  (__sync_fetch_and_or_1): New function.
                  (__sync_fetch_and_and_1): New function.
                  (__sync_fetch_and_xor_1): New function.
                  (__sync_fetch_and_nand_1): New function.
                  (__sync_fetch_and_add_2): New function.
                  (__sync_fetch_and_sub_2): New function.
                  (__sync_fetch_and_or_2): New function.
                  (__sync_fetch_and_and_2): New function.
                  (__sync_fetch_and_xor_2): New function.
                  (__sync_fetch_and_nand_2): New function.
                  (__sync_add_and_fetch_1): New function.
                  (__sync_sub_and_fetch_1): New function.
                  (__sync_or_and_fetch_1): New function.
                  (__sync_and_and_fetch_1): New function.
                  (__sync_xor_and_fetch_1): New function.
                  (__sync_nand_and_fetch_1): New function.
                  (__sync_add_and_fetch_2): New function.
                  (__sync_sub_and_fetch_2): New function.
                  (__sync_or_and_fetch_2): New function.
                  (__sync_and_and_fetch_2): New function.
                  (__sync_xor_and_fetch_2): New function.
                  (__sync_nand_and_fetch_2): New function.
                  (__atomic_subword_lock): Use __subword.
                  (__sync_subword_lock): New macro.
                  (__sync_lock_test_and_set_1): New function.
                  (__sync_lock_test_and_set_2): New function.
      
      From-SVN: r207087
      Walter Lee committed
    • atomic.c (BIT_OFFSET): Define. · 4d6d3bc5
      2014-01-25  Walter Lee  <walt@tilera.com>
      
                  * config/tilepro/atomic.c (BIT_OFFSET): Define.
                  (__atomic_subword_cmpxchg): Use BIT_OFFSET.
                  (__atomic_subword): Ditto.
      
      From-SVN: r207086
      Walter Lee committed
    • atomic.c (__atomic_do_and_fetch): Add a prefix op argument. · cbd9890e
      2014-01-25  Walter Lee  <walt@tilera.com>
      
                  * config/tilepro/atomic.c (__atomic_do_and_fetch): Add a
                  prefix op argument.
                  (__atomic_nand_fetch_4): Add prefix op.
                  (__atomic_nand_fetch_8): Ditto.
      
      From-SVN: r207085
      Walter Lee committed
  2. 21 Jan, 2014 2 commits
  3. 09 Jan, 2014 2 commits
  4. 08 Jan, 2014 1 commit
    • gcov-io.c (gcov_var): Move from gcov-io.h. · 40d6b753
      2014-01-08  Rong Xu  <xur@google.com> 
      
      	* gcc/gcov-io.c (gcov_var): Move from gcov-io.h.
      	(gcov_position): Ditto.
      	(gcov_is_error): Ditto.
      	(gcov_rewrite): Ditto.
      	* gcc/gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
      	only part to libgcc/libgcov.h.
      	* libgcc/libgcov-driver.c: Use libgcov.h.
      	(buffer_fn_data): Use xmalloc instead of malloc.
      	(gcov_exit_merge_gcda): Ditto.
      	* libgcc/libgcov-driver-system.c (allocate_filename_struct): Ditto.
      	* libgcc/libgcov.h: New common header files for libgcov-*.h.
      	* libgcc/libgcov-interface.c: Use libgcov.h
      	* libgcc/libgcov-merge.c: Ditto.
      	* libgcc/libgcov-profiler.c: Ditto.
      	* libgcc/Makefile.in: Add dependence to libgcov.h
      
      From-SVN: r206435
      Rong Xu committed
  5. 03 Jan, 2014 1 commit
  6. 02 Jan, 2014 2 commits
    • Update copyright years in libgcc/ · ac1dca3c
      From-SVN: r206295
      Richard Sandiford committed
    • arc-common.c, [...]: Use the standard form for the copyright notice. · f9030485
      gcc/
      	* common/config/arc/arc-common.c, config/arc/arc-modes.def,
      	config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
      	config/arc/arc.md, config/arc/arc.opt, config/arm/arm_neon_builtins.def,
      	config/arm/crypto.def, config/i386/avx512cdintrin.h,
      	config/i386/avx512erintrin.h, config/i386/avx512fintrin.h,
      	config/i386/avx512pfintrin.h, config/i386/btver2.md,
      	config/i386/shaintrin.h, config/i386/slm.md, config/linux-protos.h,
      	config/linux.c, config/winnt-c.c, diagnostic-color.c,
      	diagnostic-color.h, gimple-ssa-isolate-paths.c, vtable-verify.c,
      	vtable-verify.h: Use the standard form for the copyright notice.
      
      gcc/c-family/
      	* array-notation-common.c, c-cilkplus.c: Use the standard form for
      	the copyright notice.
      
      gcc/c/
      	* c-array-notation.c: Use the standard form for the copyright notice.
      
      gcc/cp/
      	* cp-array-notation.c, cp-cilkplus.c, vtable-class-hierarchy.c: Use
      	the standard form for the copyright notice.
      
      gcc/testsuite/
      	* gcc.target/arc/arc.exp: Use the standard form for the copyright
      	notice.
      
      libgcc/
      	* config/arc/asm.h, config/arc/crtg.S, config/arc/crtgend.S,
      	config/arc/crti.S, config/arc/crtn.S, config/arc/divtab-arc700.c,
      	config/arc/dp-hack.h, config/arc/fp-hack.h,
      	config/arc/ieee-754/adddf3.S, config/arc/ieee-754/addsf3.S,
      	config/arc/ieee-754/arc600-dsp/divdf3.S,
      	config/arc/ieee-754/arc600-dsp/divsf3.S,
      	config/arc/ieee-754/arc600-dsp/muldf3.S,
      	config/arc/ieee-754/arc600-dsp/mulsf3.S,
      	config/arc/ieee-754/arc600-mul64/divdf3.S,
      	config/arc/ieee-754/arc600-mul64/divsf3.S,
      	config/arc/ieee-754/arc600-mul64/muldf3.S,
      	config/arc/ieee-754/arc600-mul64/mulsf3.S,
      	config/arc/ieee-754/arc600/divsf3.S,
      	config/arc/ieee-754/arc600/mulsf3.S,
      	config/arc/ieee-754/divdf3.S, config/arc/ieee-754/divsf3-stdmul.S,
      	config/arc/ieee-754/divsf3.S, config/arc/ieee-754/divtab-arc-df.c,
      	config/arc/ieee-754/divtab-arc-sf.c, config/arc/ieee-754/eqdf2.S,
      	config/arc/ieee-754/eqsf2.S, config/arc/ieee-754/extendsfdf2.S,
      	config/arc/ieee-754/fixdfsi.S, config/arc/ieee-754/fixsfsi.S,
      	config/arc/ieee-754/fixunsdfsi.S, config/arc/ieee-754/floatsidf.S,
      	config/arc/ieee-754/floatsisf.S, config/arc/ieee-754/floatunsidf.S,
      	config/arc/ieee-754/gedf2.S, config/arc/ieee-754/gesf2.S,
      	config/arc/ieee-754/gtdf2.S, config/arc/ieee-754/gtsf2.S,
      	config/arc/ieee-754/muldf3.S, config/arc/ieee-754/mulsf3.S,
      	config/arc/ieee-754/orddf2.S, config/arc/ieee-754/ordsf2.S,
      	config/arc/ieee-754/truncdfsf2.S, config/arc/ieee-754/uneqdf2.S,
      	config/arc/ieee-754/uneqsf2.S, config/arc/initfini.c,
      	config/arc/lib1funcs.S, config/arc/t-arc, config/arc/t-arc-newlib,
      	config/cris/umulsidi3.S, config/msp430/cmpsi2.S,
      	config/msp430/epilogue.S, config/msp430/lib2bitcountHI.c,
      	config/msp430/lib2divHI.c, config/msp430/lib2divQI.c,
      	config/msp430/lib2divSI.c, config/msp430/lib2mul.c,
      	config/msp430/msp430-divmod.h, config/msp430/msp430-mul.h,
      	config/msp430/slli.S, config/msp430/srai.S, config/msp430/srli.S,
      	config/rl78/divmodhi.S, config/rl78/divmodqi.S, config/rl78/divmodsi.S,
      	config/rl78/signbit.S, vtv_end.c, vtv_end_preinit.c, vtv_start.c,
      	vtv_start_preinit.c: Use the standard form for the copyright notice.
      
      libgomp/
      	* hashtab.h: Use the standard form for the copyright notice.
      
      libstdc++-v3/
      	* testsuite/18_support/new_handler.cc,
      	testsuite/18_support/terminate_handler.cc,
      	testsuite/18_support/unexpected_handler.cc: Use the standard form for
      	the copyright notice.
      
      From-SVN: r206288
      Richard Sandiford committed
  7. 31 Dec, 2013 1 commit
    • Commit of nios2 port to trunk: · e430824f
      contrib/
      2013-12-31  Chung-Lin Tang  <cltang@codesourcery.com>
      
      	* config-list.mk: Add nios2-elf, nios2-linux-gnu. Corrected
      	ordering of some configs.
      
      gcc/
      2013-12-31  Chung-Lin Tang  <cltang@codesourcery.com>
      	    Sandra Loosemore  <sandra@codesourcery.com>
      	    Based on patches from Altera Corporation
      
      	* config.gcc (nios2-*-*): Add nios2 config targets.
      	* configure.ac (TLS_SECTION_ASM_FLAG): Add nios2 case.
      	("$cpu_type"): Add nios2 as new cpu type.
      	* configure: Regenerate.
      	* config/nios2/nios2.c: New file.
      	* config/nios2/nios2.h: New file.
      	* config/nios2/nios2-opts.h: New file.
      	* config/nios2/nios2-protos.h: New file.
      	* config/nios2/elf.h: New file.
      	* config/nios2/elf.opt: New file.
      	* config/nios2/linux.h: New file.
      	* config/nios2/nios2.opt: New file.
      	* config/nios2/nios2.md: New file.
      	* config/nios2/predicates.md: New file.
      	* config/nios2/constraints.md: New file.
      	* config/nios2/t-nios2: New file.
      	* common/config/nios2/nios2-common.c: New file.
      	* doc/invoke.texi (Nios II options): Document Nios II specific
      	options.
      	* doc/md.texi (Nios II family): Document Nios II specific
      	constraints.
      	* doc/extend.texi (Function Specific Option Pragmas): Document
      	Nios II supported target pragma functionality.
      
      gcc/testsuite/
      2013-12-31  Sandra Loosemore  <sandra@codesourcery.com>
      	    Chung-Lin Tang  <cltang@codesourcery.com>
      	    Based on patches from Altera Corporation
      
      	* gcc.dg/stack-usage-1.c (SIZE): Define case for __nios2__.
      	* gcc.dg/20040813-1.c: Skip for nios2-*-*.
      	* gcc.dg/20020312-2.c: Add __nios2__ case.
      	* g++.dg/other/PR23205.C: Skip for nios2-*-*.
      	* g++.dg/other/pr23205-2.C: Skip for nios2-*-*.
      	* g++.dg/cpp0x/constexpr-rom.C: Skip for nios2-*-*.
      	* g++.dg/cpp0x/alias-decl-debug-0.C: Skip for nios2-*-*.
      	* g++.old-deja/g++.jason/thunk3.C: Skip for nios2-*-*.
      	* lib/target-supports.exp (check_profiling_available): Check for
      	nios2-*-elf.
      	* gcc.c-torture/execute/pr47237.x:: Skip for nios2-*-*.
      	* gcc.c-torture/execute/20101011-1.c: Skip for nios2-*-*.
      	* gcc.c-torture/execute/builtins/lib/chk.c (memset): Place
      	char-based memset loop before inline check, to prevent
      	problems when called to initialize .bss. Update comments.
      	* gcc.target/nios2/nios2.exp: New DejaGNU file.
      	* gcc.target/nios2/nios2-custom-1.c: New test.
      	* gcc.target/nios2/nios2-trap-insn.c: New test.
      	* gcc.target/nios2/nios2-builtin-custom.c: New test.
      	* gcc.target/nios2/nios2-builtin-io.c: New test.
      	* gcc.target/nios2/nios2-stack-check-1.c: New test.
      	* gcc.target/nios2/nios2-stack-check-2.c: New test.
      	* gcc.target/nios2/nios2-rdctl.c: New test.
      	* gcc.target/nios2/nios2-wrctl.c: New test.
      	* gcc.target/nios2/nios2-wrctl-zero.c: New test.
      	* gcc.target/nios2/nios2-wrctl-not-zero.c: New test.
      	* gcc.target/nios2/nios2-rdwrctl-1.c: New test.
      	* gcc.target/nios2/nios2-reg-constraints.c: New test.
      	* gcc.target/nios2/nios2-ashlsi3-one_shift.c: New test.
      	* gcc.target/nios2/nios2-mul-options-1.c: New test.
      	* gcc.target/nios2/nios2-mul-options-2.c: New test.
      	* gcc.target/nios2/nios2-mul-options-3.c: New test.
      	* gcc.target/nios2/nios2-mul-options-4.c: New test.
      	* gcc.target/nios2/nios2-nor.c: New test.
      	* gcc.target/nios2/nios2-stxio.c: New test.
      	* gcc.target/nios2/custom-fp-1.c: New test.
      	* gcc.target/nios2/custom-fp-2.c: New test.
      	* gcc.target/nios2/custom-fp-3.c: New test.
      	* gcc.target/nios2/custom-fp-4.c: New test.
      	* gcc.target/nios2/custom-fp-5.c: New test.
      	* gcc.target/nios2/custom-fp-6.c: New test.
      	* gcc.target/nios2/custom-fp-7.c: New test.
      	* gcc.target/nios2/custom-fp-8.c: New test.
      	* gcc.target/nios2/custom-fp-cmp-1.c: New test.
      	* gcc.target/nios2/custom-fp-conversion.c: New test.
      	* gcc.target/nios2/custom-fp-double.c: New test.
      	* gcc.target/nios2/custom-fp-float.c: New test.
      	* gcc.target/nios2/nios2-int-types.c: New test.
      	* gcc.target/nios2/nios2-cache-1.c: New test.
      	* gcc.target/nios2/nios2-cache-2.c: New test.
      
      libgcc/
      2013-12-31  Sandra Loosemore  <sandra@codesourcery.com>
      	    Chung-Lin Tang  <cltang@codesourcery.com>
      	    Based on patches from Altera Corporation
      
      	* config.host (nios2-*-*,nios2-*-linux*): Add nios2 host cases.
      	* config/nios2/lib2-nios2.h: New file.
      	* config/nios2/lib2-divmod-hi.c: New file.
      	* config/nios2/linux-unwind.h: New file.
      	* config/nios2/lib2-divmod.c: New file.
      	* config/nios2/linux-atomic.c: New file.
      	* config/nios2/t-nios2: New file.
      	* config/nios2/crti.asm: New file.
      	* config/nios2/t-linux: New file.
      	* config/nios2/lib2-divtable.c: New file.
      	* config/nios2/lib2-mul.c: New file.
      	* config/nios2/tramp.c: New file.
      	* config/nios2/crtn.asm: New file.
      
      From-SVN: r206256
      Chung-Lin Tang committed
  8. 26 Dec, 2013 4 commits
  9. 25 Dec, 2013 1 commit
    • re PR target/59422 (Support more targets for function multi versioning) · 74924838
      gcc/
      
      2013-12-25  Allan Sandfeld Jensen  <sandfeld@kde.org>
      	    H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/59422
      	* config/i386/i386.c (get_builtin_code_for_version): Handle
      	PROCESSOR_HASWELL, PROCESSOR_SILVERMONT, PROCESSOR_BTVER1,
      	PROCESSOR_BTVER2, PROCESSOR_BDVER3 and PROCESSOR_BDVER4.
      	Change priority of PROCESSOR_BDVER1 to P_PROC_XOP.
      	(fold_builtin_cpu): Add "ivybridge", "haswell", "bonnell",
      	"silvermont", "bobcat" and "jaguar" CPU names.  Add "sse4a",
      	"fma4", "xop" and "fma" ISA names.
      
      libgcc/
      
      2013-12-25  Allan Sandfeld Jensen  <sandfeld@kde.org>
      	    H.J. Lu  <hongjiu.lu@intel.com>
      
              PR target/59422
              * config/i386/cpuinfo.c (enum processor_types):  Add AMD_BOBCAT
      	and AMD_JAGUAR.
      	(enum processor_subtypes): Add AMDFAM15H_BDVER3, AMDFAM15H_BDVER4,
      	INTEL_COREI7_IVYBRIDGE and INTEL_COREI7_HASWELL.
      	(enum processor_features): Add  FEATURE_SSE4_A, FEATURE_FMA4,
      	FEATURE_XOP and FEATURE_FMA.
      	(get_amd_cpu): Handle AMD_BOBCAT, AMD_JAGUAR, AMDFAM15H_BDVER2 and
      	AMDFAM15H_BDVER3.
      	(get_intel_cpu): Handle INTEL_COREI7 and INTEL_COREI7_HASWELL.
              (get_available_features): Handle FEATURE_FMA, FEATURE_SSE4_A,
      	FEATURE_FMA4 and FEATURE_XOP.
      
      testsuite/
      
      2013-12-25  Allan Sandfeld Jensen  <sandfeld@kde.org>
      
      	PR target/59422
      	* gcc.target/i386/funcspec-5.c (test_fma, test_xop, test_no_fma,
      	test_no_xop, test_arch_corei7, test_arch_corei7_avx,
      	test_arch_core_avx2, test_arch_bdver1, test_arch_bdver2,
      	test_arch_bdver3, test_tune_corei7, test_tune_corei7_avx,
      	test_tune_core_avx2, test_tune_bdver1, test_tune_bdver2 and
      	test_tune_bdver3): New function prototypes.
      
      From-SVN: r206200
      Allan Sandfeld Jensen committed
  10. 23 Dec, 2013 1 commit
    • Use proper Intel processor names for -march=/-mtune= · d3c11974
      gcc/
      
      	* config/i386/core2.md: Replace corei7 with nehalem.
      
      	* config/i386/driver-i386.c (host_detect_local_cpu): Use nehalem,
      	westmere, sandybridge, ivybridge, haswell, bonnell, silvermont
      	for cpu names.
      
      	* config/i386/i386-c.c (ix86_target_macros_internal): Replace
      	PROCESSOR_COREI7, PROCESSOR_COREI7_AVX, PROCESSOR_ATOM,
      	PROCESSOR_SLM with PROCESSOR_NEHALEM, PROCESSOR_SANDYBRIDGE,
      	PROCESSOR_BONNELL, PROCESSOR_SILVERMONT.  Define
      	__nehalem/__nehalem__, __sandybridge/__sandybridge__,
      	__haswell/__haswell__, __tune_nehalem__, __tune_sandybridge__,
      	__tune_haswell__, __bonnell/__bonnell__,
      	__silvermont/__silvermont__, __tune_bonnell__,
      	__tune_silvermont__.
      
      	* config/i386/i386.c (m_COREI7): Renamed to ...
      	(m_NEHALEM): This.
      	(m_COREI7_AVX): Renamed to ...
      	(m_SANDYBRIDGE): This.
      	(m_ATOM): Renamed to ...
      	(m_BONNELL): This.
      	(m_SLM): Renamed to ...
      	(m_SILVERMONT): This.
      	(m_CORE_ALL): Updated.
      	(cpu_names): Add "nehalem", "westmere", "sandybridge",
      	"ivybridge", "haswell", "broadwell", "bonnell", "silvermont".
      	(PTA_CORE2): New.
      	(PTA_NEHALEM): Likewise.
      	(PTA_WESTMERE): Likewise.
      	(PTA_SANDYBRIDGE): Likewise.
      	(PTA_IVYBRIDGE): Likewise.
      	(PTA_HASWELL): Likewise.
      	(PTA_BROADWELL): Likewise.
      	(PTA_BONNELL): Likewise.
      	(PTA_SILVERMONT): Likewise.
      	(ix86_option_override_internal): Use new PTA_XXX.  Add nehalem,
      	westmere, sandybridge, ivybridge, haswell, bonnell, silvermont.
      	(ix86_lea_outperforms): Updated.
      	(ix86_issue_rate): Likewise.
      	(ix86_adjust_cost): Likewise.
      	(ia32_multipass_dfa_lookahead): Likewise.
      	(do_reorder_for_imul): Likewise.
      	(swap_top_of_ready_list): Likewise.
      	(ix86_sched_reorder): Likewise.
      	(ix86_sched_init_global): Likewise.
      	(get_builtin_code_for_version): Likewise.
      	(processor_model): Replace M_INTEL_ATOM, M_INTEL_SLM with
      	M_INTEL_BONNELL, M_INTEL_SILVERMONT.
      	(arch_names_table): Updated.
      
      	* config/i386/i386.h (TARGET_COREI7): Removed.
      	(TARGET_COREI7_AVX): Likewise.
      	(TARGET_ATOM): Likewise.
      	(TARGET_SLM): Likewise.
      	(TARGET_NEHALEM): New.
      	(TARGET_SANDYBRIDGE): Likewise.
      	(TARGET_BONNELL): Likewise.
      	(TARGET_SILVERMONT): Likewise.
      	(target_cpu_default): Add TARGET_CPU_DEFAULT_core_avx2,
      	TARGET_CPU_DEFAULT_nehalem, TARGET_CPU_DEFAULT_westmere,
      	TARGET_CPU_DEFAULT_sandybridge, TARGET_CPU_DEFAULT_ivybridge,
      	TARGET_CPU_DEFAULT_broadwell, TARGET_CPU_DEFAULT_bonnell,
      	TARGET_CPU_DEFAULT_silvermont.  Move TARGET_CPU_DEFAULT_haswell
      	before TARGET_CPU_DEFAULT_broadwell.
      	(processor_type): Replace PROCESSOR_COREI7, PROCESSOR_COREI7_AVX,
      	PROCESSOR_ATOM, PROCESSOR_SLM with PROCESSOR_NEHALEM,
      	PROCESSOR_SANDYBRIDGE, PROCESSOR_BONNELL, PROCESSOR_SILVERMONT.
      
      	* config/i386/i386.md (cpu): Replace corei7 with nehalem.
      
      	* config/i386/x86-tune.def: Updated.
      
      	* doc/invoke.texi: Replace corei7, corei7-avx, core-avx-i,
      	core-avx2, atom, slm with nehalem, sandybridge, ivybridge,
      	haswell, bonnel, silvermont.  Add westmere.
      
      libgcc/
      
      	* config/i386/cpuinfo.c (processor_subtypes): Replace INTEL_ATOM,
      	INTEL_SLM with INTEL_BONNELL, INTEL_SILVERMONT.
      	(get_intel_cpu): Updated.
      
      Co-Authored-By: Tocar Ilya <ilya.tocar@intel.com>
      
      From-SVN: r206178
      H.J. Lu committed
  11. 12 Dec, 2013 1 commit
  12. 09 Dec, 2013 2 commits
  13. 06 Dec, 2013 1 commit
  14. 04 Dec, 2013 2 commits
  15. 03 Dec, 2013 1 commit
  16. 28 Nov, 2013 2 commits
  17. 27 Nov, 2013 2 commits
  18. 25 Nov, 2013 2 commits
  19. 23 Nov, 2013 1 commit
    • re PR target/33704 (AIX runs c++ constructors in incorrect order) · 44178879
      libgcc:
      
      	PR target/33704
              * config/rs6000/aixinitfini.c: New file.
              * config/rs6000/t-aix-cxa (LIB2ADD_ST): Add aixinitfini.c.
              * config/rs6000/libgcc-aix-cxa.ver (GCC_4.9): Add libgcc initfini
              symbols.
      
      gcc:
      
      	PR target/33704
              * config/rs6000/aix.h (COLLECT_SHARED_INIT_FUNC): Define.
              (COLLECT_SHARED_FINI_FUNC): Define.
      
              * collect2.c (aix_shared_initname): Declare.
              (aix_shared_fininame): Declare.
              (symkind): Add SYM_AIXI and SYM_AIXD.
              (scanfilter_masks): Add SCAN_AIXI and SCAN_AIXD.
              (struct names special): Add GLOBAL__AIXI_ and GLOBAL__AIXD_.
              (aixlazy_flag): Parse.
              (extract_init_priority): SYM_AIXI and SYM_AIXD have highest priority.
              (scan_prog_file, COFF): Handle SYM_AIXI and SYM_AIXD.
      
      Co-Authored-By: Andrew Dixie <andrewd@gentrack.com>
      
      From-SVN: r205309
      David Edelsohn committed
  20. 22 Nov, 2013 1 commit
    • Enable AES, PCLMUL and RDRND for Silvermont · e5287671
      gcc/
      
      2013-11-22  Yuri Rumyantsev  <ysrumyan@gmail.com>
      
      	* config/i386/i386.c(processor_alias_table): Enable PTA_AES,
      	PTA_PCLMUL and PTA_RDRND for Silvermont.
      	* config/i386/driver-i386.c (host_detect_local_cpu): Set up cpu
      	for Silvermont.
      
      	* doc/invoke.texi: Mention AES, PCLMUL and RDRND for Silvermont.
      
      libgcc/
      
      2013-11-22  Yuri Rumyantsev  <ysrumyan@gmail.com>
      
      	 * config/i386/cpuinfo.c (get_intel_cpu): Add Silvermont cases.
      
      From-SVN: r205275
      Yuri Rumyantsev committed
  21. 19 Nov, 2013 2 commits
  22. 18 Nov, 2013 1 commit
    • libgcov-driver.c (get_gcov_dump_complete): Update comments. · 867c8b03
      	* libgcov-driver.c (get_gcov_dump_complete): Update comments.
      	(all_prg, crc32): Remove static vars.
      	(gcov_exit_compute_summary): Rewrite to return crc32; do not clear
      	all_prg.
      	(gcov_exit_merge_gcda): Add crc32 parameter.
      	(gcov_exit_merge_summary): Add crc32 and all_prg parameter;
      	do not account run if it was already accounted.
      	(gcov_exit_dump_gcov): Add crc32 and all_prg parameters.
      	(gcov_exit): Initialize all_prg; update.
      
      From-SVN: r204983
      Jan Hubicka committed
  23. 15 Nov, 2013 1 commit
  24. 14 Nov, 2013 2 commits
    • rs6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2. · b54214fe
      gcc/ChangeLog:
      
      2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
      	    Alan Modra  <amodra@gmail.com>
      
      	* config/rs6000/rs6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2.
      	(RS6000_SAVE_TOC): Remove.
      	(RS6000_TOC_SAVE_SLOT): New macro.
      	* config/rs6000/rs6000.c (rs6000_parm_offset): New function.
      	(rs6000_parm_start): Use it.
      	(rs6000_function_arg_advance_1): Likewise.
      	(rs6000_emit_prologue): Use RS6000_TOC_SAVE_SLOT.
      	(rs6000_emit_epilogue): Likewise.
      	(rs6000_call_aix): Likewise.
      	(rs6000_output_function_prologue): Do not save/restore r11
      	around calling _mcount for ABI_ELFv2.
      
      2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
      	    Alan Modra  <amodra@gmail.com>
      
      	* config/rs6000/rs6000-protos.h (rs6000_reg_parm_stack_space):
      	Add prototype.
      	* config/rs6000/rs6000.h (RS6000_REG_SAVE): Remove.
      	(REG_PARM_STACK_SPACE): Call rs6000_reg_parm_stack_space.
      	* config/rs6000/rs6000.c (rs6000_parm_needs_stack): New function.
      	(rs6000_function_parms_need_stack): Likewise.
      	(rs6000_reg_parm_stack_space): Likewise.
      	(rs6000_function_arg): Do not replace BLKmode by Pmode when
      	returning a register argument.
      
      2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
      	    Michael Gschwind  <mkg@us.ibm.com>
      
      	* config/rs6000/rs6000.h (FP_ARG_MAX_RETURN): New macro.
      	(ALTIVEC_ARG_MAX_RETURN): Likewise.
      	(FUNCTION_VALUE_REGNO_P): Use them.
      	* config/rs6000/rs6000.c (TARGET_RETURN_IN_MSB): Define.
      	(rs6000_return_in_msb): New function.
      	(rs6000_return_in_memory): Handle ELFv2 homogeneous aggregates.
      	Handle aggregates of up to 16 bytes for ELFv2.
      	(rs6000_function_value): Handle ELFv2 homogeneous aggregates.
      
      2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
      	    Michael Gschwind  <mkg@us.ibm.com>
      
      	* config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define.
      	* config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function.
      	(rs6000_discover_homogeneous_aggregate): Likewise.
      	(rs6000_function_arg_boundary): Handle homogeneous aggregates.
      	(rs6000_function_arg_advance_1): Likewise.
      	(rs6000_function_arg): Likewise.
      	(rs6000_arg_partial_bytes): Likewise.
      	(rs6000_psave_function_arg): Handle BLKmode arguments.
      
      2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
      	    Michael Gschwind  <mkg@us.ibm.com>
      
      	* config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define.
      	* config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function.
      	(rs6000_discover_homogeneous_aggregate): Likewise.
      	(rs6000_function_arg_boundary): Handle homogeneous aggregates.
      	(rs6000_function_arg_advance_1): Likewise.
      	(rs6000_function_arg): Likewise.
      	(rs6000_arg_partial_bytes): Likewise.
      	(rs6000_psave_function_arg): Handle BLKmode arguments.
      
      2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
      
      	* config/rs6000/rs6000.c (machine_function): New member
      	r2_setup_needed.
      	(rs6000_emit_prologue): Set r2_setup_needed if necessary.
      	(rs6000_output_mi_thunk): Set r2_setup_needed.
      	(rs6000_output_function_prologue): Output global entry point
      	prologue and local entry point marker if needed for ABI_ELFv2.
      	Output -mprofile-kernel code here.
      	(output_function_profiler): Do not output -mprofile-kernel
      	code here; moved to rs6000_output_function_prologue.
      	(rs6000_file_start): Output ".abiversion 2" for ABI_ELFv2.
      
      	(rs6000_emit_move): Do not handle dot symbols for ABI_ELFv2.
      	(rs6000_output_function_entry): Likewise.
      	(rs6000_assemble_integer): Likewise.
      	(rs6000_elf_encode_section_info): Likewise.
      	(rs6000_elf_declare_function_name): Do not create dot symbols
      	or .opd section for ABI_ELFv2.
      
      	(rs6000_trampoline_size): Update for ABI_ELFv2 trampolines.
      	(rs6000_trampoline_init): Likewise.
      	(rs6000_elf_file_end): Call file_end_indicate_exec_stack
      	for ABI_ELFv2.
      
      	(rs6000_call_aix): Handle ELFv2 indirect calls.  Do not check
      	for function descriptors in ABI_ELFv2.
      
      	* config/rs6000/rs6000.md ("*call_indirect_aix<mode>"): Support
      	on ABI_AIX only, not ABI_ELFv2.
      	("*call_value_indirect_aix<mode>"): Likewise.
      	("*call_indirect_elfv2<mode>"): New pattern.
      	("*call_value_indirect_elfv2<mode>"): Likewise.
      
      	* config/rs6000/predicates.md ("symbol_ref_operand"): Do not
      	check for function descriptors in ABI_ELFv2.
      	("current_file_function_operand"): Likewise.
      
      	* config/rs6000/ppc-asm.h [__powerpc64__ && _CALL_ELF == 2]:
      	(toc): Undefine.
      	(FUNC_NAME): Define ELFv2 variant.
      	(JUMP_TARGET): Likewise.
      	(FUNC_START): Likewise.
      	(HIDDEN_FUNC): Likewise.
      	(FUNC_END): Likeiwse.
      
      2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
      
      	* config.gcc [powerpc*-*-* | rs6000-*-*]: Support --with-abi=elfv1
      	and --with-abi=elfv2.
      	* config/rs6000/option-defaults.h (OPTION_DEFAULT_SPECS): Add "abi".
      	* config/rs6000/rs6000.opt (mabi=elfv1): New option.
      	(mabi=elfv2): Likewise.
      	* config/rs6000/rs6000-opts.h (enum rs6000_abi): Add ABI_ELFv2.
      	* config/rs6000/linux64.h (DEFAULT_ABI): Do not hard-code to AIX_ABI
      	if !RS6000_BI_ARCH.
      	(ELFv2_ABI_CHECK): New macro.
      	(SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set
      	rs6000_current_abi to ABI_AIX or ABI_ELFv2.
      	(GLIBC_DYNAMIC_LINKER64): Support ELFv2 ld.so version.
      	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Predefine
      	_CALL_ELF and __STRUCT_PARM_ALIGN__ if appropriate.
      
      	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Handle ABI_ELFv2.
      	(debug_stack_info): Likewise.
      	(rs6000_file_start): Treat ABI_ELFv2 the same as ABI_AIX.
      	(rs6000_legitimize_tls_address): Likewise.
      	(rs6000_conditional_register_usage): Likewise.
      	(rs6000_emit_move): Likewise.
      	(init_cumulative_args): Likewise.
      	(rs6000_function_arg_advance_1): Likewise.
      	(rs6000_function_arg): Likewise.
      	(rs6000_arg_partial_bytes): Likewise.
      	(rs6000_output_function_entry): Likewise.
      	(rs6000_assemble_integer): Likewise.
      	(rs6000_savres_strategy): Likewise.
      	(rs6000_stack_info): Likewise.
      	(rs6000_function_ok_for_sibcall): Likewise.
      	(rs6000_emit_load_toc_table): Likewise.
      	(rs6000_savres_routine_name): Likewise.
      	(ptr_regno_for_savres): Likewise.
      	(rs6000_emit_prologue): Likewise.
      	(rs6000_emit_epilogue): Likewise.
      	(rs6000_output_function_epilogue): Likewise.
      	(output_profile_hook): Likewise.
      	(output_function_profiler): Likewise.
      	(rs6000_trampoline_size): Likewise.
      	(rs6000_trampoline_init): Likewise.
      	(rs6000_elf_output_toc_section_asm_op): Likewise.
      	(rs6000_elf_encode_section_info): Likewise.
      	(rs6000_elf_reloc_rw_mask): Likewise.
      	(rs6000_elf_declare_function_name): Likewise.
      	(rs6000_function_arg_boundary): Treat ABI_ELFv2 the same as ABI_AIX,
      	except that rs6000_compat_align_parm is always assumed false.
      	(rs6000_gimplify_va_arg): Likewise.
      	(rs6000_call_aix): Update comment.
      	(rs6000_sibcall_aix): Likewise.
      	* config/rs6000/rs6000.md ("tls_gd_aix<TLSmode:tls_abi_suffix>"):
      	Treat ABI_ELFv2 the same as ABI_AIX.
      	("*tls_gd_call_aix<TLSmode:tls_abi_suffix>"): Likewise.
      	("tls_ld_aix<TLSmode:tls_abi_suffix>"): Likewise.
      	("*tls_ld_call_aix<TLSmode:tls_abi_suffix>"): Likewise.
      	("load_toc_aix_si"): Likewise.
      	("load_toc_aix_di"): Likewise.
      	("call"): Likewise.
      	("call_value"): Likewise.
      	("*call_local_aix<mode>"): Likewise.
      	("*call_value_local_aix<mode>"): Likewise.
      	("*call_nonlocal_aix<mode>"): Likewise.
      	("*call_value_nonlocal_aix<mode>"): Likewise.
      	("*call_indirect_aix<mode>"): Likewise.
      	("*call_value_indirect_aix<mode>"): Likewise.
      	("sibcall"): Likewise.
      	("sibcall_value"): Likewise.
      	("*sibcall_aix<mode>"): Likewise.
      	("*sibcall_value_aix<mode>"): Likewise.
      	* config/rs6000/predicates.md ("symbol_ref_operand"): Likewise.
      	("current_file_function_operand"): Likewise.
      
      gcc/testsuite/ChangeLog:
      
      2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
      
      	* gcc.target/powerpc/ppc64-abi-1.c (stack_frame_t): Remove
      	compiler and linker field if _CALL_ELF == 2.
      	* gcc.target/powerpc/ppc64-abi-2.c (stack_frame_t): Likewise.
      	* gcc.target/powerpc/ppc64-abi-dfp-1.c (stack_frame_t): Likewise.
      	* gcc.dg/stack-usage-1.c (SIZE): Update value for _CALL_ELF == 2.
      
      2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
      
      	* gcc.target/powerpc/ppc64-abi-dfp-1.c (FUNC_START): New macro.
      	(WRAPPER): Use it.
      	* gcc.target/powerpc/no-r11-1.c: Skip on powerpc_elfv2.
      	* gcc.target/powerpc/no-r11-2.c: Skip on powerpc_elfv2.
      	* gcc.target/powerpc/no-r11-3.c: Skip on powerpc_elfv2.
      
      2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
      
      	* lib/target-supports.exp (check_effective_target_powerpc_elfv2):
      	New function.
      	* gcc.target/powerpc/pr57949-1.c: Disable for powerpc_elfv2.
      	* gcc.target/powerpc/pr57949-2.c: Likewise.
      
      libgcc/ChangeLog:
      
      2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
      	    Alan Modra  <amodra@gmail.com>
      
      	* config/rs6000/linux-unwind.h (TOC_SAVE_SLOT): Define.
      	(frob_update_context): Use it.
      
      2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
      	    Alan Modra  <amodra@gmail.com>
      
      	* config/rs6000/tramp.S [__powerpc64__ && _CALL_ELF == 2]:
      	(trampoline_initial): Provide ELFv2 variant.
      	(__trampoline_setup): Likewise.
      
      	* config/rs6000/linux-unwind.h (frob_update_context): Do not
      	check for AIX indirect function call sequence if _CALL_ELF == 2.
      
      2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
      	    Alan Modra  <amodra@gmail.com>
      
      	* config/rs6000/linux-unwind.h (get_regs): Do not support
      	old kernel versions if _CALL_ELF == 2.
      	(frob_update_context): Do not support PLT stub variants only
      	generated by old linkers if _CALL_ELF == 2.
      
      libitm/ChangeLog:
      
      2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
      
      	* config/powerpc/sjlj.S [__powerpc64__ && _CALL_ELF == 2]:
      	(FUNC): Define ELFv2 variant.
      	(END): Likewise.
      	(HIDDEN): Likewise.
      	(CALL): Likewise.
      	(BASE): Likewise.
      	(LR_SAVE): Likewise.
      
      libstdc++/ChangeLog:
      
      2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
      
      	* scripts/extract_symvers.in: Ignore <localentry: > fields
      	in readelf --symbols output.
      
      
      Co-Authored-By: Alan Modra <amodra@gmail.com>
      Co-Authored-By: Michael Gschwind <mkg@us.ibm.com>
      
      From-SVN: r204808
      Ulrich Weigand committed
    • linux-unwind.h (ppc_fallback_frame_state): Correct location of CR save area for… · 13e0981a
      linux-unwind.h (ppc_fallback_frame_state): Correct location of CR save area for 64-bit little-endian systems.
      
      2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
      	    Alan Modra  <amodra@gmail.com>
      
      	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Correct
      	location of CR save area for 64-bit little-endian systems.
      
      
      Co-Authored-By: Alan Modra <amodra@gmail.com>
      
      From-SVN: r204800
      Ulrich Weigand committed