[ARM/AArch64] Add CRC32 scheduling information to Cortex-A53 and Cortex-A57.

	* config/arm/cortex-a15.md (cortex_a15_alu_shift): Add crc type
	to reservation.
	* config/arm/cortex-a53.md (cortex_a53_alu_shift): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213632 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Implement some vmul*_lane*_f* intrinsics in arm_neon.h.

	* config/aarch64/arm_neon.h (vmul_f64): New intrinsic.
	(vmuld_laneq_f64): Likewise.
	(vmuls_laneq_f32): Likewise.
	(vmul_n_f64): Likewise.
	(vmuld_lane_f64): Reimplement in C.
	(vmuls_lane_f32): Likewise.

	* gcc.target/aarch64/simd/vmul_f64_1.c: New test.
	* gcc.target/aarch64/simd/vmul_n_f64_1.c: Likewise.
	* gcc.target/aarch64/simd/vmuld_lane_f64_1.c: Likewise.
	* gcc.target/aarch64/simd/vmuld_laneq_f64_1.c: Likewise.
	* gcc.target/aarch64/simd/vmuls_lane_f32_1.c: Likewise.
	* gcc.target/aarch64/simd/vmuls_laneq_f32_1.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213634 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Implement some saturating math NEON intrinsics.

	* config/aarch64/aarch64-simd.md (aarch64_sqdmulh_laneq<mode>):
	Use VSDQ_HSI mode iterator.
	(aarch64_sqrdmulh_laneq<mode>): Likewise.
	(aarch64_sq<r>dmulh_laneq<mode>_internal): New define_insn.
	* config/aarch64/aarch64-simd-builtins.def (sqdmulh_laneq):
	Use BUILTIN_VDQHS macro.
	(sqrdmulh_laneq): Likewise.
	* config/aarch64/arm_neon.h (vqdmlalh_laneq_s16): New intrinsic.
	(vqdmlals_laneq_s32): Likewise.
	(vqdmlslh_laneq_s16): Likewise.
	(vqdmlsls_laneq_s32): Likewise.
	(vqdmulhh_laneq_s16): Likewise.
	(vqdmulhs_laneq_s32): Likewise.
	(vqrdmulhh_laneq_s16): Likewise.
	(vqrdmulhs_laneq_s32): Likewise.

	* gcc.target/aarch64/simd/vqdmlalh_laneq_s16_1.c: New test.
	* gcc.target/aarch64/simd/vqdmlals_laneq_s32_1.c: Likewise.
	* gcc.target/aarch64/simd/vqdmlslh_laneq_s16_1.c: Likewise.
	* gcc.target/aarch64/simd/vqdmlsls_laneq_s32_1.c: Likewise.
	* gcc.target/aarch64/simd/vqdmulhh_laneq_s16_1.c: Likewise.
	* gcc.target/aarch64/simd/vqdmulhs_laneq_s32_1.c: Likewise.
	* gcc.target/aarch64/simd/vqrdmulhh_laneq_s16_1.c: Likewise.
	* gcc.target/aarch64/simd/vqrdmulhs_laneq_s32_1.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213635 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Fix types for vqdmlals_lane_s32 and vqdmlsls_lane_s32 intrinsics.

	* config/aarch64/arm_neon.h (vqdmlals_lane_s32): Use scalar types
	rather than singleton vectors.
	(vqdmlsls_lane_s32): Likewise.

	* gcc.target/aarch64/scalar_intrinsics.c (test_vqdmlals_lane_s32):
	Fix types.
	(test_vqdmlsls_lane_s32): Likewise.
	* gcc.target/aarch64/simd/vqdmlals_lane_s32.c: Likewise.
	* gcc.target/aarch64/simd/vqdmlsls_lane_s32.c: Likewise.


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

	PR rtl-optimization/61672
	* emit-rtl.h (mem_attrs_eq_p): Declare.
	* emit-rtl.c (mem_attrs_eq_p): Export.  Handle NULL mem-attrs.
	* cse.c (exp_equiv_p): Use mem_attrs_eq_p.
	* cfgcleanup.c (merge_memattrs): Likewise.
	Include emit-rtl.h.


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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213640 138bc75d-0d04-0410-961f-82ee72b054a4
	Implement constexpr variable templates
	* decl.c (grokvardecl): Handle specializations of variable templates.
	(grokdeclarator): Handle variable template id expressions and NULL_TREE
	return from grokvardecl.
	* decl2.c (check_member_template): Allow declaration of template member
	variables.
	* parser.c (cp_parser_template_id): Build a TEMPLATE_ID_EXPR for
	variable templates.
	* pt.c (check_template_variable): Accept variable temploids at
	non-class scope.
	(push_template_decl_real): The current instantiation of a template
	can be a VAR_DECL.
	(determine_specialization): Accept variable templates.
	(check_explicit_specialization): Handle and check for malformed
	variable template specializations.
	(lookup_template_variable): New.
	(tsubst_decl): Handle variable template specializations.
	(do_decl_instantiation): Handle template variables.
	(instantiate_decl): Handle template variables.
	* semantics.c (finish_template_variable): New.
	(finish_id_expression): Instantiate variable templates.
	* cp-tree.h (variable_template_p): New.

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

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213643 138bc75d-0d04-0410-961f-82ee72b054a4
fix pr62009 use after free in redirect_edge_var_map_dup

The change to get the entry for the old edge before inserting the new
one was incorrect because if inserting the new one resized the table
then the pointer to the entry for the old one would become invalid.

gcc/

	* tree-ssa.c (redirect_edge_var_map_dup): insert newe before
	getting olde.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213644 138bc75d-0d04-0410-961f-82ee72b054a4
gdbhooks.py: add "break-on-pass" command

gcc/
2014-08-05  David Malcolm  <dmalcolm@redhat.com>

        * gdbhooks.py (find_gcc_source_dir): New helper function.
        (class PassNames): New class, locating and parsing passes.def.
        (class BreakOnPass): New command "break-on-pass".



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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213649 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Use REG_P and CONST_INT_P instead of GET_CODE + comparison.

	* config/aarch64/aarch64.c (aarch64_classify_address): Use REG_P and
	CONST_INT_P instead of GET_CODE and compare.
	(aarch64_select_cc_mode): Likewise.
	(aarch64_print_operand): Likewise.
	(aarch64_rtx_costs): Likewise.
	(aarch64_simd_valid_immediate): Likewise.
	(aarch64_simd_check_vect_par_cnst_half): Likewise.
	(aarch64_simd_emit_pair_result_insn): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213651 138bc75d-0d04-0410-961f-82ee72b054a4
	PR rtl-optimization/61801
	* gcc.target/i386/pr61801.c: Rewritten.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213652 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.dg/pr44194-1.c: Also exclude powerpc*-*-linux*, except if
	powerpc_elfv2.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213657 138bc75d-0d04-0410-961f-82ee72b054a4
[PATCH AArch64] Prefer dup to zip for vec_perm_const; enable dup for bigendian; add testcase.

gcc/:
	* config/aarch64/aarch64.c (aarch64_evpc_dup): Enable for bigendian.
	(aarch64_expand_vec_perm_const): Check for dup before zip.

gcc/testsuite:

	* gcc.target/aarch64/vdup_n_2.c: New test.


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

	PR tree-optimization/61320
	* tree-ssa-loop-ivopts.c (may_be_unaligned_p): Properly
	handle misaligned loads.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213661 138bc75d-0d04-0410-961f-82ee72b054a4
Merge remote-tracking branch 'gnu/master' into 4.10.0