Commit Graph

114252 Commits

Author SHA1 Message Date
Nathan Sidwell
bdbdc4e1cd gcov.c (total_lines, [...]): New global vars.
* gcov.c (total_lines, total_executed): New global vars.
	(generate_results): Call executed_summary.
	(executed_summary): New function, broken out of ...
	(function_summary): ... here.  Call it.
	* coverage.c (coverage_finish): Also check for local_tick == -1.
	* gcov-dump (tag_function): Correct labelling typo.

From-SVN: r182744
2011-12-30 18:22:16 +00:00
Nathan Sidwell
04dbc287a6 libgcov.c (gcov_crc32): Remove global var.
* libgcov.c (gcov_crc32): Remove global var.
	(free_fn_data): New function.
	(buffer_fn_data): Pass in filename, more robust error recovery.
	(crc32_unsigned): New function.
	(gcov_exit): More robust detection of new program. More robust
	error recovery.
	(__gcov_init): Do not update program's crc here.

From-SVN: r182743
2011-12-30 18:08:56 +00:00
Jonathan Wakely
84de2982de extensions.xml: Improve markup and note that some extensions are included in C++11.
* doc/xml/manual/extensions.xml: Improve markup and note that some
	extensions are included in C++11.
	* doc/xml/manual/concurrency_extensions.xml: Likewise.

From-SVN: r182742
2011-12-30 13:46:18 +00:00
Paolo Carlini
f32fd5aaec re PR libstdc++/51711 (regex.h contains incorrect code)
2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/51711
	* include/bits/regex.h (regex_replace): Fix thinko.
	* testsuite/28_regex/algorithms/regex_replace/char/51711.cc: New.
	* testsuite/28_regex/algorithms/regex_replace/wchar_t/51711.cc:
	Likewise.

From-SVN: r182740
2011-12-30 11:40:37 +00:00
GCC Administrator
e6386103dd Daily bump.
From-SVN: r182738
2011-12-30 00:19:02 +00:00
Paolo Carlini
cc74ac5dbc hashtable_policy.h (struct _Ebo_helper<>): Don't use _N, badname on Solaris; minor stylistic changes.
2011-12-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable_policy.h (struct _Ebo_helper<>): Don't use
	_N, badname on Solaris; minor stylistic changes.

