1. 17 Oct, 2012 7 commits
  2. 16 Oct, 2012 16 commits
    • re PR rtl-optimization/54870 (gfortran.dg/array_constructor_4.f90 FAILs) · 88d8330d
      	PR rtl-optimization/54870
      	* tree.h (TREE_ADDRESSABLE): Document special usage on SSA_NAME.
      	* cfgexpand.c (update_alias_info_with_stack_vars ): Set it on the
      	SSA_NAME pointer that points to a partition if there is at least
      	one variable with it set in the partition.
      	* dse.c (local_variable_can_escape): New predicate.
      	(can_escape): Call it.
      	* gimplify.c (mark_addressable): If this is a partitioned decl, also
      	mark the SSA_NAME pointer that points to a partition.
      
      From-SVN: r192517
      Eric Botcazou committed
    • rtl.h (get_call_rtx_from): New prototype. · da4fdf2d
      	* rtl.h (get_call_rtx_from): New prototype.
      	* rtlanal.c (get_call_rtx_from): New function.
      	* calls.c (emit_call_1): Use it.
      	* dse.c (scan_insn): Likewise
      	* dwarf2out.c (dwarf2out_var_location): Likewise.
      	* sched-deps.c (call_may_noreturn_p): Likewise.
      	* var-tracking.c (prepare_call_arguments): Likewise.
      	* config/sh/sh.c (sh_adjust_cost): Likewise.
      
      From-SVN: r192516
      Steven Bosscher committed
    • 2012-10-16 Tom de Vries <tom@codesourcery.com> · f841b683
      	* expr.c (move_by_pieces, move_by_pieces_ninsns, can_store_by_pieces)
      	(store_by_pieces_1): Don't enter loop when no more data is left.
      
      From-SVN: r192514
      Tom de Vries committed
    • formatter.h (_Debug_msg_id): Add __msg_bucket_index_oob. · 7181e991
      2012-10-16  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/debug/formatter.h (_Debug_msg_id): Add
      	__msg_bucket_index_oob.
      	* include/debug/macros.h (__glibcxx_check_bucket_index): New.
      	* include/debug/unordered_set (unordered_set<>::begin(size_type)):
      	Add check on bucket index.
      	(unordered_set<>::begin(size_type) const): Likewise.
      	(unordered_set<>::cbegin(size_type) const): Likewise.
      	(unordered_set<>::end(size_type)): Likewise.
      	(unordered_set<>::end(size_type) const): Likewise.
      	(unordered_set<>::cend(size_type) const): Likewise.
      	(unordered_set<>::bucket_size(size_type)): Likewise.
      	(unordered_multiset<>::begin(size_type)): Likewise.
      	(unordered_multiset<>::begin(size_type) const): Likewise.
      	(unordered_multiset<>::cbegin(size_type) const): Likewise.
      	(unordered_multiset<>::end(size_type)): Likewise.
      	(unordered_multiset<>::end(size_type) const): Likewise.
      	(unordered_multiset<>::cend(size_type) const): Likewise.
      	(unordered_multiset<>::bucket_size(size_type)): Likewise.
      	* include/debug/unordered_map (unordered_map<>::begin(size_type)):
      	Likewise.
      	(unordered_map<>::begin(size_type) const): Likewise.
      	(unordered_map<>::cbegin(size_type) const): Likewise.
      	(unordered_map<>::end(size_type)): Likewise.
      	(unordered_map<>::end(size_type) const): Likewise.
      	(unordered_map<>::cend(size_type) const): Likewise.
      	(unordered_map<>::bucket_size(size_type)): Likewise.
      	(unordered_multimap<>::begin(size_type)): Likewise.
      	(unordered_multimap<>::begin(size_type) const): Likewise.
      	(unordered_multimap<>::cbegin(size_type) const): Likewise.
      	(unordered_multimap<>::end(size_type)): Likewise.
      	(unordered_multimap<>::end(size_type) const): Likewise.
      	(unordered_multimap<>::cend(size_type) const): Likewise.
      	(unordered_multimap<>::bucket_size(size_type)): Likewise.
      	* testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
      	New.
      	* testsuite/23_containers/unordered_map/debug/begin1_neg.cc: New.
      	* testsuite/23_containers/unordered_map/debug/begin2_neg.cc: New.
      	* testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: New.
      	* testsuite/23_containers/unordered_map/debug/end1_neg.cc: New.
      	* testsuite/23_containers/unordered_map/debug/end2_neg.cc: New.
      	* testsuite/23_containers/unordered_map/debug/cend_neg.cc: New.
      	* testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
      	New.
      	* testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc: New.
      	* testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc: New.
      	* testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc: New.
      	* testsuite/23_containers/unordered_multimap/debug/end1_neg.cc: New.
      	* testsuite/23_containers/unordered_multimap/debug/end2_neg.cc: New.
      	* testsuite/23_containers/unordered_multimap/debug/cend_neg.cc: New.
      	* testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
      	New.
      	* testsuite/23_containers/unordered_set/debug/begin1_neg.cc: New.
      	* testsuite/23_containers/unordered_set/debug/begin2_neg.cc: New.
      	* testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: New.
      	* testsuite/23_containers/unordered_set/debug/end1_neg.cc: New.
      	* testsuite/23_containers/unordered_set/debug/end2_neg.cc: New.
      	* testsuite/23_containers/unordered_set/debug/cend_neg.cc: New.
      	* testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
      	New.
      	* testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc: New.
      	* testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc: New.
      	* testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc: New.
      	* testsuite/23_containers/unordered_multiset/debug/end1_neg.cc: New.
      	* testsuite/23_containers/unordered_multiset/debug/end2_neg.cc: New.
      	* testsuite/23_containers/unordered_multiset/debug/cend_neg.cc: New.
      
      From-SVN: r192512
      François Dumont committed
    • loop-doloop.c (doloop_modify): Pass doloop_end pattern to gen_doloop_begin. · 2407343c
              * loop-doloop.c (doloop_modify): Pass doloop_end pattern to
              gen_doloop_begin.
              (doloop_optimize): Pass flag to indicate if loop is entered at top
              to gen_doloop_end.
              * config/arm/thumb2.md (doloop_end): Accept extra operand.
              * config/bfin/bfin.md (doloop_end): Likewise.
              * config/c6x/c6x.md (doloop_end): Likewise.
              * config/ia64/ia64.md (doloop_end): Likewise.
              * config/mep/mep.md (doloop_begin, doloop_end): Likewise.
              * config/rs6000/rs6000.md (doloop_end): Likewise.
              * config/s390/s390.md (doloop_end): Likewise.
              * config/sh/sh.md (doloop_end): Likewise.
              * config/spu/spu.md (doloop_end): Likewise.
              * config/tilegx/tilegx.md (doloop_end): Likewise.
              * config/tilepro/tilepro.md (doloop_end): Likewise.
              * doc/md.texi (doloop_end): Document new operand.
              * basic-block.h (contains_no_active_insn_p): Declare.
              * cfgrtl.c (contains_no_active_insn_p): New function, factored
              out of ...
              (forwarder_block_p): ... here.
      
      From-SVN: r192505
      Joern Rennecke committed
    • re PR c/53063 (encode group options in the .opt files) · d919140b
      2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR c/53063
      	PR c/40989
      	* doc/options.texi (EnabledBy): Document new form.
      	* optc-gen.awk: Handle new form of EnabledBy.
      	* common.opt (Wunused-but-set-parameter): Use EnabledBy.
      	(Wunused-parameter): Likewise.
      	* opts.c (finish_options): Do not handle them explicitly.
      	* opt-functions.awk (search_var_name): New.
      
      From-SVN: r192503
      Manuel López-Ibáñez committed
    • re PR c/53063 (encode group options in the .opt files) · 65d4f2cd
      2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR c/53063
      	PR c/40989
      gcc/
      	* optc-gen.awk: Handle new form of LangEnabledBy.
      	* opts.c (set_Wstrict_aliasing): Declare here. Make static.
      	* common.opt (Wstrict-aliasing=,Wstrict-overflow=): Do not use Init.
      	* doc/options.texi (LangEnabledBy): Document new form.
      	* flags.h (set_Wstrict_aliasing): Do not declare.
      c-family/
      	* c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
      	* c-opts.c (c_common_handle_option): Do not set them here. Add
      	comment.
      	(c_common_post_options): Likewise.
      testsuite/
      	* gcc.dg/Wstrict-overflow-24.c: New.
      
      From-SVN: r192502
      Manuel López-Ibáñez committed
    • reload.c (find_reloads_subreg_address): Remove FORCE_REPLACE parameter. · 80de67b8
      	* reload.c (find_reloads_subreg_address): Remove FORCE_REPLACE
      	parameter.  Always replace normal subreg with memory reference
      	whenever possible.  Return NULL otherwise.
      	(find_reloads_toplev): Always call find_reloads_subreg_address
      	for subregs of registers equivalent to a memory location.
      	Only recurse further if find_reloads_subreg_address fails.
      	(find_reloads_address_1): Only call find_reloads_subreg_address
      	for subregs of registers equivalent to a memory location.
      	Properly handle failure of find_reloads_subreg_address.
      
      From-SVN: r192499
      Ulrich Weigand committed
    • re PR fortran/50981 ([OOP] Wrong-code for scalarizing ELEMENTAL call with absent OPTIONAL argument) · 16e82b25
      2012-10-16  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/50981
              PR fortran/54618
              * trans.h (gfc_conv_derived_to_class, gfc_conv_class_to_class):
              Update prototype.
              * trans-stmt.c (trans_associate_var,gfc_trans_allocate): Update
              calls to those functions.
              * trans-expr.c (gfc_conv_derived_to_class,
              * gfc_conv_class_to_class,
              gfc_conv_expr_present): Handle absent polymorphic arguments.
              (class_scalar_coarray_to_class): New function.
              (gfc_conv_procedure_call): Update calls.
      
      2012-10-16  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/50981
              PR fortran/54618
              * gfortran.dg/class_optional_1.f90: New.
              * gfortran.dg/class_optional_2.f90: New.
      
      From-SVN: r192495
      Tobias Burnus committed
    • re PR debug/54796 (Non-addressable stack parameter debug quality regression) · 0fe03ac3
      	PR debug/54796
      	* rtl.h: Document jump flag on VALUE.
      	* cselib.h (cselib_set_value_sp_based,
      	cselib_sp_based_value_p): New prototypes.
      	* alias.c (find_base_term): For cselib_sp_based_value_p
      	return static_reg_base_value[STACK_POINTER_REGNUM].
      	* cselib.c (SP_BASED_VALUE_P): Define.
      	(cselib_set_value_sp_based, cselib_sp_based_value_p): New functions.
      	* var-tracking.c (add_stores): Call cselib_set_value_sp_based
      	for not yet preserved VALUEs of sp on sp assignments if
      	hard_frame_pointer_adjustment != -1.
      	(vt_initialize): When setting hard_frame_pointer_adjustment,
      	disassociate sp from its previous value and call
      	cselib_set_value_sp_based on a new VALUE created for sp.
      
      	* gcc.dg/guality/pr54796.c: New test.
      
      From-SVN: r192494
      Jakub Jelinek committed
    • re PR tree-optimization/54889 (Revision 191983 gives compfail for 465.tonto in… · cded4e9e
      re PR tree-optimization/54889 (Revision 191983 gives compfail for 465.tonto in SPEC CPU 2006 when use -O3 -mavx)
      
      	PR tree-optimization/54889
      	* tree-vect-stmts.c (vectorizable_load): Add VIEW_CONVERT_EXPR if
      	ARRAY_REF newref doesn't have compatible type with vectype element
      	type, use vectype element type for MEM_REF.
      
      	* gfortran.dg/pr54889.f90: New test.
      
      From-SVN: r192493
      Jakub Jelinek committed
    • combine.c (record_dead_and_set_regs): Iterate over hard register set with a hard_reg_set_iterator. · c7fb4c7a
      	* combine.c (record_dead_and_set_regs): Iterate over hard register set
      	with a hard_reg_set_iterator.
      	* cse.c (invalidate_for_call): Likewise.
      	* gcse.c (compute_hash_table_work): Likewise.
      	* loop-iv.c (simplify_using_initial_values): Likewise.
      	* postreload-gcse.c (record_opr_changes): Likewise.
      	* regcprop.c (copyprop_hardreg_forward_1): Likewise.
      	* var-tracking.c (dataflow_set_clear_at_call): Likewise.
      
      From-SVN: r192490
      Steven Bosscher committed
    • c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define. · 909881cb
      	* c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
      	(dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
      	Remove POINTER_TYPE handling, add large unsigned handling and use
      	ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
      
      From-SVN: r192489
      Eric Botcazou committed
    • [multiple changes] · a4da41e1
      2012-10-15   Easwaran Raman  <eraman@google.com>
      
              * optabs.c (emit_cmp_and_jump_insn_1): Add a new parameter to
              specificy the probability of taking the jump.
              (emit_cmp_and_jump_insns): Likewise.
              (expand_compare_and_swap_loop): Make the jump predicted not taken.
              * dojump.c (do_compare_rtx_and_jump): Remove the code attaching
              REG_BR_PROB note and pass probability to emit_cmp_and_jump_insns.
              * cfgbuild.c (compute_outgoing_frequencies): Do not guess outgoing
              probabilities for branches with more than two successors.
              * expr.c (emit_block_move_via_loop): Predict the loop backedge loop
              to be highly taken.
              (try_casesi): Pass the probability of jumping to the default label.
              (try_tablejump): Likewise.
              (do_tablejump): Likewise.
              * expr.h (try_tablejump): Add a new parameter.
              (try_casesi): Likewise.
              (emit_cmp_and_jump_insns): Add probability as default parameter with a
              default value of -1.
              * except.c (sjlj_emit_function_enter): Pass probability to
              emit_cmp_and_jump_insns.
              * stmt.c (case_node): Add new fields PROB and SUBTREE_PROB.
              (do_jump_if_equal): Pass probability for REG_BR_PROB note.
              (add_case_node): Pass estimated probability of jumping to the case
              label.
              (emit_case_decision_tree): Pass default_prob to emit_case_nodes.
              (get_outgoing_edge_probs): New function.
              (conditional_probability): Likewise.
              (reset_out_edges_aux): Likewise.
              (compute_cases_per_edge): Likewise.
              (emit_case_dispatch_table): Update probabilities of edges coming out
              of the switch statement.
              (expand_case): Compute and propagate default edge probability to
              emit_case_dispatch_table.
              (expand_sjlj_dispatch_table): Update calls to add_case_node and
              emit_case_dispatch_table.
              (balance_case_nodes): Update subtree_prob values.
              (emit_case_nodes): Compute edge probabilities and add pass them to
              emit_cmp_and_jump_insns.
      
      testsuite/ChangeLog:
      2012-10-15   Easwaran Raman  <eraman@google.com> 
              * gcc.dg/tree-prof/switch-case-1.c: New test case.
              * gcc.dg/tree-prof/switch-case-2.c: New test case.
      
      From-SVN: r192488
      Easwaran Raman committed
    • Daily bump. · 07a11640
      From-SVN: r192486
      GCC Administrator committed
  3. 15 Oct, 2012 17 commits
    • builtin-apply-2.c, [...]: Correct STACK_ARGUMENTS_SIZE for MMIX. · 6f9ca45b
      	* gcc.dg/torture/stackalign/builtin-apply-2.c,
      	gcc.dg/builtin-apply2.c: Correct STACK_ARGUMENTS_SIZE for MMIX.
      
      From-SVN: r192483
      Hans-Peter Nilsson committed
    • re PR target/54925 (Segfault in gen_split_910) · c646194b
      	PR target/54925
      	* gcc.c-torture/compile/pr54925.c: New.
      
      From-SVN: r192482
      Oleg Endo committed
    • re PR target/51244 ([SH] Inefficient conditional branch and code around T bit) · 26943929
      	PR target/51244
      	* config/sh/sh-protos.h (set_of_reg): New struct.
      	(sh_find_set_of_reg, sh_is_logical_t_store_expr,
      	sh_try_omit_signzero_extend):  Declare...
      	* config/sh/sh.c (sh_find_set_of_reg, sh_is_logical_t_store_expr,
      	sh_try_omit_signzero_extend): ...these new functions.
      	* config/sh/sh.md (*logical_op_t): New insn_and_split.
      	(*zero_extend<mode>si2_compact): Use sh_try_omit_signzero_extend
      	in splitter.
      	(*extend<mode>si2_compact_reg): Convert to insn_and_split.
      	Use sh_try_omit_signzero_extend in splitter.
      	(*mov<mode>_reg_reg): Disallow t_reg_operand as operand 1.
      	(*cbranch_t): Rewrite combine part in splitter using new
      	sh_find_set_of_reg function.
      
      	PR target/51244
      	* gcc.target/sh/pr51244-17.c: New.
      
      From-SVN: r192481
      Oleg Endo committed
    • re PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer) · 14df3f36
      	PR target/54760
      	* config/sh/sh.c (sh_find_base_reg_disp): Stop searching insns when
      	hitting a call insn if GBR is marked as call used.
      	* config/sh/iterators.md (QIHISIDI): New mode iterator.
      	* config/sh/predicates.md (gbr_address_mem): New predicate.
      	* config/sh/sh.md (*movdi_gbr_load, *movdi_gbr_store): New
      	insn_and_split.
      	Use QIHISIDI instead of QIHISI in unnamed GBR addressing splits.
      
      	PR target/54760
      	* gcc.target/sh/pr54760-2.c: Add long long and unsigned long long test
      	functions.
      	* gcc.target/sh/pr54760-4.c: New.
      
      From-SVN: r192480
      Oleg Endo committed
    • sh.c: Update function attribute comments. · 845f4111
      	* config/sh/sh.c: Update function attribute comments.
      	* doc/extend.texi (function_vector): Rephrase SH2A specific part.
      	(nosave_low_regs, renesas, trapa_handler): Document SH specific
      	attributes.
      	(sp_switch, trap_exit): Add to index.
      
      From-SVN: r192479
      Oleg Endo committed
    • re PR target/34777 (uClibc-0.9.29 compilation error for sh4 arch with gcc-4.x) · e67ae073
      	PR target/34777
      	* gcc.target/sh/torture/sh-torture.exp: New.
      	* gcc.target/sh/torture/pr34777.c: New.
      
      From-SVN: r192478
      Oleg Endo committed
    • config.gcc: Match arm*-*-linux-* for ARM Linux/GNU. · 9945a876
      gcc/
      2012-10-15  Matthias Klose  <doko@ubuntu.com>
      
              * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
              * doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi.
      
      gcc/testsuite/
      2012-10-15  Matthias Klose  <doko@ubuntu.com>
      
              * lib/target-supports.exp (check_profiling_available): Match
              arm*-*-linux-* for ARM Linux/GNU.
              * g++.dg/torture/predcom-1.C: Match arm*-*-linux-* for ARM Linux/GNU.
              * gfortran.dg/enum_10.f90: Likewise.
              * gfortran.dg/enum_9.f90: Likewise.
              * gcc.target/arm/synchronize.c: Likewise.
              * g++.old-deja/g++.jason/enum6.C: Likewise.
              * g++.old-deja/g++.other/enum4.C: Likewise.
              * g++.old-deja/g++.law/enum9.C: Likewise.
      
      gcc/ada/
      2012-10-15  Matthias Klose  <doko@ubuntu.com>
      
              * gcc-interface/Makefile.in: Match arm*-*-linux-*eabi* for
              ARM Linux/GNU.
      
      libgcc/
      2012-10-15  Matthias Klose  <doko@ubuntu.com>
      
              * config.host: Match arm*-*-linux-* for ARM Linux/GNU.
      
      libstdc++-v3/
      2012-10-15  Matthias Klose  <doko@ubuntu.com>
      
              * configure.host: Match arm*-*-linux-* for ARM Linux/GNU.
              * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
              * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
      
      libjava/
      2012-10-15  Matthias Klose  <doko@ubuntu.com>
      
              * configure.ac: Match arm*-*-linux-* for ARM Linux/GNU.
              * configure: Regenerate.
      
      From-SVN: r192475
      Matthias Klose committed
    • files.c (read_file_guts, [...]): Free memory before returning. · 55e7f907
      2012-10-15  Tobias Burnus  <burnus@net-b.de>
      
              * files.c (read_file_guts, _cpp_save_file_entries): Free memory
              before returning.
              * lex.c (warn_about_normalization): Ditto.
              * mkdeps.c (deps_save): Ditto.
              * pch.c (cpp_valid_state): Ditto.
      
      From-SVN: r192474
      Tobias Burnus committed
    • thread_local-cse.C: Move dg-do line. · 95bf35bd
      gcc/testsuite/
      	* g++.dg/tls/thread_local-cse.C: Move dg-do line.
      	* g++.dg/tls/thread_local-wrap4.C: Require fpic.
      
      From-SVN: r192473
      Richard Sandiford committed
    • 2012-10-15 Paolo Carlini <paolo.carlini@oracle.com> · dd016b8f
      	* Fix typo in ChangeLog entry.
      
      From-SVN: r192472
      Paolo Carlini committed
    • re PR c++/17805 (too liberal operator lookup) · 52243905
      /cp
      2012-10-15  Alexandre Oliva  <aoliva@redhat.com>
      	    Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/17805
      	* call.c (build_new_op): Filter out operator functions that don't
      	satisfy enum-conversion match requirements.
      
      /testsuite
      2012-10-15  Alexandre Oliva  <aoliva@redhat.com>
      	    Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/17805
      	* g++.dg/overload/operator6.C: New.
      
      Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
      
      From-SVN: r192471
      Alexandre Oliva committed
    • PR c++/50080 (again) · c9e3b209
      /cp
      2012-10-15  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50080 (again)
      	* parser.c (cp_parser_optional_template_keyword): When -pedantic
      	and C++98 mode restore pre-Core/468 behavior.
      
      /testsuite
      2012-10-15  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50080 (again)
      	* g++.dg/parse/tmpl-outside2.C: Tweak, error in C++98.
      	* g++.dg/parse/tmpl-outside1.C: Likewise.
      	* g++.dg/template/qualttp18.C: Likewise.
      	* g++.old-deja/g++.pt/memtemp87.C: Likewise.
      	* g++.old-deja/g++.pt/overload13.C: Likewise.
      
      From-SVN: r192470
      Paolo Carlini committed
    • * testsuite/ChangeLog: Missing from my previous commit. · e3044010
      From-SVN: r192469
      Uros Bizjak committed
    • sse.md (UNSPEC_MOVU): Remove. · 860f5e77
      	* config/i386/sse.md (UNSPEC_MOVU): Remove.
      	(UNSPEC_LOADU): New.
      	(UNSPEC_STOREU): Ditto.
      	(<sse>_movu<ssemodesuffix><avxsizesuffix>): Split to ...
      	(<sse>_loadu<ssemodesuffix><avxsizesuffix>): ... this and ...
      	(<sse>_storeu<ssemodesuffix><avxsizesuffix>) ... this.
      	(<sse2>_movdqu<avxsizesuffix>): Split to ...
      	(<sse2>_loaddqu<avxsizesuffix>): ... this and ...
      	(<sse2>_storedqu<avxsizesuffix>): ... this.
      	(*sse4_2_pcmpestr_unaligned): Update.
      	(*sse4_2_pcmpistr_unaligned): Ditto.
      
      	* config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use
      	gen_avx_load{dqu,ups,upd}256 to load from unaligned memory and
      	gen_avx_store{dqu,ups,upd}256 to store to unaligned memory.
      	(ix86_expand_vector_move_misalign): Use gen_sse_loadups or
      	gen_sse2_load{dqu,upd} to load from unaligned memory and
      	gen_sse_loadups or gen_sse2_store{dqu,upd}256 to store to
      	unaligned memory.
      	(struct builtin_description bdesc_spec) <IX86_BUILTIN_LOADUPS>:
      	Use CODE_FOR_sse_loadups.
      	<IX86_BUILTIN_LOADUPD>: Use CODE_FOR_sse2_loadupd.
      	<IX86_BUILTIN_LOADDQU>: Use CODE_FOR_sse2_loaddqu.
      	<IX86_BUILTIN_STOREUPS>: Use CODE_FOR_sse_storeups.
      	<IX86_BUILTIN_STOREUPD>: Use CODE_FOR_sse2_storeupd.
      	<IX86_BUILTIN_STOREDQU>: Use CODE_FOR_sse2_storedqu.
      	<IX86_BUILTIN_LOADUPS256>: Use CODE_FOR_avx_loadups256.
      	<IX86_BUILTIN_LOADUPD256>: Use CODE_FOR_avx_loadupd256.
      	<IX86_BUILTIN_LOADDQU256>: Use CODE_FOR_avx_loaddqu256.
      	<IX86_BUILTIN_STOREUPS256>: Use CODE_FOR_avx_storeups256.
      	<IX86_BUILTIN_STOREUPD256>: Use CODE_FOR_avx_storeupd256.
      	<IX86_BUILTIN_STOREDQU256>: Use CODE_FOR_avx_storedqu256.
      
      testsuite/ChangeLog:
      
      	* gcc.target/i386/avx256-unaligned-load-1.c: Update asm scan patterns.
      	* gcc.target/i386/avx256-unaligned-load-2.c: Ditto.
      	* gcc.target/i386/avx256-unaligned-load-3.c: Ditto.
      	* gcc.target/i386/avx256-unaligned-load-4.c: Ditto.
      	* gcc.target/i386/avx256-unaligned-store-1.c: Ditto.
      	* gcc.target/i386/avx256-unaligned-store-2.c: Ditto.
      	* gcc.target/i386/avx256-unaligned-store-3.c: Ditto.
      	* gcc.target/i386/avx256-unaligned-store-4.c: Ditto.
      
      From-SVN: r192468
      Uros Bizjak committed
    • re PR c++/50080 ([DR 468] error: 'template' (as a disambiguator) is only allowed within templates) · 81833173
      /cp
      2012-10-15  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50080
      	* parser.c (cp_parser_optional_template_keyword): Implement
      	Core/468, allow outside template.
      
      /testsuite
      2012-10-15  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50080
      	* g++.dg/parse/tmpl-outside2.C: New.
      	* g++.dg/parse/tmpl-outside1.C: Adjust.
      	* g++.dg/template/qualttp18.C: Likewise.
      	* g++.old-deja/g++.pt/memtemp87.C: Likewise.
      	* g++.old-deja/g++.pt/overload13.C: Likewise.
      
      From-SVN: r192465
      Paolo Carlini committed
    • Cleanup comments in alias.c · 308a3fe2
      While reading alias.c, it seemed to me that some comments could use
      some cleanups.
      
      gcc/
      
      	* alias.c: Cleanup comments.
      
      From-SVN: r192463
      Dodji Seketeli committed
    • re PR middle-end/54915 (ICE: verify_gimple failed: type mismatch in vector permute expression) · 895e8371
      2012-10-15  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR tree-optimization/54915
      
      gcc/
      	* tree-ssa-forwprop.c (simplify_vector_constructor): Check
      	argument's type.
      
      gcc/testsuite/
      	* gcc.dg/tree-ssa/pr54915.c: New testcase.
      
      From-SVN: r192461
      Marc Glisse committed