[ARM] Fix CLZ_DEFINED_VALUE_AT_ZERO for vector modes

2014-11-02  Michael Collison  <michael.collison@linaro.org>

	* config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO) : Update
	to support vector modes.
	(CTZ_DEFINED_VALUE_AT_ZERO): Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217014 138bc75d-0d04-0410-961f-82ee72b054a4
	* c-c++-common/ubsan/float-cast-overflow-6.c: Add i?86-*-* target.
	* g++.dg/abi/no-weak1.C: Ditto.
	* g++.dg/opt/pr44919.C: Ditto.
	* g++.dg/opt/pr46640.C: Ditto.
	* g++.dg/opt/pr46649.C: Ditto.
	* g++.dg/opt/pr47036.C: Ditto.
	* g++.dg/opt/pr48273.C: Ditto.
	* g++.dg/opt/pr48302.C: Ditto.
	* g++.dg/opt/pr45788.C: Ditto.
	* g++.dg/opt/pr57662.C: Ditto.
	* gcc.dg/20031102-1.c: Ditto.
	* gcc.dg/builtin-bswap-7.c: Ditto.
	* gcc.dg/builtin-bswap-7a.c: Ditto.
	* gcc.dg/builtin-bswap-9.c: Ditto.
	* gcc.dg/combine_ashiftrt_1.c: Ditto.
	* gcc.dg/guality/bswaptest.c: Ditto.
	* gcc.dg/guality/clztest.c: Ditto.
	* gcc.dg/guality/ctztest.c: Ditto.
	* gcc.dg/guality/pr45003-1.c: Ditto.
	* gcc.dg/guality/pr45003-2.c: Ditto.
	* gcc.dg/guality/pr45003-3.c: Ditto.
	* gcc.dg/guality/pr58791-4.c: Ditto.
	* gcc.dg/guality/rotatetest.c:Ditto.
	* gcc.dg/ifcvt-fabs-1.c: Ditto.
	* gcc.dg/ira-loop-pressure.c: Ditto.
	* gcc.dg/ira-shrinkwrap-prep-1.c: Ditto.
	* gcc.dg/ira-shrinkwrap-prep-2.c: Ditto.
	* gcc.dg/lto/pr47259_0.c: Ditto.
	* gcc.dg/memcpy-5.c: Ditto.
	* gcc.dg/pr10474.c: Ditto.
	* gcc.dg/pr37438.c: Ditto.
	* gcc.dg/pr39453.c: Ditto.
	* gcc.dg/pr40501.c: Ditto.
	* gcc.dg/pr42245-2.c: Ditto.
	* gcc.dg/pr42245.c: Ditto.
	* gcc.dg/pr42246.c: Ditto.
	* gcc.dg/pr42249.c: Ditto.
	* gcc.dg/pr42388.c: Ditto.
	* gcc.dg/pr42389.c: Ditto.
	* gcc.dg/pr45352-1.c: Ditto.
	* gcc.dg/pr45352-2.c: Ditto.
	* gcc.dg/pr45352-3.c: Ditto.
	* gcc.dg/pr45352.c: Ditto.
	* gcc.dg/pr45472.c: Ditto.
	* gcc.dg/pr45652.c: Ditto.
	* gcc.dg/pr46212.c: Ditto.
	* gcc.dg/pr46521.c: Ditto.
	* gcc.dg/pr46522.c: Ditto.
	* gcc.dg/pr46875.c: Ditto.
	* gcc.dg/pr48374.c: Ditto.
	* gcc.dg/pr50251.c: Ditto.
	* gcc.dg/pr54472.c: Ditto.
	* gcc.dg/pr55702.c: Ditto.
	* gcc.dg/pr56990.c: Ditto.
	* gcc.dg/pr57104.c: Ditto.
	* gcc.dg/pr57662.c: Ditto.
	* gcc.dg/pr60866.c: Ditto.
	* gcc.dg/shrink-wrap-loop.c: Ditto.
	* gcc.dg/tm/memopt-15.c: Ditto.
	* gcc.dg/torture/pr52720.c: Ditto.
	* gcc.dg/torture/pr56778.c: Ditto.
	* gcc.dg/tree-prof/pr45354.c: Ditto.
	* gcc.dg/tree-prof/pr50907.c: Ditto.
	* gcc.dg/tree-ssa/loop-16.c: Ditto.
	* gcc.dg/tree-ssa/loop-18.c: Ditto.
	* gcc.dg/tree-ssa/pr44423.c: Ditto.
	* gcc.dg/misc-tests/godump-1.c: Ditto.
	* gfortran.dg/PR24188.f: Ditto.
	* gfortran.dg/errnocheck_1.f90: Ditto.
	* gfortran.dg/g77/20010216-1.f: Ditto.
	* gfortran.dg/pr42246-2.f: Ditto.
	* gfortran.dg/pr42294.f: Ditto.
	* gfortran.dg/pr44691.f: Ditto.
	* gfortran.dg/vect/pr45714-a.f: Ditto.
	* gcc.c-torture/execute/ieee/ieee.exp: Ditto.
	* gcc.misc-tests/linkage.exp: Ditto.
	* lib/target-supports.exp: Reformat x86 tagets.
	(check_effective_target_whole_vector_shift): Add i?86-*-* target.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217015 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/arc/arc.c: Include rtl-iter.h.
	(arc_rewrite_small_data_1): Delete.
	(arc_rewrite_small_data): Use FOR_EACH_SUBRTX_PTR.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217016 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/arc/arc.c (arc_rewrite_small_data_p): Constify argument.
	(small_data_pattern_1): Delete.
	(small_data_pattern): Use FOR_EACH_SUBRTX.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217017 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/arc/arc.c (arc600_corereg_hazard_1): Delete.
	(arc600_corereg_hazard): Use FOR_EACH_SUBRTX.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217018 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/arc/arc.c (write_ext_corereg_1): Delete.
	(arc_write_ext_corereg): Use FOR_EACH_SUBRTX.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217019 138bc75d-0d04-0410-961f-82ee72b054a4
	* g++.dg/cpp0x/gen-attrs-42.C: Add x86_64-*-* target.
	* g++.dg/ext/attrib42.C: Ditto.
	* g++.dg/torture/pr51344.C: Ditto.
	* g++.dg/tree-ssa/pr29902.C: Ditto.
	* gcc.c-torture/execute/20010129-1.c: Ditto.
	* gcc.dg/combine_ashiftrt_2.c: Ditto.
	* gcc.dg/march-generic.c: Ditto.
	* gcc.dg/torture/pr17526.c: Ditto.
	* gcc.dg/union-4.c: Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217020 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217023 138bc75d-0d04-0410-961f-82ee72b054a4
