1. 24 Dec, 2011 2 commits
    • libitm: Fixed conversion to C++11 atomics. · 799142bf
      	libitm/
      	* beginend.cc (GTM::gtm_thread::begin_transaction): Add comment.
      	(GTM::gtm_thread::try_commit): Changed memory order.
      	* config/linux/alpha/futex_bits.h (sys_futex0): Take atomic int
      	as parameter.
      	* config/linux/x86/futex_bits.h (sys_futex0): Same.
      	* config/linux/sh/futex_bits.h (sys_futex0): Same.
      	* config/linux/futex_bits.h (sys_futex0): Same.
      	* config/linux/futex.cc (futex_wait, futex_wake): Same.
      	* config/linux/futex.h (futex_wait, futex_wake): Same.
      	* config/linux/rwlock.h (gtm_rwlock::writers,
      	gtm_rwlock::writer_readers, gtm_rwlock::readers): Change to atomic
      	ints.
      	* config/linux/rwlock.cc (gtm_rwlock::read_lock,
      	gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
      	gtm_rwlock::write_unlock): Fix memory orders and fences.
      	* config/posix/rwlock.cc (gtm_rwlock::read_lock,
      	gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
      	gtm_rwlock::write_unlock): Same.
      	* config/linux/rwlock.h (gtm_rwlock::summary): Change to atomic int.
      	* method-gl.cc (gl_mg::init, gl_wt_dispatch::memtransfer_static,
      	gl_wt_dispatch::memset_static, gl_wt_dispatch::begin_or_restart):
      	Add comments.
      	(gl_wt_dispatch::pre_write, gl_wt_dispatch::validate,
      	gl_wt_dispatch::load, gl_wt_dispatch::store,
      	gl_wt_dispatch::try_commit, gl_wt_dispatch::rollback): Fix memory
      	orders and fences.  Add comments.
      
      From-SVN: r182674
      Torvald Riegel committed
    • Daily bump. · 8b3bff4c
      From-SVN: r182673
      GCC Administrator committed
  2. 23 Dec, 2011 24 commits
    • Delete VEC_EXTRACT_EVEN/ODD_EXPR. · e2c83630
      	* tree.def (VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR): Remove.
      	* cfgexpand.c (expand_debug_expr): Don't handle them.
      	* expr.c (expand_expr_real_2): Likewise.
      	* fold-const.c (fold_binary_loc): Likewise.
      	* gimple-pretty-print.c (dump_binary_rhs): Likewise.
      	* tree-cfg.c (verify_gimple_assign_binary): Likewise.
      	* tree-inline.c (estimate_operator_cost): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-vect-generic.c (expand_vector_operations_1): Likewise.
      	* optabs.c (optab_for_tree_code): Likewise.
      	(can_vec_perm_for_code_p): Remove.
      	(expand_binop): Don't try it.
      	(init_optabs): Don't init vec_extract_even/odd_optab.
      	* genopinit.c (optabs): Likewise.
      	* optabs.h (OTI_vec_extract_even, OTI_vec_extract_odd): Remove.
      	(vec_extract_even_optab, vec_extract_odd_optab): Remove.
      	* tree-vect-data-refs.c (vect_strided_store_supported): Tidy code.
      	(vect_permute_store_chain): Use TYPE_VECTOR_SUBPARTS instead of
      	GET_MODE_NUNITS; check vect_gen_perm_mask return value instead of
      	asserting vect_strided_store_supported.
      	(vect_strided_load_supported): Use can_vec_perm_p.
      	(vect_permute_load_chain): Use VEC_PERM_EXPR.
      
      	* doc/generic.texi (VEC_EXTRACT_EVEN_EXPR): Remove.
      	(VEC_EXTRACT_ODD_EXPR): Remove.
      	* doc/md.texi (vec_extract_even, vec_extract_odd): Remove.
      
      From-SVN: r182669
      Richard Henderson committed
    • re PR c++/51507 ([C++0x] Function parameter pack doesn't use in template-argument-list) · ef2361a9
      	PR c++/51507
      	* search.c (at_function_scope_p): Also check cfun.
      	* pt.c (tsubst_pack_expansion): Check it instead of
      	cp_unevaluated_operand.
      	(instantiate_template_1): Clear current_function_decl.
      
      From-SVN: r182668
      Jason Merrill committed
    • tree.c (dependent_name): OFFSET_REF and BASELINK are not dependent names. · d54ce1df
      	* tree.c (dependent_name): OFFSET_REF and BASELINK
      	are not dependent names.
      
      From-SVN: r182667
      Jason Merrill committed
    • score.h (REGISTER_MOVE_COST, [...]): Remove. · 4f9664f7
      	* config/score/score.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
      	* config/score/score-protos.h (score_register_move_cost): Remove.
      	* config/score/score.c (TARGET_REGISTER_MOVE_COST): Define.
      	(score_register_move_cost): Make static. Change arguments type from
      	enum reg_class to reg_class_t.
      
      From-SVN: r182666
      Anatoly Sokolov committed
    • fast-math-pr35982.c: Fix parenthesis in target selectors. · 54eca047
      2011-12-23  Uros Bizjak  <ubizjak@gmail.com>
      
      	* gcc.dg/vect/fast-math-pr35982.c: Fix parenthesis in target selectors.
      
      From-SVN: r182665
      Uros Bizjak committed
    • Delete VEC_INTERLEAVE_*_EXPR. · 3fcc1b55
      	* tree.def (VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR): Remove.
      	* gimple-pretty-print.c (dump_binary_rhs): Don't handle
      	VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
      	* expr.c (expand_expr_real_2): Likewise.
      	* tree-cfg.c (verify_gimple_assign_binary): Likewise.
      	* cfgexpand.c (expand_debug_expr): Likewise.
      	* tree-inline.c (estimate_operator_cost): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-vect-generic.c (expand_vector_operations_1): Likewise.
      	* fold-const.c (fold_binary_loc): Likewise.
      	* doc/generic.texi (VEC_INTERLEAVE_HIGH_EXPR,
      	VEC_INTERLEAVE_LOW_EXPR): Remove documentation.
      	* optabs.c (optab_for_tree_code): Don't handle
      	VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
      	(expand_binop, init_optabs): Remove vec_interleave_high_optab
      	and vec_interleave_low_optab.
      	* genopinit.c (optabs): Likewise.
      	* optabs.h (OTI_vec_interleave_high, OTI_vec_interleave_low): Remove.
      	(vec_interleave_high_optab, vec_interleave_low_optab): Remove.
      	* doc/md.texi (vec_interleave_high, vec_interleave_low): Remove
      	documentation.
      	* tree-vect-stmts.c (gen_perm_mask): Renamed to...
      	(vect_gen_perm_mask): ... this.  No longer static.
      	(perm_mask_for_reverse, vectorizable_load): Adjust callers.
      	* tree-vectorizer.h (vect_gen_perm_mask): New prototype.
      	* tree-vect-data-refs.c (vect_strided_store_supported): Don't try
      	VEC_INTERLEAVE_*_EXPR, use can_vec_perm_p instead of
      	can_vec_perm_for_code_p.
      	(vect_permute_store_chain): Generate VEC_PERM_EXPR with interleaving
      	masks instead of VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
      	* config/i386/i386.c (expand_vec_perm_interleave2): If
      	expand_vec_perm_interleave3 would handle it, return false.
      	(expand_vec_perm_broadcast_1): Don't use vec_interleave_*_optab.
      
      From-SVN: r182663
      Jakub Jelinek committed
    • mips: Improved vectorization support for Loongson and mips3d-ps. · 7dab511c
      	* config/mips/loongson.md (UNSPEC_LOONGSON_PINSR_0,
      	UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2,
      	UNSPEC_LOONGSON_PINSR_3): Replace with...
      	(UNSPEC_LOONGSON_PINSRH): ... this.
      	(UNSPEC_LOONGSON_VINIT): New.
      	(UNSPEC_LOONGSON_DSLL, UNSPEC_LOONGSON_DSRL): New.
      	(VWB): New mode iterator.
      	(V_inner): New mode attribute.
      	(loongson_vec_init1_<VHB>): New.
      	(*vec_concatv2si): New.
      	(and<VWHB>3, ior<VWHB>3, xor<VWHB>3, one_cmpl<VWHB>2): New.
      	(*loongson_nor): New.
      	(loongson_pextrh): Un-macro-ify.
      	(loongson_pmaddhw): Likewise.
      	(smaxv4hi3, umaxv8qi3, sminv4hi3, uminv8qi3): Likewise.
      	(loongson_pinsrh_0): Represent with vec_select+vec_concat.
      	(loongson_pinsrh_1, loongson_pinsrh_2, loongson_pinsrh_3): Likewise.
      	(*vec_setv4hi, vec_setv4hi): New.
      	(sdot_prodv4hi): New.
      	(smax<VWB>3, smin<VWB>3): New.
      	(reduc_uplus_v8qi): New.
      	(loongson_pshufh): Remove destination matching input.
      	(ashl<VWH>3, ashr<VWH>3, lshr<VWH>3): Fix type attribute.
      	(vec_interleave_high<VWHB>, vec_interleave_low<VWHB>): Remove.
      	(loongson_punpckhbh, loongson_punpckhhw, loongson_punpckhhw_qi,
      	loongson_punpckhwd, loongson_punpckhwd_qi, loongson_punpckhwd_hi,
      	loongson_punpcklbh, loongson_punpcklhw, loongson_punpcklhw_qi,
      	loongson_punpcklwd, loongson_punpcklwd_qi, loongson_punpcklwd_hi,
      	vec_perm_const<VWHB>, vec_unpacks_lo_<VHB>, vec_unpacks_hi_<VHB>,
      	vec_unpacku_lo_<VHB>, vec_unpacku_hi_<VHB>, vec_shl_<VWHBDI>,
      	vec_shr_<VWHBDI>, reduc_uplus_<VWH>, reduc_splus_<VWHB>,
      	reduc_smax_<VWHB>, reduc_smin_<VWHB>, reduc_umax_<VWHB>,
      	reduc_umin_<VB>): New.
      	* config/mips/mips-ps-3d.md (vec_perm_const_ps): New.
      	(mips_pul_ps, mips_puu_ps, mips_pll_ps, mips_plu_ps): Expand in
      	terms of vec_perm_const_ps.
      	(vec_perm_constv2sf): New.
      	(vec_initv2sf): Use mips_expand_vector_init.
      	(vec_concatv2sf): Rename from vec_initv2sf_internal.
      	(vec_setv2sf): Use vec_perm_const_ps.
      	(reduc_splus_v2sf, reduc_smin_v2sf, reduc_smax_v2sf): New.
      	* config/mips/loongson.h (pshufh_u, pshufh_s): Don't pass dest to
      	the builtin.
      	* config/mips/mips-modes.def (V16QI, V8HI, V4SI, V4SF): New modes.
      	* config/mips/mips-protos.h: Update.
      	* config/mips/mips.c (mips_get_arg_info): Match V2SFmode, not all
      	MODE_VECTOR_FLOAT.
      	(mips_return_mode_in_fpr_p): Likewise.
      	(mips_cannot_change_mode_class): Allow 8-byte integral mode changes.
      	(CODE_FOR_loongson_punpckhbh, CODE_FOR_loongson_punpckhhw,
      	CODE_FOR_loongson_punpckhwd, CODE_FOR_loongson_punpcklbh,
      	CODE_FOR_loongson_punpcklhw, CODE_FOR_loongson_punpcklwd): Remove.
      	(mips_builtins): Remove first operand for loongson pshufh builtins.
      	(MAX_VECT_LEN, struct expand_vec_perm_d): New.
      	(mips_expand_vselect, mips_expand_vselect_vconcat,
      	mips_expand_vpc_loongson_even_odd, mips_expand_vpc_loongson_pshufh,
      	mips_expand_vpc_loongson_bcast, mips_expand_vec_perm_const_1,
      	mips_expand_vec_perm_const, mips_vectorize_vec_perm_const_ok,
      	mips_expand_vec_unpack, mips_constant_elt_p, mips_expand_vi_broadcast,
      	mips_expand_vi_constant, mips_expand_vi_loongson_one_pinsrh,
      	mips_expand_vi_general, mips_expand_vec_reduc, mips_expand_vec_minmax,
      	TARGET_VECTORIZE_VEC_PERM_CONST_OK): New.
      	(mips_expand_vector_init): Rewrite.
      	* config/mips/predicates.md (const_2_or_3_operand): New.
      	(const_0_to_3_operand): New.
      
      From-SVN: r182662
      Richard Henderson committed
    • weak_ptr_expired.cc: Modify to PASS instead of XFAIL. · 7a37d6ea
      	* testsuite/tr1/2_general_utilities/shared_ptr/cons/
      	weak_ptr_expired.cc: Modify to PASS instead of XFAIL.
      
      From-SVN: r182661
      Jonathan Wakely committed
    • re PR libstdc++/49204 ([C++0x] remaining issues in <future>) · 7e98765e
      	PR libstdc++/49204
      	* include/std/future (future_errc): Implement LWG 2056.
      
      From-SVN: r182658
      Jonathan Wakely committed
    • neon.md (float<mode><V_cvtto>2): New. · 5bf4dcf2
      2011-12-23  Dmitry Plotnikov  <dplotnikov@ispras.ru>
      
      	* config/arm/neon.md (float<mode><V_cvtto>2): New.
      	(floatuns<mode><V_cvtto>2): New.
      	(fix_trunc<mode><V_cvtto>2): New.
      	(fix_truncuns<mode><V_cvtto>2): New.
      	* config/arm/iterators.md (V_cvtto): New iterator.
      
      gcc/testsuite/:
      	* gcc.target/arm/vect-vcvt.c: New test.
      	* gcc.target/arm/vect-vcvtq.c: New test.
      	
      	* gcc.dg/vect/fast-math-pr35982.c: Added vect_strided2 alternative
      	in final check.
      	
      	* lib/target-supports.exp (check_effective_target_vect_intfloat_cvt):
      	True for ARM NEON.
      	(check_effective_target_vect_uintfloat_cvt): Likewise.
      	(check_effective_target_vect_floatuint_cvt): Likewise.
      	(check_effective_target_vect_floatint_cvt): Likewise.
      
      From-SVN: r182657
      Dmitry Plotnikov committed
    • [multiple changes] · a17e8c05
      2011-12-23  Pascal Obry  <obry@adacore.com>
      
      	* prj.ads (For_Every_Project_Imported): Add In_Aggregate_Lib
      	parameter to generic formal procedure.
      	* prj.adb (For_Every_Project_Imported): Update accordingly.
      	(Recursive_Check): Likewise. Do not parse imported project for
      	aggregate library. This is needed as the imported projects are
      	there just to handle dependencies.
      	(Look_For_Sources): Likewise.
      	(Recursive_Add): Likewise.
      	* prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb:
      	Add In_Aggregate_Lib parameter to routines used with
      	For_Every_Project_Imported generic procedure.
      	* prj-nmsc.adb (Tree_Processing_Data): Add In_Aggregate_Lib field.
      	(Check): Move where it is used. Fix implementation
      	to not check libraries that are inside aggregate libraries.
      	(Recursive_Check): Add In_Aggregate_Lib parameter.
      
      2011-12-23  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch7.adb (Analyze_Package_Body, Has_Referencer): A generic
      	package is a referencer regardless of whether there is a
      	subsequent subprogram with an Inline pragma.
      
      2011-12-23  Geert Bosch  <bosch@adacore.com>
      
      	* sem_ch3.adb (Can_Derive_From): Check matching Float_Rep on VMS.
      
      From-SVN: r182656
      Arnaud Charlet committed
    • gnatcmd.adb, [...]: Minor reformatting. · 7471389a
      2011-12-23  Pascal Obry  <obry@adacore.com>
      
      	* gnatcmd.adb, prj.adb, prj-nmsc.adb: Minor reformatting.
      
      From-SVN: r182655
      Pascal Obry committed
    • re PR rtl-optimization/50396 (SSE division by zero generates incorrect code with… · e46bf5d6
      re PR rtl-optimization/50396 (SSE division by zero generates incorrect code with optimizations enabled)
      
      2011-12-23  Richard Guenther  <rguenther@suse.de>
      
      	PR rtl-optimization/50396
      	* simplify-rtx.c (simplify_binary_operation_1): Properly
      	guard code that only works for integers.
      
      	* gcc.dg/torture/pr50396.c: New testcase.
      
      From-SVN: r182653
      Richard Guenther committed
    • vms-crtlmap.map (log10): Fix typo. · a27d7a6f
      2011-12-23  Tristan Gingold  <gingold@adacore.com>
      
      	* config/vms/vms-crtlmap.map (log10): Fix typo.
      
      From-SVN: r182652
      Tristan Gingold committed
    • vms.h (SUPPORTS_ONE_ONLY): Define. · d18b704b
      2011-12-23  Tristan Gingold  <gingold@adacore.com>
      
      	* config/ia64/vms.h (SUPPORTS_ONE_ONLY): Define.
      
      From-SVN: r182651
      Tristan Gingold committed
    • re PR tree-optimization/43491 (Unnecessary temporary for global register variable) · 2b9ed3bc
      2011-12-22  Bin Cheng  <bin.cheng@arm.com>
      	Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/43491
      	* tree-ssa-pre.c (eliminate): Don't replace global register
      	variable when it is the RHS of a single assign.
      
      	testsuite:
      	* gcc.dg/tree-ssa/pr43491.c: New test.
      
      
      Co-Authored-By: Richard Guenther <rguenther@suse.de>
      
      From-SVN: r182650
      Bin Cheng committed
    • toplev.c (process_options): Fix typo. · 994182df
      2011-12-22  Joey Ye  <joey.ye@arm.com>
          
          * toplev.c (process_options): Fix typo.
      
      From-SVN: r182649
      Joey Ye committed
    • Commit missing log entry. · 81f7827a
      From-SVN: r182648
      John David Anglin committed
    • re PR testsuite/50722 (FAIL: gcc.dg/pr49994-3.c (test for excess errors)) · c8882fc1
      	PR testsuite/50722
      	gcc.dg/pr49994-3.c: xfail on hppa*-*-*.
      
      From-SVN: r182647
      John David Anglin committed
    • re PR middle-end/51252 (FAIL: c-c++-common/tm/freq.c (internal compiler error)) · 57d138a9
      	PR middle-end/51252
      	* config/pa/pa.c (pa_som_tm_clone_table_section): New function.
      	(som_tm_clone_table_section): Declare.
      	(pa_file_start_space): Create $TM_CLONE_TABLE$ subspace.
      	(pa_som_asm_init_sections): Init som_tm_clone_table_section.
      	* config/pa/som.h (TARGET_ASM_TM_CLONE_TABLE_SECTION): Define.
      
      From-SVN: r182646
      John David Anglin committed
    • regex.h (match_results::size_type): Use allocator_traits. · 2ae90de6
      	* include/bits/regex.h (match_results::size_type): Use
      	allocator_traits.
      
      From-SVN: r182645
      Jonathan Wakely committed
    • Daily bump. · b409bbe6
      From-SVN: r182644
      GCC Administrator committed
  3. 22 Dec, 2011 14 commits