From-SVN: r182734
2011-12-29 22:04:16 +00:00
Michael Meissner
567210bcd2 Update PR 51623, to eliminate checks against being in the text section.
From-SVN: r182731
2011-12-29 21:13:10 +00:00
Michael Meissner
c1a46bc689 Fix 50988 testsuite failures
From-SVN: r182728
2011-12-29 18:30:53 +00:00
François Dumont
a188284c61 re PR libstdc++/51608 ([C++11] Unordered containers end(size_type) isn't constant time)
2011-12-29  François Dumont <fdumont@gcc.gnu.org>

	PR libstdc++/51608
	* include/bits/hashtable_policy.h (_Equal_helper<>): New, change the
	way the _Equal functor is used depending on whether hash code is
	cached or not.
	(_Ebo_helper<>): New helper type to introduce EBO when possible.
	(_Hash_code_base): Use _Ebo_helper to limit memory footprint. Move
	_Equal functor management...
	(_Hashtable_base): ...here, new, use _Equal_helper.
	(_Local_iterator_base<>, _Locale_iterator<>, _Locale_const_iterator<>):
	New, use _Hash_code_base, implementation of...
	* include/bits/hashtable.h (_Hashtable<>::local_iterator,
	_Hashtable<>::const_local_iterator): ...those. Add static assertions
	checking that some functors are empty depending on whether hash code
	is cache or not.
	(_Hashtable<>::_M_bucket_index): New overloads using current bucket
	count, use through out the _Hastable<> implementation.
	* include/bits/unordered_set.h (__unordered_set<>,
	__unordered_multiset<>): Cache hash code iff hash functor is not
	empty and not final.
	* include/bits/unordered_map.h (__unordered_map<>,
	__unordered_multimap<>): Likewise.
	* include/debug/unordered_map
	(unordered_map<>::_S_to_local, unordered_multimap<>::_S_to_local):
	Adapt to match new local iterator implementation.
	* include/debug/unordered_set (unordered_set<>::_S_to_local,
	unordered_multiset<>::_S_to_local): Likewise.
	* include/profile/unordered_map (unordered_map<>::_M_profile_destruct,
	unordered_multimap<>::_M_profile_destruct): Enhance thanks to usage of
	local iterators.
	* include/profile/unordered_set (unordered_set<>::_M_profile_destruct,
	unordered_multiset<>::_M_profile_destruct): Likewise.
	* testsuite_files/23_containers/unordered_set/instantiation_neg.cc:
	Fix error line.
	* testsuite_files/23_containers/unordered_set/final_hash.cc: New.
	* testsuite_files/23_containers/unordered_multiset/final_hash.cc: New.
	* testsuite_files/23_containers/unordered_map/final_hash.cc: New.
	* testsuite_files/23_containers/unordered_multimap/final_hash.cc: New.

From-SVN: r182727
2011-12-29 17:58:51 +00:00
Michael Meissner
497081e8cf Fix 51702 testsuite failures
From-SVN: r182726
2011-12-29 17:45:11 +00:00
Michael Eager
1893a69a50 microblaze.md: Add expander for simple_return...
* config/microblaze/microblaze.md: Add expander for simple_return,
  return, add return_internal and simple_return_internal insns.

From-SVN: r182725
2011-12-29 15:50:28 +00:00
Jonathan Wakely
10b293bbd0 re PR libstdc++/51701 (Remove reference to Henry Suter's RWLock from documentation)
PR libstdc++/51701
	* doc/xml/manual/extensions.xml (Input and Output): Remove reference
	to RWLock class.

From-SVN: r182724
2011-12-29 15:41:37 +00:00
Oleg Endo
91afd29bd7 sh.h (BRANCH_COST): Use sh_branch_cost variable.
* config/sh/sh.h (BRANCH_COST): Use sh_branch_cost variable.
	* config/sh/sh.c (sh_option_override): Simplify sh_branch_cost
        expression.

From-SVN: r182723
2011-12-29 15:11:47 +00:00
Kai Tietz
81ed42d319 bitfield3.C: Make sure test runs for windows targets without activated ms-bitfields option.
* g++.dg/abi/bitfield3.C: Make sure test runs
        for windows targets without activated ms-bitfields option.

From-SVN: r182722
2011-12-29 11:03:26 +01:00
Kai Tietz
08a2f72255 new3.C: Adjust test for mingw targets to use static-version.
* g++.old-deja/g++.brendan/new3.C: Adjust test for mingw
       targets to use static-version.
       * g++.old-deja/g++.abi/cxa_vec.C: Likewise.
       * g++.old-deja/g++.abi/arraynew.C: Likewise.
       * g++.old-deja/g++.eh/new1.C: Likewise.
       * g++.old-deja/g++.eh/new2.C: Likewise.

From-SVN: r182721
2011-12-29 11:01:29 +01:00
Thomas Koenig
d8e5eb5711 dependency.c (gfc_dep_compare_functions): Document new behavior for REALs and complex.
2011-12-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* dependency.c (gfc_dep_compare_functions):  Document
	new behavior for REALs and complex.  Add comment to cases
	where only INTEGERs are handled.  Compare REAL and COMPLEX
	constants, returning 0 and -2 only.  Add assert to make
	sure that only integer constants are compared.

2011-12-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* gfortran.dg/function_optimize_9.f90:  New test.

From-SVN: r182720
2011-12-29 09:20:01 +00:00
GCC Administrator
663b7c9305 Daily bump.
From-SVN: r182719
2011-12-29 00:18:53 +00:00
Ian Lance Taylor
3d2445684a * dwarf2out.c (gen_compile_unit_die): Use DW_LANG_Go for Go.
From-SVN: r182717
2011-12-29 00:17:55 +00:00
Oleg Endo
8d2fbf9b2d * MAINTAINERS (Write After Approval): Add myself.
From-SVN: r182713
2011-12-28 21:02:32 +00:00
Fabien Chêne
1e9f58189c re PR c++/23211 (using dec in nested class doesn't import name)
gcc/testsuite/ChangeLog

2011-12-28  Fabien Chene  <fabien@gcc.gnu.org>

	PR c++/23211
	* g++.dg/template/using18.C: New.
	* g++.dg/template/using19.C: New.
	* g++.dg/template/nested3.C: Remove dg-message at instantiation.
	* g++.dg/template/crash13.C: Likewise.

gcc/cp/ChangeLog

2011-12-28  Fabien Chene  <fabien@gcc.gnu.org>

	PR c++/23211
	* name-lookup.c (do_class_using_decl): Use dependent_scope_p
	instead of dependent_type_p, to check that a non-dependent
	nested-name-specifier of a class-scope using declaration refers to
	a base, even if the current scope is dependent.
	* parser.c (cp_parser_using_declaration): Set
	USING_DECL_TYPENAME_P to 1 if the DECL is not null. Re-indent a
	'else' close to the prior modification.

From-SVN: r182711
2011-12-28 20:53:14 +01:00
Michael Meissner
37f3b6804e Fix PR 51623
From-SVN: r182710
2011-12-28 18:02:49 +00:00
Paolo Carlini
0fe0620df5 re PR c++/51547 (auto, type deduction, reference collapsing and const: invalid initialization of reference of type 'const X&&' from expression of type 'const X')
2011-12-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51547
	* g++.dg/cpp0x/pr51547.C: New.

From-SVN: r182709
2011-12-28 15:52:54 +00:00
Toon Moene
535131f245 ChangeLog: Fix entry.
* ChangeLog: Fix entry.

From-SVN: r182708
2011-12-28 11:03:07 +00:00
Uros Bizjak
5394b9f3c2 pr50396.c: Use dg-add-options ieee.
* gcc.dg/torture/pr50396.c: Use dg-add-options ieee.

From-SVN: r182706
2011-12-28 10:21:01 +01:00
Ira Rosen
a024e70ebe re PR tree-optimization/51684 (ICE in gfortran.dg/maxloc_bounds_5 on ia64)
PR tree-optimization/51684
        * tree-vect-slp.c (vect_schedule_slp_instance): Get gsi of
        original statement in case of a pattern.
        (vect_schedule_slp): Likewise.

From-SVN: r182705
2011-12-28 09:20:16 +00:00
Uros Bizjak
7786100420 re PR testsuite/50722 (FAIL: gcc.dg/pr49994-3.c (test for excess errors))
PR testsuite/50722
	* gcc.dg/pr49994-3.c: Skip on ia64-*-*-*, hppa*-*-* and *-*-hpux*.

From-SVN: r182704
2011-12-28 10:16:24 +01:00
Ian Lance Taylor
1358551fc6 compiler: Prohibit comparisons of funcs, maps, and slices to non-nil.
From-SVN: r182703
2011-12-28 03:46:20 +00:00
GCC Administrator
9437ab32a5 Daily bump.
From-SVN: r182702
2011-12-28 00:19:04 +00:00
Ian Lance Taylor
11304b7b99 go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use build_distinct_type_copy rather than build_variant_type_copy.
* go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
	build_distinct_type_copy rather than build_variant_type_copy.
	(Gcc_backend::set_placeholder_array_type): Likewise.
	(Gcc_backend::named_type): Add special handling for builtin
	basic types.

From-SVN: r182698
2011-12-28 00:06:10 +00:00
Ian Lance Taylor
dd8d9bff45 compiler: Rework range over slice.
From-SVN: r182697
2011-12-28 00:02:39 +00:00
Michael Meissner
5090c808a3 Use work email address for December 2 and 9th changes
From-SVN: r182696
2011-12-27 22:56:18 +00:00
Paolo Carlini
7004306f7c re PR c++/51547 (auto, type deduction, reference collapsing and const: invalid initialization of reference of type 'const X&&' from expression of type 'const X')
2011-12-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51547
	* g++.dg/cpp0x/pr51547.C: New.

From-SVN: r182695
2011-12-27 19:04:24 +00:00
Eric Botcazou
282bc7b4c5 re PR rtl-optimization/51667 (new FAIL: 27_io/basic_*stream/* execution test with -m32)
PR rtl-optimization/51667
	* ree.c (insn_merge_code): Delete.
	(is_insn_merge_attempted): Likewise.
	(get_insn_status): Likewise.
	(set_insn_status): Likewise.
	(struct ext_cand): Add CODE and MODE fields.
	(combine_set_extend): Rename to...
	(combine_set_extension): ...this.  Use above fields and tidy up.
	(transform_ifelse): Likewise.
	(get_defs): Return the chain of definitions.
	(is_this_a_cmove): Merge into...
	(is_cond_copy_insn): ...this.  Return bool.
	(make_defs_and_copies_lists): Adjust calls to get_defs and simplify.
	(merge_def_and_ext): Adjust call to combine_set_extend.
	(combine_reaching_defs): Remove calls to {g|s}et_insn_status.
	(struct extend_info): Rename to...
	(struct re_info): ...this.  Add DEF_MAP field.
	(add_ext_candidate): Merge into...
	(add_removable_extension): ...this.  Adjust calls to get_defs.  Ensure
	reaching definitions are associated with only one kind of extension.
	(find_removable_extensions): Create and destroy the definition map.
	(find_and_remove_re): Return void.  Change 'long' variables to 'int'.
	Do not deal with is_insn_merge_attempted.

From-SVN: r182694
2011-12-27 16:25:43 +00:00
Jan Hubicka
0bed228eb6 re PR tree-optimization/48641 (ICE: verify_flow_info failed: Wrong frequency of block 77 -419530 with -O -fno-tree-ccp -fno-tree-copy-prop)
PR middle-end/48641 
	* tree-ssa-threadupdate.c (redirect_edges): Watch for overflow.
	* gcc.dg/compile/pr48641.c: New file.

From-SVN: r182693
2011-12-27 10:41:58 +00:00
Uros Bizjak
a055ca4382 re PR libgcj/49193 (__sync_xxxx builtins aren't used in sysdep/*/locks.h)
PR libgcj/49193
	* sysdep/alpha/locks.h (compare_and_swap): Call
	__sync_bool_compare_and_swap.
	(release_set): Call __sync_synchronize.

From-SVN: r182692
2011-12-27 10:40:23 +01:00
GCC Administrator
6231d28e0b Daily bump.
From-SVN: r182690
2011-12-27 00:18:39 +00:00
Oleg Endo
f33223159d sync.md: Add soft atomics ABI description.
* config/sh/sync.md: Add soft atomics ABI description.
	(fetchop_name): Use 'or' instead of 'ior'.
	(fetchop_insn): Remove.
	(atomic_compare_and_swap<mode>_soft):
        Don't insert aligning nop after the write-back instruction.  Fix
	multi-line asm output formatting style.
        (atomic_fetch_<fetchop_name><mode>_soft): Likewise.
        (atomic_fetch_nand<mode>_soft): Likewise.
        (atomic_<fetchop_name>_fetch<mode>_soft): Likewise.
        (atomic_nand_fetch<mode>_soft): Likewise.

From-SVN: r182686
2011-12-26 23:00:14 +00:00
Joey Ye
f93519addb re PR middle-end/51200 (Wrong code sequence to store restrict volatile bitfield)
2011-12-26  Joey Ye  <joey.ye@arm.com>

	PR middle-end/51200
	* gcc.dg/volatile-bitfields-2.c: New test.

From-SVN: r182685
2011-12-26 08:43:48 +00:00
GCC Administrator
6a7cc8eaf4 Daily bump.
From-SVN: r182684
2011-12-26 00:18:57 +00:00
GCC Administrator
8298043ae4 Daily bump.
From-SVN: r182680
2011-12-25 00:18:47 +00:00
Torvald Riegel
c898f7b85f libitm: Don't enforce privatization safety if already in serial mode.
libitm/
	* beginend.cc (GTM::gtm_thread::trycommit): Don't enforce
	privatization safety if already in serial mode.

From-SVN: r182676
2011-12-24 01:42:48 +00:00
Torvald Riegel
610e390135 libitm: Fix privatization safety during upgrades to serial mode.
libitm/
	* beginend.cc (GTM::gtm_thread::restart): Add and handle
	finish_serial_upgrade parameter.
	* libitm.h (GTM::gtm_thread::restart): Adapt declaration.
	* config/linux/rwlock.cc (GTM::gtm_rwlock::write_lock_generic):
	Don't unset reader flag.
	(GTM::gtm_rwlock::write_upgrade_finish): New.
	* config/posix/rwlock.cc: Same.
	* config/linux/rwlock.h (GTM::gtm_rwlock::write_upgrade_finish):
	Declare.
	* config/posix/rwlock.h: Same.
	* method-serial.cc (GTM::gtm_thread::serialirr_mode): Unset reader
	flag after commit or after rollback when restarting.

From-SVN: r182675
2011-12-24 01:42:35 +00:00
Torvald Riegel
799142bf74 libitm: Fixed conversion to C++11 atomics.
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
2011-12-24 01:42:20 +00:00
GCC Administrator
8b3bff4ce9 Daily bump.
From-SVN: r182673
2011-12-24 00:18:54 +00:00
Richard Henderson
e2c8363087 Delete VEC_EXTRACT_EVEN/ODD_EXPR.
* 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
2011-12-23 14:07:16 -08:00
Jason Merrill
ef2361a9e5 re PR c++/51507 ([C++0x] Function parameter pack doesn't use in template-argument-list)
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
2011-12-23 17:00:13 -05:00
Jason Merrill
d54ce1dfc6 tree.c (dependent_name): OFFSET_REF and BASELINK are not dependent names.
* tree.c (dependent_name): OFFSET_REF and BASELINK
	are not dependent names.

From-SVN: r182667
2011-12-23 17:00:02 -05:00
Anatoly Sokolov
4f9664f71a score.h (REGISTER_MOVE_COST, [...]): Remove.
* 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
2011-12-24 01:40:42 +04:00
Uros Bizjak
54eca047c7 fast-math-pr35982.c: Fix parenthesis in target selectors.
2011-12-23  Uros Bizjak  <ubizjak@gmail.com>

	* gcc.dg/vect/fast-math-pr35982.c: Fix parenthesis in target selectors.

From-SVN: r182665
2011-12-23 22:11:15 +01:00
Jakub Jelinek
3fcc1b5520 Delete VEC_INTERLEAVE_*_EXPR.
* 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
2011-12-23 10:38:03 -08:00