Add support for ref-qualified functions to std::mem_fn

	PR libstdc++/57898
	* include/std/functional (_Mem_fn_traits_base): New class template.
	(_Mem_fn_traits): New class template with specializations for every
	combination of cv-qualified and ref-qualified member function.
	(_Mem_fn_base): New class template for all pointer to member function
	types and partial specialization for pointer to member object types.
	(_Mem_fn): Inherit from _Mem_fn_base.
	* testsuite/20_util/function_objects/mem_fn/refqual.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217024 138bc75d-0d04-0410-961f-82ee72b054a4
Check number of arguments in bind expressions.

	* include/std/functional (_Mem_fn_traits_base::__arity): New typedef.
	(_Mem_fn_base::_Arity): New typedef.
	(_Bind_check_arity): New class template.
	(_Bind_helper, _Bindres_helper, _Bind_simple_helper): Check arity.
	* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217025 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-03  Zhenqiang Chen  <zhenqiang.chen@arm.com>

	* ifcvt.c (noce_emit_cmove, noce_get_alt_condition, noce_get_condition):
	Allow CC mode if HAVE_cbranchcc4.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217026 138bc75d-0d04-0410-961f-82ee72b054a4
2014-10-31  Andrew Pinski  <apinski@cavium.com>

	* config/mips/mips-cpus.def (octeon3): New cpu.
	* config/mips/mips.c (mips_rtx_cost_data): Add octeon3.
	(mips_print_operand <case 'T', case 't'>): Fix a bug as the mode
	of the comparison no longer matches mode of the operands.
	(mips_issue_rate): Handle PROCESSOR_OCTEON3.
	* config/mips/mips.h (TARGET_OCTEON):  Add Octeon3.
	(TARGET_OCTEON2): Likewise.
	(TUNE_OCTEON): Add Octeon3.
	* config/mips/mips.md (processor): Add octeon3.
	* config/mips/octeon.md (octeon_fpu): New automaton and cpu_unit.
	(octeon_arith): Add octeon3.
	(octeon_condmove): Remove.
	(octeon_condmove_o1): New reservation.
	(octeon_condmove_o2): New reservation.
	(octeon_condmove_o3_int_on_cc): New reservation.
	(octeon_load_o2): Add octeon3.
	(octeon_cop_o2): Likewise.
	(octeon_store): Likewise.
	(octeon_brj_o2): Likewise.
	(octeon_imul3_o2): Likewise.
	(octeon_imul_o2): Likewise.
	(octeon_mfhilo_o2): Likewise.
	(octeon_imadd_o2): Likewise.
	(octeon_idiv_o2_si): Likewise.
	(octeon_idiv_o2_di): Likewise.
	(octeon_fpu): Add to the automaton.
	(octeon_fpu): New cpu unit.
	(octeon_condmove_o2): Check for non floating point modes.
	(octeon_load_o2): Add prefetchx.
	(octeon_cop_o2): Don't check for octeon3.
	(octeon3_faddsubcvt): New reservation.
	(octeon3_fmul): Likewise.
	(octeon3_fmadd): Likewise.
	(octeon3_div_sf): Likewise.
	(octeon3_div_df): Likewise.
	(octeon3_sqrt_sf): Likewise.
	(octeon3_sqrt_df): Likewise.
	(octeon3_rsqrt_sf): Likewise.
	(octeon3_rsqrt_df): Likewise.
	(octeon3_fabsnegmov): Likewise.
	(octeon_fcond): Likewise.
	(octeon_fcondmov): Likewise.
	(octeon_fpmtc1): Likewise.
	(octeon_fpmfc1): Likewise.
	(octeon_fpload): Likewise.
	(octeon_fpstore): Likewise.
	* config/mips/mips-tables.opt: Regenerate.
	* doc/invoke.texi (-march=@var{arch}): Add octeon3.

