Merge branches/gcc-4_9-branch rev 212419

git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212661 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r209943.
	2014-04-30  Alan Lawrence  <alan.lawrence@arm.com>

	* config/aarch64/arm_neon.h (vuzp1_f32, vuzp1_p8, vuzp1_p16, vuzp1_s8,
	vuzp1_s16, vuzp1_s32, vuzp1_u8, vuzp1_u16, vuzp1_u32, vuzp1q_f32,
	vuzp1q_f64, vuzp1q_p8, vuzp1q_p16, vuzp1q_s8, vuzp1q_s16, vuzp1q_s32,
	vuzp1q_s64, vuzp1q_u8, vuzp1q_u16, vuzp1q_u32, vuzp1q_u64, vuzp2_f32,
	vuzp2_p8, vuzp2_p16, vuzp2_s8, vuzp2_s16, vuzp2_s32, vuzp2_u8,
	vuzp2_u16, vuzp2_u32, vuzp2q_f32, vuzp2q_f64, vuzp2q_p8, vuzp2q_p16,
	vuzp2q_s8, vuzp2q_s16, vuzp2q_s32, vuzp2q_s64, vuzp2q_u8, vuzp2q_u16,
	vuzp2q_u32, vuzp2q_u64): Replace temporary asm with __builtin_shuffle.

