1. 03 Jan, 2014 1 commit
  2. 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
  3. 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
  4. 26 Dec, 2013 4 commits
  5. 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
  6. 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
  7. 12 Dec, 2013 1 commit
  8. 09 Dec, 2013 2 commits
  9. 06 Dec, 2013 1 commit
  10. 04 Dec, 2013 2 commits
  11. 03 Dec, 2013 1 commit
  12. 28 Nov, 2013 2 commits
  13. 27 Nov, 2013 2 commits
  14. 25 Nov, 2013 2 commits
  15. 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
  16. 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
  17. 19 Nov, 2013 2 commits
  18. 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
  19. 15 Nov, 2013 1 commit
  20. 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
  21. 13 Nov, 2013 1 commit
    • The patch re-factors libgcov.c to make it better modulelized. · d6d3f033
      2013-11-12  Rong Xu  <xur@google.com>
      
      The patch re-factors libgcov.c to make it better modulelized.
      It contains two pieces of work:
      1. break gcov_exit() into the following structure:
         gcov_exit()
            --> gcov_exit_compute_summary()
            --> allocate_filename_struct()
                for gi_ptr in gcov_list
                  --> gcov_exit_dump_gcov()
                         --> gcov_exit_open_gcda_file()
                         --> gcov_exit_merge_gcda ()
                         --> gcov_exit_merge_summary ()
                         --> gcov_exit_write_gcda ()
      2. split libgcov.c into the following files:
           libgcov-profiler.c
           libgcov-merge.c
           libgcov-interface.c
           libgcov-driver.c
             libgcov-driver-system.c (source included into libgcov-driver.c)
      
      	* libgcc/libgcov.c: Delete as part of re-factoring.
      	* gcc/gcov-io.h (__gcov_indirect_call_profiler): Add the decl to
              avoid warning.
      	* libgcc/libgcov-interface.c (init_mx): Moved from libgcov.c.
      	(init_mx_once): Ditto.
      	(__gcov_flush): Ditto.
      	(__gcov_reset): Ditto.
      	(__gcov_dump): Ditto.
      	(__gcov_fork): Ditto.
      	(__gcov_execl): Ditto.
      	(__gcov_execlp): Ditto.
      	(__gcov_execle): Ditto.
      	(__gcov_execv): Ditto.
      	(__gcov_execvp): Ditto.
      	(__gcov_execve): Ditto.
              * libgcc/libgcov-merge.c (__gcov_merge_time_profile): Moved from
              libgcov.c.
      	(__gcov_merge_add): Ditto.
      	(__gcov_merge_ior): Ditto.
      	(__gcov_merge_single): Ditto.
      	(__gcov_merge_delta): Ditto.
      	* libgcc/libgcov-profiler.c 
      	(__gcov_interval_profiler): Ditto.
      	(__gcov_pow2_profiler): Ditto.
      	(__gcov_one_value_profiler_body): Ditto.
      	(__gcov_one_value_profiler): Ditto.
      	(__gcov_indirect_call_profiler): Ditto.
      	(__gcov_indirect_call_profiler_v2): Ditto.
      	(__gcov_time_profiler): Ditto.
      	(__gcov_average_profiler): Ditto.
      	(__gcov_ior_profiler): Ditto.
      	* libgcc/libgcov-driver.c (set_gcov_list): New.
      	(get_gcov_dump_complete): Ditto.
      	(set_gcov_dump_complete):Ditto.
      	(reset_gcov_dump_complete):Ditto.
      	(gcov_exit_compute_summary): New function split from gcov_exit().
      	(gcov_exit_merge_gcda): Ditto.
      	(gcov_exit_write_gcda): Ditto.
      	(gcov_exit_merge_summary): Ditto.
      	(gcov_exit_dump_gcov): Ditto.
      	(struct gcov_fn_buffer): Moved from libgcov.c
      	(struct gcov_summary_buffer): Ditto.
      	(free_fn_data): Ditto.
      	(buffer_fn_data): Ditto.
      	(crc32_unsigned): Ditto.
      	(gcov_version): Ditto.
      	(gcov_histogram_insert): Ditto.
      	(gcov_compute_histogram): Ditto.
      	(gcov_exit): Ditto.
      	(gcov_clear): Ditto.
      	(__gcov_init): Ditto.
              (this_prg): Make it file scope static variable.
              (all_prg): Ditto.
              (crc32): Ditto.
              (gi_filename): Ditto.
              (fn_buffer): Ditto.
              (sum_buffer): Ditto.
              (struct gcov_filename_aux): New types to store auxiliary information
              for gi_filename.
      	* libgcc/libgcov-driver-system.c (gcov_error): New utility function.
      	(allocate_filename_struct): New function split from gcov_exit().
      	(gcov_exit_open_gcda_file): Ditto.
      	(create_file_directory): Moved from libgcov.c
      	* libgcc/Makefile.in: Change to build newly added files.
      
      From-SVN: r204730
      Rong Xu committed
  22. 11 Nov, 2013 2 commits
  23. 10 Nov, 2013 1 commit
  24. 08 Nov, 2013 1 commit
  25. 07 Nov, 2013 2 commits
  26. 06 Nov, 2013 1 commit
    • float128-cmp-invalid.c, [...]: New tests. · 9954c743
      gcc/testsuite:
      	* gcc.dg/torture/float128-cmp-invalid.c,
      	gcc.dg/torture/float128-div-underflow.c,
      	gcc.dg/torture/float128-extend-nan.c,
      	gcc.dg/torture/fp-int-convert-float128-timode-3.c: New tests.
      
      libgcc:
      	* soft-fp/README: Update.
      	* soft-fp/adddf3.c: Update from glibc.
      	* soft-fp/addsf3.c: Likewise.
      	* soft-fp/addtf3.c: Likewise.
      	* soft-fp/divdf3.c: Likewise.
      	* soft-fp/divsf3.c: Likewise.
      	* soft-fp/divtf3.c: Likewise.
      	* soft-fp/double.h: Likewise.
      	* soft-fp/eqdf2.c: Likewise.
      	* soft-fp/eqsf2.c: Likewise.
      	* soft-fp/eqtf2.c: Likewise.
      	* soft-fp/extenddftf2.c: Likewise.
      	* soft-fp/extended.h: Likewise.
      	* soft-fp/extendsfdf2.c: Likewise.
      	* soft-fp/extendsftf2.c: Likewise.
      	* soft-fp/extendxftf2.c: Likewise.
      	* soft-fp/fixdfdi.c: Likewise.
      	* soft-fp/fixdfsi.c: Likewise.
      	* soft-fp/fixdfti.c: Likewise.
      	* soft-fp/fixsfdi.c: Likewise.
      	* soft-fp/fixsfsi.c: Likewise.
      	* soft-fp/fixsfti.c: Likewise.
      	* soft-fp/fixtfdi.c: Likewise.
      	* soft-fp/fixtfsi.c: Likewise.
      	* soft-fp/fixtfti.c: Likewise.
      	* soft-fp/fixunsdfdi.c: Likewise.
      	* soft-fp/fixunsdfsi.c: Likewise.
      	* soft-fp/fixunsdfti.c: Likewise.
      	* soft-fp/fixunssfdi.c: Likewise.
      	* soft-fp/fixunssfsi.c: Likewise.
      	* soft-fp/fixunssfti.c: Likewise.
      	* soft-fp/fixunstfdi.c: Likewise.
      	* soft-fp/fixunstfsi.c: Likewise.
      	* soft-fp/fixunstfti.c: Likewise.
      	* soft-fp/floatdidf.c: Likewise.
      	* soft-fp/floatdisf.c: Likewise.
      	* soft-fp/floatditf.c: Likewise.
      	* soft-fp/floatsidf.c: Likewise.
      	* soft-fp/floatsisf.c: Likewise.
      	* soft-fp/floatsitf.c: Likewise.
      	* soft-fp/floattidf.c: Likewise.
      	* soft-fp/floattisf.c: Likewise.
      	* soft-fp/floattitf.c: Likewise.
      	* soft-fp/floatundidf.c: Likewise.
      	* soft-fp/floatundisf.c: Likewise.
      	* soft-fp/floatunditf.c: Likewise.
      	* soft-fp/floatunsidf.c: Likewise.
      	* soft-fp/floatunsisf.c: Likewise.
      	* soft-fp/floatunsitf.c: Likewise.
      	* soft-fp/floatuntidf.c: Likewise.
      	* soft-fp/floatuntisf.c: Likewise.
      	* soft-fp/floatuntitf.c: Likewise.
      	* soft-fp/gedf2.c: Likewise.
      	* soft-fp/gesf2.c: Likewise.
      	* soft-fp/getf2.c: Likewise.
      	* soft-fp/ledf2.c: Likewise.
      	* soft-fp/lesf2.c: Likewise.
      	* soft-fp/letf2.c: Likewise.
      	* soft-fp/muldf3.c: Likewise.
      	* soft-fp/mulsf3.c: Likewise.
      	* soft-fp/multf3.c: Likewise.
      	* soft-fp/negdf2.c: Likewise.
      	* soft-fp/negsf2.c: Likewise.
      	* soft-fp/negtf2.c: Likewise.
      	* soft-fp/op-1.h: Likewise.
      	* soft-fp/op-2.h: Likewise.
      	* soft-fp/op-4.h: Likewise.
      	* soft-fp/op-8.h: Likewise.
      	* soft-fp/op-common.h: Likewise.
      	* soft-fp/quad.h: Likewise.
      	* soft-fp/single.h: Likewise.
      	* soft-fp/soft-fp.h: Likewise.
      	* soft-fp/subdf3.c: Likewise.
      	* soft-fp/subsf3.c: Likewise.
      	* soft-fp/subtf3.c: Likewise.
      	* soft-fp/truncdfsf2.c: Likewise.
      	* soft-fp/trunctfdf2.c: Likewise.
      	* soft-fp/trunctfsf2.c: Likewise.
      	* soft-fp/trunctfxf2.c: Likewise.
      	* soft-fp/unorddf2.c: Likewise.
      	* soft-fp/unordsf2.c: Likewise.
      	* soft-fp/unordtf2.c: Likewise.
      
      From-SVN: r204489
      Joseph Myers committed
  27. 05 Nov, 2013 1 commit
    • i386-c.c (ix86_target_macros): Define _SOFT_FLOAT for !TARGET_80387. · 02ac9503
      gcc/
      
      	* config/i386/i386-c.c (ix86_target_macros): Define _SOFT_FLOAT
      	for !TARGET_80387.
      	* config/i386/rtemself.h (TARGET_OS_CPP_BUILTINS): Do not define
      	_SOFT_FLOAT here.
      	(LONG_DOUBLE_TYPE_SIZE): New define.
      	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Ditto.
      
      libgcc/
      
      	* config/i386/32/sfp-machine.h (_FP_MUL_MEAT_S): Define.
      	(_FP_MUL_MEAT_D): Ditto.
      	(_FP_DIV_MEAT_S): Ditto.
      	(_FP_DIV_MEAT_D): Ditto.
      	* config.host (i[34567]86-*-rtems*): Remove i386/t-softfp, add
      	t-softfp-sfdf and t-softfp to tmake_file.
      
      M    gcc/config/i386/i386-c.c
      M    gcc/config/i386/rtemself.h
      M    gcc/ChangeLog
      M    libgcc/ChangeLog
      M    libgcc/config.host
      M    libgcc/config/i386/32/sfp-machine.h
      
      From-SVN: r204404
      Uros Bizjak committed