1. 23 Dec, 2013 8 commits
    • Move Bonnell and Silvermont entries before generic · 7c2539fc
      	* config/i386/i386.c (processor_target_table): Move Bonnell and
      	Silvermont entries before generic.
      
      From-SVN: r206180
      H.J. Lu committed
    • re PR middle-end/59569 (r206148 causes internal compiler error: in… · f234d260
      re PR middle-end/59569 (r206148 causes internal compiler error: in vect_create_destination_var, at tree-vect-data-refs.c:4294)
      
      2013-12-23  Bingfeng Mei  <bmei@broadcom.com>
      
      	PR middle-end/59569
      	* tree-vect-stmts.c (vectorizable_store): Skip permutation for
      	consant operand, and add a few missing \n.
      
      	* gcc.c-torture/compile/pr59569-1.c: New test.
      	* gcc.c-torture/compile/pr59569-2.c: Ditto.
      
      From-SVN: r206179
      Bingfeng Mei committed
    • 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
    • re PR c++/59111 ([c++11] ICE on invalid usage of auto in return type) · ae8310ec
      	PR c++/59111
      cp/
      	* search.c (lookup_conversions): Return NULL_TREE if !CLASS_TYPE_P.
      testsuite/
      	* g++.dg/cpp0x/pr59111.C: New test.
      	* g++.dg/cpp1y/pr59110.C: New test.
      
      From-SVN: r206177
      Marek Polacek committed
    • mklog: Automatically insert comments in trivial cases. · b654717c
      2013-12-23  Yury Gribov  <y.gribov@samsung.com>
      
      	* mklog: Automatically insert comments in trivial cases.
      
      From-SVN: r206175
      Yury Gribov committed
    • re PR rtl-optimization/57422 (ICE: SIGSEGV in dominated_by_p with custom flags) · c64476f1
              PR rtl-optimization/57422
              * sel-sched.c (fill_vec_av_set): Assert that the fence insn
              can always be scheduled in its current form.
      
      From-SVN: r206174
      Andrey Belevantsev committed
    • re PR rtl-optimization/57422 (ICE: SIGSEGV in dominated_by_p with custom flags) · d0381b37
              PR rtl-optimization/57422
              * sel-sched.c (mark_unavailable_hard_regs): Fix typo when calling
              add_to_hard_reg_set.
      
      From-SVN: r206173
      Andrey Belevantsev committed
    • Daily bump. · cecadda4
      From-SVN: r206171
      GCC Administrator committed
  2. 22 Dec, 2013 3 commits
    • chi2_quality.h: Break out from chi2_quality.cc. · ca9431f7
      	* testsuite/20_util/hash/chi2_quality.h: Break out from
      	chi2_quality.cc.
      	* testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Ditto.
      	* testsuite/20_util/hash/chi2_q_document_words.cc: Ditto.
      	* testsuite/20_util/hash/chi2_q_bit_string_set.cc: Ditto.  Increase
      	SAMPLES to 35000 for simulator targets.
      	* testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Ditto.
      	* testsuite/20_util/hash/chi2_q_uniform_random.cc: Ditto.
      	* testsuite/20_util/hash/chi2_quality.cc: Remove.
      
      From-SVN: r206167
      Hans-Peter Nilsson committed
    • func-2a.c (dg-do): Remove target selector. · 96758521
      	* gcc.target/x86_64/abi/callabi/func-2a.c (dg-do): Remove
      	target selector.
      	* gcc.target/x86_64/abi/callabi/func-indirect-2a.c (dg-do): Ditto.
      	* gcc.target/x86_64/abi/callabi/vaarg-4a.c (dg-do): Ditto.
      	* gcc.target/x86_64/abi/callabi/vaarg-5a.c (dg-do): Ditto.
      
      From-SVN: r206166
      Uros Bizjak committed
    • Daily bump. · 005cdd8a
      From-SVN: r206165
      GCC Administrator committed
  3. 21 Dec, 2013 3 commits
  4. 20 Dec, 2013 14 commits
  5. 19 Dec, 2013 12 commits
    • re PR gcov-profile/59542 (ICE: verify_flow_info failed during Firefox build with 'gold') · b55bf120
      2013-12-19  Teresa Johnson  <tejohnson@google.com>
      
      	PR gcov-profile/59542
      	* bb-reorder.c (duplicate_computed_gotos): Invoke fixup_partitions
      	if we have made any changes.
      
      From-SVN: r206135
      Teresa Johnson committed
    • re PR other/59545 (Signed integer overflow issues) · e15eb172
      	PR other/59545
      	* genattrtab.c (struct attr_hash): Change hashcode type to unsigned.
      	(attr_hash_add_rtx, attr_hash_add_string): Change hashcode parameter
      	to unsigned.
      	(attr_rtx_1): Change hashcode variable to unsigned.
      	(attr_string): Likewise.  Perform first multiplication in unsigned
      	type.
      	* ifcvt.c (noce_try_store_flag_constants): Avoid signed integer
      	overflows.
      	* double-int.c (neg_double): Likewise.
      	* stor-layout.c (set_min_and_max_values_for_integral_type): Likewise.
      	* combine.c (force_to_mode): Likewise.
      	* postreload.c (move2add_use_add2_insn, move2add_use_add3_insn,
      	reload_cse_move2add, move2add_note_store): Likewise.
      	* simplify-rtx.c (simplify_const_unary_operation,
      	simplify_const_binary_operation): Likewise.
      	* ipa-split.c (find_split_points): Initialize first.can_split
      	and first.non_ssa_vars.
      	* gengtype-state.c (read_state_files_list): Fix up check.
      	* genautomata.c (reserv_sets_hash_value): Use portable rotation
      	idiom.
      java/
      	* class.c (hashUtf8String): Compute hash in unsigned type.
      	* javaop.h (WORD_TO_INT): Avoid signed integer overflow.
      
      From-SVN: r206134
      Jakub Jelinek committed
    • neon-docgen.ml: Add crypto intrinsics documentation. · d8d79c1d
      2013-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      
      	* config/arm/neon-docgen.ml: Add crypto intrinsics documentation.
      	* doc/arm-neon-intrinsics.texi: Regenerate.
      
      From-SVN: r206132
      Kyrylo Tkachov committed
    • neon-testgen.ml (effective_target): Handle "CRYPTO". · ed4bcdba
      [gcc/]
      2013-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      
      	* config/arm/neon-testgen.ml (effective_target): Handle "CRYPTO".
      
      [gcc/testsuite]
      2013-12-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      
      	 * lib/target-supports.exp (check_effective_target_arm_crypto_ok):
      	 New procedure.
      	 (add_options_for_arm_crypto): Likewise.
      	 * gcc.target/arm/crypto-vaesdq_u8.c: New test.
      	 * gcc.target/arm/crypto-vaeseq_u8.c: Likewise.
      	 * gcc.target/arm/crypto-vaesimcq_u8.c: Likewise.
      	 * gcc.target/arm/crypto-vaesmcq_u8.c: Likewise.
      	 * gcc.target/arm/crypto-vldrq_p128.c: Likewise.
      	 * gcc.target/arm/crypto-vmull_high_p64.c: Likewise.
      	 * gcc.target/arm/crypto-vmullp64.c: Likewise.
      	 * gcc.target/arm/crypto-vsha1cq_u32.c: Likewise.
      	 * gcc.target/arm/crypto-vsha1h_u32.c: Likewise.
      	 * gcc.target/arm/crypto-vsha1mq_u32.c: Likewise.
      	 * gcc.target/arm/crypto-vsha1pq_u32.c: Likewise.
      	 * gcc.target/arm/crypto-vsha1su0q_u32.c: Likewise.
      	 * gcc.target/arm/crypto-vsha1su1q_u32.c: Likewise.
      	 * gcc.target/arm/crypto-vsha256h2q_u32.c: Likewise.
      	 * gcc.target/arm/crypto-vsha256hq_u32.c: Likewise.
      	 * gcc.target/arm/crypto-vsha256su0q_u32.c: Likewise.
      	 * gcc.target/arm/crypto-vsha256su1q_u32.c: Likewise.
      	 * gcc.target/arm/crypto-vstrq_p128.c: Likewise.
      	 * gcc.target/arm/neon/vbslQp64: Generate.
      	 * gcc.target/arm/neon/vbslp64: Likewise.
      	 * gcc.target/arm/neon/vcombinep64: Likewise.
      	 * gcc.target/arm/neon/vcreatep64: Likewise.
      	 * gcc.target/arm/neon/vdupQ_lanep64: Likewise.
      	 * gcc.target/arm/neon/vdupQ_np64: Likewise.
      	 * gcc.target/arm/neon/vdup_lanep64: Likewise.
      	 * gcc.target/arm/neon/vdup_np64: Likewise.
      	 * gcc.target/arm/neon/vextQp64: Likewise.
      	 * gcc.target/arm/neon/vextp64: Likewise.
      	 * gcc.target/arm/neon/vget_highp64: Likewise.
      	 * gcc.target/arm/neon/vget_lowp64: Likewise.
      	 * gcc.target/arm/neon/vld1Q_dupp64: Likewise.
      	 * gcc.target/arm/neon/vld1Q_lanep64: Likewise.
      	 * gcc.target/arm/neon/vld1Qp64: Likewise.
      	 * gcc.target/arm/neon/vld1_dupp64: Likewise.
      	 * gcc.target/arm/neon/vld1_lanep64: Likewise.
      	 * gcc.target/arm/neon/vld1p64: Likewise.
      	 * gcc.target/arm/neon/vld2_dupp64: Likewise.
      	 * gcc.target/arm/neon/vld2p64: Likewise.
      	 * gcc.target/arm/neon/vld3_dupp64: Likewise.
      	 * gcc.target/arm/neon/vld3p64: Likewise.
      	 * gcc.target/arm/neon/vld4_dupp64: Likewise.
      	 * gcc.target/arm/neon/vld4p64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQf32_p128: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQf32_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp128_f32: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp128_p16: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp128_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp128_p8: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp128_s16: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp128_s32: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp128_s64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp128_s8: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp128_u16: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp128_u32: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp128_u64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp128_u8: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp16_p128: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp16_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp64_f32: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp64_p128: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp64_p16: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp64_p8: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp64_s16: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp64_s32: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp64_s64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp64_s8: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp64_u16: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp64_u32: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp64_u64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp64_u8: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp8_p128: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQp8_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQs16_p128: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQs16_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQs32_p128: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQs32_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQs64_p128: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQs64_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQs8_p128: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQs8_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQu16_p128: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQu16_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQu32_p128: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQu32_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQu64_p128: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQu64_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQu8_p128: Likewise.
      	 * gcc.target/arm/neon/vreinterpretQu8_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretf32_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretp16_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretp64_f32: Likewise.
      	 * gcc.target/arm/neon/vreinterpretp64_p16: Likewise.
      	 * gcc.target/arm/neon/vreinterpretp64_p8: Likewise.
      	 * gcc.target/arm/neon/vreinterpretp64_s16: Likewise.
      	 * gcc.target/arm/neon/vreinterpretp64_s32: Likewise.
      	 * gcc.target/arm/neon/vreinterpretp64_s64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretp64_s8: Likewise.
      	 * gcc.target/arm/neon/vreinterpretp64_u16: Likewise.
      	 * gcc.target/arm/neon/vreinterpretp64_u32: Likewise.
      	 * gcc.target/arm/neon/vreinterpretp64_u64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretp64_u8: Likewise.
      	 * gcc.target/arm/neon/vreinterpretp8_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterprets16_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterprets32_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterprets64_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterprets8_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretu16_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretu32_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretu64_p64: Likewise.
      	 * gcc.target/arm/neon/vreinterpretu8_p64: Likewise.
      	 * gcc.target/arm/neon/vsliQ_np64: Likewise.
      	 * gcc.target/arm/neon/vsli_np64: Likewise.
      	 * gcc.target/arm/neon/vsriQ_np64: Likewise.
      	 * gcc.target/arm/neon/vsri_np64: Likewise.
      	 * gcc.target/arm/neon/vst1Q_lanep64: Likewise.
      	 * gcc.target/arm/neon/vst1Qp64: Likewise.
      	 * gcc.target/arm/neon/vst1_lanep64: Likewise.
      	 * gcc.target/arm/neon/vst1p64: Likewise.
      	 * gcc.target/arm/neon/vst2p64: Likewise.
      	 * gcc.target/arm/neon/vst3p64: Likewise.
      	 * gcc.target/arm/neon/vst4p64: Likewise.
      
      From-SVN: r206131
      Kyrylo Tkachov committed
    • arm.c (enum arm_builtins): Add crypto builtins. · 021b5e6b
      2013-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      
      	 * config/arm/arm.c (enum arm_builtins): Add crypto builtins.
      	 (arm_init_neon_builtins): Handle crypto builtins.
      	 (bdesc_2arg): Likewise.
      	 (bdesc_1arg): Likewise.
      	 (bdesc_3arg): New table.
      	 (arm_expand_ternop_builtin): New function.
      	 (arm_expand_unop_builtin): Handle sha1h explicitly.
      	 (arm_expand_builtin): Handle ternary builtins.
      	 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS):
      	 Define __ARM_FEATURE_CRYPTO.
      	 * config/arm/arm.md: Include crypto.md.
      	 (is_neon_type): Add crypto types.
      	 * config/arm/arm_neon_builtins.def: Add TImode reinterprets.
      	 * config/arm/crypto.def: New.
      	 * config/arm/crypto.md: Likewise.
      	 * config/arm/iterators.md (CRYPTO_UNARY): New int iterator.
      	 (CRYPTO_BINARY): Likewise.
      	 (CRYPTO_TERNARY): Likewise.
      	 (CRYPTO_SELECTING): Likewise.
      	 (crypto_pattern): New int attribute.
      	 (crypto_size_sfx): Likewise.
      	 (crypto_mode): Likewise.
      	 (crypto_type): Likewise.
      	 * config/arm/neon-gen.ml: Handle poly64_t and poly128_t types.
      	 Handle crypto intrinsics.
      	 * config/arm/neon.ml: Add support for poly64 and polt128 types
      	 and intrinsics. Define crypto intrinsics.
      	 * config/arm/neon.md (neon_vreinterpretti<mode>): New pattern.
      	 (neon_vreinterpretv16qi<mode>): Use VQXMOV mode iterator.
      	 (neon_vreinterpretv8hi<mode>): Likewise.
      	 (neon_vreinterpretv4si<mode>): Likewise.
      	 (neon_vreinterpretv4sf<mode>): Likewise.
      	 (neon_vreinterpretv2di<mode>): Likewise.
      	 * config/arm/unspecs.md (UNSPEC_AESD, UNSPEC_AESE, UNSPEC_AESIMC,
      	 UNSPEC_AESMC, UNSPEC_SHA1C, UNSPEC_SHA1M, UNSPEC_SHA1P, UNSPEC_SHA1H,
      	 UNSPEC_SHA1SU0, UNSPEC_SHA1SU1, UNSPEC_SHA256H, UNSPEC_SHA256H2,
      	 UNSPEC_SHA256SU0, UNSPEC_SHA256SU1, VMULLP64): Define.
      	 * config/arm/arm_neon.h: Regenerate.
      
      From-SVN: r206130
      Kyrylo Tkachov committed
    • Improve -fuse-ld=[bfd|gold] check · b78e932d
      	PR driver/59321
      	* collect2.c (main): Check -fuse-ld=[bfd|gold] when
      	DEFAULT_LINKER is defined.
      	* common.opt (fuse-ld=bfd): Add Driver.
      	(fuse-ld=gold): Likewise.
      	* gcc.c (use_ld): New variable.
      	(driver_handle_option): Set use_ld for OPT_fuse_ld_bfd and
      	OPT_fuse_ld_gold.
      	(main): Check -fuse-ld=[bfd|gold] for -print-prog-name=ld.
      
      From-SVN: r206129
      H.J. Lu committed
    • Makefile.in (TEXI_GCC_FILES): Add arm-acle-intrinsics.texi. · 582e2e43
      [gcc/]
      2013-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      
      	* Makefile.in (TEXI_GCC_FILES): Add arm-acle-intrinsics.texi.
      	* config.gcc (extra_headers): Add arm_acle.h.
      	* config/arm/arm.c (FL_CRC32): Define.
      	(arm_have_crc): Likewise.
      	(arm_option_override): Set arm_have_crc.
      	(arm_builtins): Add CRC32 builtins.
      	(bdesc_2arg): Likewise.
      	(arm_init_crc32_builtins): New function.
      	(arm_init_builtins): Initialise CRC32 builtins.
      	(arm_file_start): Handle architecture extensions.
      	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_FEATURE_CRC32.
      	Define __ARM_32BIT_STATE.
      	(TARGET_CRC32): Define.
      	* config/arm/arm-arches.def: Add armv8-a+crc.
      	* config/arm/arm-tables.opt: Regenerate.
      	* config/arm/arm.md (type): Add crc.
      	(<crc_variant>): New insn.
      	* config/arm/arm_acle.h: New file.
      	* config/arm/iterators.md (CRC): New int iterator.
      	(crc_variant, crc_mode): New int attributes.
      	* confg/arm/unspecs.md (UNSPEC_CRC32B, UNSPEC_CRC32H, UNSPEC_CRC32W,
      	UNSPEC_CRC32CB, UNSPEC_CRC32CH, UNSPEC_CRC32CW): New unspecs.
      	* doc/invoke.texi: Document -march=armv8-a+crc option.
      	* doc/extend.texi: Document ACLE intrinsics.
      
      [gcc/testsuite/]
      2013-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      
      	* lib/target-supports.exp (add_options_for_arm_crc): New procedure.
      	(check_effective_target_arm_crc_ok_nocache): Likewise.
      	(check_effective_target_arm_crc_ok): Likewise.
      	* gcc.target/arm/acle/: New directory.
      	* gcc.target/arm/acle/acle.exp: New.
      	* gcc.target/arm/acle/crc32b.c: New test.
      	* gcc.target/arm/acle/crc32h.c: Likewise.
      	* gcc.target/arm/acle/crc32w.c: Likewise.
      	* gcc.target/arm/acle/crc32d.c: Likewise.
      	* gcc.target/arm/acle/crc32cb.c: Likewise.
      	* gcc.target/arm/acle/crc32ch.c: Likewise.
      	* gcc.target/arm/acle/crc32cw.c: Likewise.
      	* gcc.target/arm/acle/crc32cd.c: Likewise.
      
      From-SVN: r206128
      Kyrylo Tkachov committed
    • ef_error.c: Use -fopen-simd. · cd494e4d
      2013-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      
      	* c-c++-common/cilk-plus/SE/ef_error.c: Use -fopen-simd.
      
      From-SVN: r206127
      Kyrylo Tkachov committed
    • Fix comment in gcc/config/arm/predicates.md · 8b0497de
      From-SVN: r206126
      Christophe Lyon committed
    • re PR target/59142 (internal compiler error while compiling OpenCV 2.4.7) · 9f178d6a
      2013-12-19  Charles Baylis  <charles.baylis@linaro.org>
      
      	PR target/59142
      	gcc/
      	* config/arm/arm-ldmstm.ml: Use low_register_operand for Thumb
      	patterns.
      	* config/arm/ldmstm.md: Regenerate.
      
      From-SVN: r206125
      Charles Baylis committed
    • re PR target/59142 (internal compiler error while compiling OpenCV 2.4.7) · 03158648
      2013-12-19  Charles Baylis  <charles.baylis@linaro.org>
      
      	PR target/59142
      	gcc/
      	* arm/predicates.md (arm_hard_general_register_operand): New
      	predicate.
      	(arm_hard_register_operand): Remove.
      	* config/arm/arm-ldmstm.ml: Use arm_hard_general_register_operand
      	for all patterns.
      	* config/arm/ldmstm.md: Regenerate.
      
      From-SVN: r206124
      Charles Baylis committed
    • re PR target/59142 (internal compiler error while compiling OpenCV 2.4.7) · 315d7bd4
      2013-12-19  Charles Baylis  <charles.baylis@linaro.org>
      
      	PR target/59142
      	* config/arm/predicates.md (vfp_hard_register_operand): New predicate.
      	* config/arm/arm.md (vfp_pop_multiple_with_writeback): Use
      	vfp_hard_register_operand.
      
      From-SVN: r206123
      Christophe Lyon committed