2014-10-31  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

	* gcc.target/mips/octeon3-pipe-1.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217028 138bc75d-0d04-0410-961f-82ee72b054a4
ChangeLog:
2014-11-03  Zhenqiang Chen  <zhenqiang.chen@arm.com>

	* ifcvt.c (noce_try_store_flag_mask): Check rtx cost.

testsuite/ChangeLog:
2014-11-03  Zhenqiang Chen  <zhenqiang.chen@arm.com>

	* gcc.target/arm/ifcvt-size-check.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217029 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.c-torture/execute/20010129-1.c: Compile with -mtune=i686
	for ia32 targets only.
	* g++.dg/ext/attrib42.C: Compile for ia32 targets only.
	* g++.dg/tree-ssa/pr29902.C: Ditto.
	* g++.dg/cpp0x/gen-attrs-42.C: Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217030 138bc75d-0d04-0410-961f-82ee72b054a4
x86: extend vect-args testcase to AVX flavors

gcc/testsuite:
2014-11-03  Jan Beulich  <jbeulich@suse.com>

	* gcc.target/i386/i386.exp: Extend option set to test
	vect-args.c with to include -mavx, -mavx2, and -mavx512f.
	* gcc.target/i386/vect-args.c: Add AVX* modes and tests.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217032 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-03  Marc Glisse  <marc.glisse@inria.fr>

	PR tree-optimization/63666
	* fold-const.c: Include "optabs.h".
	(fold_ternary_loc) <VEC_PERM_EXPR>: Avoid canonicalizing a
	can_vec_perm_p permutation to one that is not.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217033 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-03  Marc Glisse  <marc.glisse@inria.fr>

	PR tree-optimization/60770
gcc/
	* tree-into-ssa.c (rewrite_update_stmt): Return whether the
	statement should be removed.
	(maybe_register_def): Likewise. Replace clobbers with default
	definitions.
	(rewrite_dom_walker::before_dom_children): Remove statement if
	rewrite_update_stmt says so.
	* tree-ssa-live.c: Include tree-ssa.h.
	(set_var_live_on_entry): Do not mark undefined variables as live.
	(verify_live_on_entry): Do not check undefined variables.
	* tree-ssa.h (ssa_undefined_value_p): New parameter for the case
	of partially undefined variables.
	* tree-ssa.c (ssa_undefined_value_p): Likewise.
	(execute_update_addresses_taken): Do not drop clobbers.

gcc/testsuite/
	* gcc.dg/tree-ssa/pr60770-1.c: New file.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217034 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57820
	* g++.dg/cpp0x/constexpr-ctor16.C: New.
	* g++.dg/cpp0x/constexpr-ctor17.C: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217035 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c/52769
	* gcc.dg/pr52769.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217036 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-03  Richard Biener  <rguenther@suse.de>

	* match.pd: Add two abs patterns.  Announce tree_expr_nonnegative_p.
	Also drop bogus FLOAT_EXPR and FIX_TRUNC_EXPR.
	* fold-const.c (fold_unary_loc): Remove them here.
	(tree_unary_nonnegative_warnv_p): Use CASE_CONVERT.
	* gimple-fold.c (fold_gimple_assign): Remove now obsolete
	GIMPLE_UNARY_RHS case.
	(gimple_fold_stmt_to_constant_1): Likewise.
	(replace_stmt_with_simplification): Fix inverted comparison.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217039 138bc75d-0d04-0410-961f-82ee72b054a4