gcc/testsuite/
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r209940, `r209943, r209947.
	2014-04-30  Alan Lawrence  <alan.lawrence@arm.com>

	* gcc.target/arm/simd/vuzpqf32_1.c: New file.
	* gcc.target/arm/simd/vuzpqp16_1.c: New file.
	* gcc.target/arm/simd/vuzpqp8_1.c: New file.
	* gcc.target/arm/simd/vuzpqs16_1.c: New file.
	* gcc.target/arm/simd/vuzpqs32_1.c: New file.
	* gcc.target/arm/simd/vuzpqs8_1.c: New file.
	* gcc.target/arm/simd/vuzpqu16_1.c: New file.
	* gcc.target/arm/simd/vuzpqu32_1.c: New file.
	* gcc.target/arm/simd/vuzpqu8_1.c: New file.
	* gcc.target/arm/simd/vuzpf32_1.c: New file.
	* gcc.target/arm/simd/vuzpp16_1.c: New file.
	* gcc.target/arm/simd/vuzpp8_1.c: New file.
	* gcc.target/arm/simd/vuzps16_1.c: New file.
	* gcc.target/arm/simd/vuzps32_1.c: New file.
	* gcc.target/arm/simd/vuzps8_1.c: New file.
	* gcc.target/arm/simd/vuzpu16_1.c: New file.
	* gcc.target/arm/simd/vuzpu32_1.c: New file.
	* gcc.target/arm/simd/vuzpu8_1.c: New file.

	2014-04-30  Alan Lawrence  <alan.lawrence@arm.com>

	* gcc.target/aarch64/vuzps32_1.c: Expect zip1/2 insn rather than uzp1/2.
	* gcc.target/aarch64/vuzpu32_1.c: Likewise.
	* gcc.target/aarch64/vuzpf32_1.c: Likewise.

	2014-04-30  Alan Lawrence  <alan.lawrence@arm.com>

	* gcc.target/aarch64/simd/vuzpf32_1.c: New file.
	* gcc.target/aarch64/simd/vuzpf32.x: New file.
	* gcc.target/aarch64/simd/vuzpp16_1.c: New file.
	* gcc.target/aarch64/simd/vuzpp16.x: New file.
	* gcc.target/aarch64/simd/vuzpp8_1.c: New file.
	* gcc.target/aarch64/simd/vuzpp8.x: New file.
	* gcc.target/aarch64/simd/vuzpqf32_1.c: New file.
	* gcc.target/aarch64/simd/vuzpqf32.x: New file.
	* gcc.target/aarch64/simd/vuzpqp16_1.c: New file.
	* gcc.target/aarch64/simd/vuzpqp16.x: New file.
	* gcc.target/aarch64/simd/vuzpqp8_1.c: New file.
	* gcc.target/aarch64/simd/vuzpqp8.x: New file.
	* gcc.target/aarch64/simd/vuzpqs16_1.c: New file.
	* gcc.target/aarch64/simd/vuzpqs16.x: New file.
	* gcc.target/aarch64/simd/vuzpqs32_1.c: New file.
	* gcc.target/aarch64/simd/vuzpqs32.x: New file.
	* gcc.target/aarch64/simd/vuzpqs8_1.c: New file.
	* gcc.target/aarch64/simd/vuzpqs8.x: New file.
	* gcc.target/aarch64/simd/vuzpqu16_1.c: New file.
	* gcc.target/aarch64/simd/vuzpqu16.x: New file.
	* gcc.target/aarch64/simd/vuzpqu32_1.c: New file.
	* gcc.target/aarch64/simd/vuzpqu32.x: New file.
	* gcc.target/aarch64/simd/vuzpqu8_1.c: New file.
	* gcc.target/aarch64/simd/vuzpqu8.x: New file.
	* gcc.target/aarch64/simd/vuzps16_1.c: New file.
	* gcc.target/aarch64/simd/vuzps16.x: New file.
	* gcc.target/aarch64/simd/vuzps32_1.c: New file.
	* gcc.target/aarch64/simd/vuzps32.x: New file.
	* gcc.target/aarch64/simd/vuzps8_1.c: New file.
	* gcc.target/aarch64/simd/vuzps8.x: New file.
	* gcc.target/aarch64/simd/vuzpu16_1.c: New file.
	* gcc.target/aarch64/simd/vuzpu16.x: New file.
	* gcc.target/aarch64/simd/vuzpu32_1.c: New file.
	* gcc.target/aarch64/simd/vuzpu32.x: New file.
	* gcc.target/aarch64/simd/vuzpu8_1.c: New file.
	* gcc.target/aarch64/simd/vuzpu8.x: New file.



git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212665 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r210355.
	2014-05-13  Ian Bolton  <ian.bolton@arm.com>

	* config/aarch64/aarch64-protos.h
	(aarch64_hard_regno_caller_save_mode): New prototype.
	* config/aarch64/aarch64.c (aarch64_hard_regno_caller_save_mode):
	New function.
	* config/aarch64/aarch64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.



git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212669 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r210828, r211103.
	2014-05-31  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* config/arm/arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
	(arm_builtins) : Add ARM_BUILTIN_GET_FPSCR and ARM_BUILTIN_SET_FPSCR.
	(bdesc_2arg) : Add description for builtins __builtins_arm_set_fpscr
	and __builtins_arm_get_fpscr.
	(arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
	__builtins_arm_get_fpscr.
	(arm_expand_builtin) : Expand builtins __builtins_arm_set_fpscr and
	__builtins_arm_ldfpscr.
	(arm_atomic_assign_expand_fenv): New function.
	* config/arm/vfp.md (set_fpscr): New pattern.
	(get_fpscr) : Likewise.
	* config/arm/unspecs.md (unspecv): Add VUNSPEC_GET_FPSCR and
	VUNSPEC_SET_FPSCR.
	* doc/extend.texi (AARCH64 Built-in Functions) : Document
	__builtins_arm_set_fpscr, __builtins_arm_get_fpscr.

	2014-05-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* config/aarch64/aarch64.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New
	define.
	* config/aarch64/aarch64-protos.h (aarch64_atomic_assign_expand_fenv):
	New function declaration.
	* config/aarch64/aarch64-builtins.c (aarch64_builtins) : Add
	AARCH64_BUILTIN_GET_FPCR, AARCH64_BUILTIN_SET_FPCR.
	AARCH64_BUILTIN_GET_FPSR and AARCH64_BUILTIN_SET_FPSR.
	(aarch64_init_builtins) : Initialize builtins
	__builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
	__builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
	(aarch64_expand_builtin) : Expand builtins __builtins_aarch64_set_fpcr
	__builtins_aarch64_get_fpcr, __builtins_aarch64_get_fpsr,
	and __builtins_aarch64_set_fpsr.
	(aarch64_atomic_assign_expand_fenv): New function.
	* config/aarch64/aarch64.md (set_fpcr): New pattern.
	(get_fpcr) : Likewise.
	(set_fpsr) : Likewise.
	(get_fpsr) : Likewise.
	(unspecv): Add UNSPECV_GET_FPCR and UNSPECV_SET_FPCR, UNSPECV_GET_FPSR
	 and UNSPECV_SET_FPSR.
	* doc/extend.texi (AARCH64 Built-in Functions) : Document
	__builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
	__builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.



git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212672 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r211148.
	2014-06-02  Andrew Pinski  <apinski@cavium.com>
   
	* config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER):
	/lib/ld-linux32-aarch64.so.1 is used for ILP32.
	(LINUX_TARGET_LINK_SPEC): Update linker script for ILP32.
	file whose name depends on -mabi= and -mbig-endian.
	* config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES): Handle LP64
	better and handle ilp32 too.
	(MULTILIB_OPTIONS): Delete.
	(MULTILIB_DIRNAMES): Delete.



git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212673 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r209797.
	2014-04-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
	Use HOST_WIDE_INT_C for mask literal.
	(aarch_rev16_shleft_mask_imm_p): Likewise.



git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212675 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r211058, 211177.
	2014-05-29  Alan Lawrence  <alan.lawrence@arm.com>

	* config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers,
	TYPES_BINOPV): New static data.
	* config/aarch64/aarch64-simd-builtins.def (im_lane_bound): New builtin.
	* config/aarch64/aarch64-simd.md (aarch64_ext, aarch64_im_lane_boundsi):
	New patterns.
	* config/aarch64/aarch64.c (aarch64_expand_vec_perm_const_1): Match
	patterns for EXT.
	(aarch64_evpc_ext): New function.

	* config/aarch64/iterators.md (UNSPEC_EXT): New enum element.

	* config/aarch64/arm_neon.h (vext_f32, vext_f64, vext_p8, vext_p16,
	vext_s8, vext_s16, vext_s32, vext_s64, vext_u8, vext_u16, vext_u32,
	vext_u64, vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_s8,
	vextq_s16, vextq_s32, vextq_s64, vextq_u8, vextq_u16, vextq_u32,
	vextq_u64): Replace __asm with __builtin_shuffle and im_lane_boundsi.

	2014-06-03  Alan Lawrence  <alan.lawrence@arm.com>

	* config/aarch64/aarch64.c (aarch64_evpc_ext): allow and handle
	location == 0.

gcc/testsuite/
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r210152, 211059.
	2014-05-29  Alan Lawrence  <alan.lawrence@arm.com>

	* gcc.target/arm/simd/vextQf32_1.c: New file.
	* gcc.target/arm/simd/vextQp16_1.c: New file.
	* gcc.target/arm/simd/vextQp8_1.c: New file.
	* gcc.target/arm/simd/vextQs16_1.c: New file.
	* gcc.target/arm/simd/vextQs32_1.c: New file.
	* gcc.target/arm/simd/vextQs64_1.c: New file.
	* gcc.target/arm/simd/vextQs8_1.c: New file.
	* gcc.target/arm/simd/vextQu16_1.c: New file.
	* gcc.target/arm/simd/vextQu32_1.c: New file.
	* gcc.target/arm/simd/vextQu64_1.c: New file.
	* gcc.target/arm/simd/vextQu8_1.c: New file.
	* gcc.target/arm/simd/vextQp64_1.c: New file.
	* gcc.target/arm/simd/vextf32_1.c: New file.
	* gcc.target/arm/simd/vextp16_1.c: New file.
	* gcc.target/arm/simd/vextp8_1.c: New file.
	* gcc.target/arm/simd/vexts16_1.c: New file.
	* gcc.target/arm/simd/vexts32_1.c: New file.
	* gcc.target/arm/simd/vexts64_1.c: New file.
	* gcc.target/arm/simd/vexts8_1.c: New file.
	* gcc.target/arm/simd/vextu16_1.c: New file.
	* gcc.target/arm/simd/vextu32_1.c: New file.
	* gcc.target/arm/simd/vextu64_1.c: New file.
	* gcc.target/arm/simd/vextu8_1.c: New file.
	* gcc.target/arm/simd/vextp64_1.c: New file.

	2014-05-07  Alan Lawrence  <alan.lawrence@arm.com>

	gcc.target/aarch64/simd/ext_f32.x: New file.
	gcc.target/aarch64/simd/ext_f32_1.c: New file.
	gcc.target/aarch64/simd/ext_p16.x: New file.
	gcc.target/aarch64/simd/ext_p16_1.c: New file.
	gcc.target/aarch64/simd/ext_p8.x: New file.
	gcc.target/aarch64/simd/ext_p8_1.c: New file.
	gcc.target/aarch64/simd/ext_s16.x: New file.
	gcc.target/aarch64/simd/ext_s16_1.c: New file.
	gcc.target/aarch64/simd/ext_s32.x: New file.
	gcc.target/aarch64/simd/ext_s32_1.c: New file.
	gcc.target/aarch64/simd/ext_s64.x: New file.
	gcc.target/aarch64/simd/ext_s64_1.c: New file.
	gcc.target/aarch64/simd/ext_s8.x: New file.
	gcc.target/aarch64/simd/ext_s8_1.c: New file.
	gcc.target/aarch64/simd/ext_u16.x: New file.
	gcc.target/aarch64/simd/ext_u16_1.c: New file.
	gcc.target/aarch64/simd/ext_u32.x: New file.
	gcc.target/aarch64/simd/ext_u32_1.c: New file.
	gcc.target/aarch64/simd/ext_u64.x: New file.
	gcc.target/aarch64/simd/ext_u64_1.c: New file.
	gcc.target/aarch64/simd/ext_u8.x: New file.
	gcc.target/aarch64/simd/ext_u8_1.c: New file.
	gcc.target/aarch64/simd/ext_f64.c: New file.
	gcc.target/aarch64/simd/extq_f32.x: New file.
	gcc.target/aarch64/simd/extq_f32_1.c: New file.
	gcc.target/aarch64/simd/extq_p16.x: New file.
	gcc.target/aarch64/simd/extq_p16_1.c: New file.
	gcc.target/aarch64/simd/extq_p8.x: New file.
	gcc.target/aarch64/simd/extq_p8_1.c: New file.
	gcc.target/aarch64/simd/extq_s16.x: New file.
	gcc.target/aarch64/simd/extq_s16_1.c: New file.
	gcc.target/aarch64/simd/extq_s32.x: New file.
	gcc.target/aarch64/simd/extq_s32_1.c: New file.
	gcc.target/aarch64/simd/extq_s64.x: New file.
	gcc.target/aarch64/simd/extq_s64_1.c: New file.
	gcc.target/aarch64/simd/extq_s8.x: New file.
	gcc.target/aarch64/simd/extq_s8_1.c: New file.
	gcc.target/aarch64/simd/extq_u16.x: New file.
	gcc.target/aarch64/simd/extq_u16_1.c: New file.
	gcc.target/aarch64/simd/extq_u32.x: New file.



git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212677 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r210369.
	2014-05-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.c (neon_itype): Remove NEON_RESULTPAIR.
	(arm_init_neon_builtins): Remove handling of NEON_RESULTPAIR.
	Remove associated type declarations and initialisations.
	(arm_expand_neon_builtin): Likewise.
	(neon_emit_pair_result_insn): Delete.
	* config/arm/arm_neon_builtins (vtrn, vzip, vuzp): Delete.
	* config/arm/neon.md (neon_vtrn<mode>): Delete.
	(neon_vzip<mode>): Likewise.
	(neon_vuzp<mode>): Likewise.



git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212678 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r210471.
	2014-05-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.c (arm_option_override): Use the SCHED_PRESSURE_MODEL
	enum name for PARAM_SCHED_PRESSURE_ALGORITHM.



git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212679 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r210967.
	2014-05-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/neon.md (neon_bswap<mode>): New pattern.
	* config/arm/arm.c (neon_itype): Add NEON_BSWAP.
	(arm_init_neon_builtins): Handle NEON_BSWAP.
	Define required type nodes.
	(arm_expand_neon_builtin): Handle NEON_BSWAP.
	(arm_builtin_vectorized_function): Handle BUILTIN_BSWAP builtins.
	* config/arm/arm_neon_builtins.def (bswap): Define builtins.
	* config/arm/iterators.md (VDQHSD): New mode iterator.

gcc/testsuite/
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r210967.
	2014-05-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* lib/target-supports.exp (check_effective_target_vect_bswap):
	Specify arm*-*-* support.



git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212680 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r210996.
	2014-05-27  Andrew Pinski  <apinski@cavium.com>

	* config/aarch64/aarch64.md (stack_protect_set_<mode>):
	Use <w> for the register in assembly template.
	(stack_protect_test): Use the mode of operands[0] for the
	result.
	(stack_protect_test_<mode>): Use <w> for the register
	in assembly template.



git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212681 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r211050.
	2014-05-29  Richard Earnshaw <rearnsha@arm.com>
	Richard Sandiford  <rdsandiford@googlemail.com>

        * arm/iterators.md (shiftable_ops): New code iterator.
        (t2_binop0, arith_shift_insn): New code attributes.
	* arm/predicates.md (shift_nomul_operator): New predicate.
        * arm/arm.md (insn_enabled): Delete.
        (enabled): Remove insn_enabled test.
        (*arith_shiftsi): Delete.  Replace with ...
        (*<arith_shift_insn>_multsi): ... new pattern.
	(*<arith_shift_insn>_shiftsi): ... new pattern.
	* config/arm/arm.c (arm_print_operand): Handle operand format 'b'.



git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212682 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r211073.
	2014-05-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/thumb2.md (*thumb2_movhi_insn): Set type of movw
	to mov_imm.
	* config/arm/vfp.md (*thumb2_movsi_vfp): Likewise.



git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212683 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r211129.
	2014-06-02  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	PR target/61154
	* config/arm/arm.h (TARGET_SUPPORTS_WIDE_INT): Define.
	* config/arm/arm.md (mov64 splitter): Replace const_double_operand
	with immediate_operand.



git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212685 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r211268.
	2014-06-05  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* config/aarch64/aarch64.c (aarch64_expand_prologue): Update stack
	layout comment.



git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212686 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r211371.
	2014-06-09  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* config/arm/arm-modes.def: Remove XFmode.



git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212687 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r211418.
	2014-06-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/aarch64/aarch64-simd.md (move_lo_quad_<mode>):
	Change second alternative type to f_mcr.
	* config/aarch64/aarch64.md (*movsi_aarch64): Change 11th
	and 12th alternatives' types to f_mcr and f_mrc.
	(*movdi_aarch64): Same for 12th and 13th alternatives.
	(*movsf_aarch64): Change 9th alternatives' type to mov_reg.
	(aarch64_movtilow_tilow): Change type to fmov.



git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212688 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r211408, 211416.
	2014-06-10  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Fix
	REG_CFA_RESTORE mode.

	2014-06-10  Jiong Wang  <jiong.wang@arm.com>

	* config/aarch64/aarch64.c (aarch64_save_or_restore_fprs)
	(aarch64_save_or_restore_callee_save_registers): Fix layout.



git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212689 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r211185, 211186.
	2014-06-03  Alan Lawrence  <alan.lawrence@arm.com>

	* gcc/config/aarch64/aarch64-builtins.c
	(aarch64_types_binop_uus_qualifiers,
	aarch64_types_shift_to_unsigned_qualifiers,
	aarch64_types_unsigned_shiftacc_qualifiers): Define.
	* gcc/config/aarch64/aarch64-simd-builtins.def (uqshl, uqrshl, uqadd,
	uqsub, usqadd, usra_n, ursra_n, uqshrn_n, uqrshrn_n, usri_n, usli_n,
	sqshlu_n, uqshl_n): Update qualifiers.
	* gcc/config/aarch64/arm_neon.h (vqadd_u8, vqadd_u16, vqadd_u32,
	vqadd_u64, vqaddq_u8, vqaddq_u16, vqaddq_u32, vqaddq_u64, vqsub_u8,
	vqsub_u16, vqsub_u32, vqsub_u64, vqsubq_u8, vqsubq_u16, vqsubq_u32,
	vqsubq_u64, vqaddb_u8, vqaddh_u16, vqadds_u32, vqaddd_u64, vqrshl_u8,
	vqrshl_u16, vqrshl_u32, vqrshl_u64, vqrshlq_u8, vqrshlq_u16,
	vqrshlq_u32, vqrshlq_u64, vqrshlb_u8, vqrshlh_u16, vqrshls_u32,
	vqrshld_u64, vqrshrn_n_u16, vqrshrn_n_u32, vqrshrn_n_u64,
	vqrshrnh_n_u16, vqrshrns_n_u32, vqrshrnd_n_u64, vqshl_u8, vqshl_u16,
	vqshl_u32, vqshl_u64, vqshlq_u8, vqshlq_u16, vqshlq_u32, vqshlq_u64,
	vqshlb_u8, vqshlh_u16, vqshls_u32, vqshld_u64, vqshl_n_u8, vqshl_n_u16,
	vqshl_n_u32, vqshl_n_u64, vqshlq_n_u8, vqshlq_n_u16, vqshlq_n_u32,
	vqshlq_n_u64, vqshlb_n_u8, vqshlh_n_u16, vqshls_n_u32, vqshld_n_u64,
	vqshlu_n_s8, vqshlu_n_s16, vqshlu_n_s32, vqshlu_n_s64, vqshluq_n_s8,
	vqshluq_n_s16, vqshluq_n_s32, vqshluq_n_s64, vqshlub_n_s8,
	vqshluh_n_s16, vqshlus_n_s32, vqshlud_n_s64, vqshrn_n_u16,
	vqshrn_n_u32, vqshrn_n_u64, vqshrnh_n_u16, vqshrns_n_u32,
	vqshrnd_n_u64, vqsubb_u8, vqsubh_u16, vqsubs_u32, vqsubd_u64,
	vrsra_n_u8, vrsra_n_u16, vrsra_n_u32, vrsra_n_u64, vrsraq_n_u8,
	vrsraq_n_u16, vrsraq_n_u32, vrsraq_n_u64, vrsrad_n_u64, vsli_n_u8,
	vsli_n_u16, vsli_n_u32,vsli_n_u64, vsliq_n_u8, vsliq_n_u16,
	vsliq_n_u32, vsliq_n_u64, vslid_n_u64, vsqadd_u8, vsqadd_u16,
	vsqadd_u32, vsqadd_u64, vsqaddq_u8, vsqaddq_u16, vsqaddq_u32,
	vsqaddq_u64, vsqaddb_u8, vsqaddh_u16, vsqadds_u32, vsqaddd_u64,
	vsra_n_u8, vsra_n_u16, vsra_n_u32, vsra_n_u64, vsraq_n_u8,
	vsraq_n_u16, vsraq_n_u32, vsraq_n_u64, vsrad_n_u64, vsri_n_u8,
	vsri_n_u16, vsri_n_u32, vsri_n_u64, vsriq_n_u8, vsriq_n_u16,
	vsriq_n_u32, vsriq_n_u64, vsrid_n_u64): Remove casts.

	2014-06-03  Alan Lawrence  <alan.lawrence@arm.com>

	* gcc/config/aarch64/aarch64-builtins.c
	(aarch64_types_binop_ssu_qualifiers): New static data.
	(TYPES_BINOP_SSU): Define.
	* gcc/config/aarch64/aarch64-simd-builtins.def (suqadd, ushl, urshl,
	urshr_n, ushll_n): Use appropriate unsigned qualifiers.	47
	* gcc/config/aarch64/arm_neon.h (vrshl_u8, vrshl_u16, vrshl_u32,
	vrshl_u64, vrshlq_u8, vrshlq_u16, vrshlq_u32, vrshlq_u64, vrshld_u64,
	vrshr_n_u8, vrshr_n_u16, vrshr_n_u32, vrshr_n_u64, vrshrq_n_u8,	50
	vrshrq_n_u16, vrshrq_n_u32, vrshrq_n_u64, vrshrd_n_u64, vshll_n_u8,
	vshll_n_u16, vshll_n_u32, vuqadd_s8, vuqadd_s16, vuqadd_s32,	52
	vuqadd_s64, vuqaddq_s8, vuqaddq_s16, vuqaddq_s32, vuqaddq_s64,	53
	vuqaddb_s8, vuqaddh_s16, vuqadds_s32, vuqaddd_s64): Add signedness
	suffix to builtin function name, remove cast.	55
	(vshl_s8, vshl_s16, vshl_s32, vshl_s64, vshl_u8, vshl_u16, vshl_u32,
	vshl_u64, vshlq_s8, vshlq_s16, vshlq_s32, vshlq_s64, vshlq_u8,	57
	vshlq_u16, vshlq_u32, vshlq_u64, vshld_s64, vshld_u64): Remove cast.



git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212690 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r211314.
	2014-06-06  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/aarch64-protos.h (aarch64_expand_movmem): New.
	* config/aarch64/aarch64.c (aarch64_move_pointer): New.
	(aarch64_progress_pointer): Likewise.
	(aarch64_copy_one_part_and_move_pointers): Likewise.
	(aarch64_expand_movmen): Likewise.
	* config/aarch64/aarch64.h (MOVE_RATIO): Set low.
	* config/aarch64/aarch64.md (movmem<mode>): New.

gcc/testsuite/
2014-07-16  Yvan Roux  <yvan.roux@linaro.org>

	Backport from trunk r211314.
	2014-06-06  James Greenhalgh  <james.greenhalgh@arm.com>

	* gcc.dg/tree-ssa/pr42585.c: Skip for AArch64.
	* gcc.dg/tree-ssa/sra-12.c: Likewise.



git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212691 138bc75d-0d04-0410-961f-82ee72b054a4