[AArch64] Generalize code alignment

2014-12-18  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	* config/aarch64/aarch64-protos.h (tune-params): Add code alignment
	tuning parameters.
	* gcc/config/aarch64/aarch64.c (generic_tunings): Add code alignment
	tuning parameters.
	(cortexa53_tunings): Likewise.
	(cortexa57_tunings): Likewise.
	(thunderx_tunings): Likewise.
	(aarch64_override_options): Use new alignment tunings.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218865 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Add TARGET_MIN_DIVISIONS_FOR_RECIP_MUL

2014-12-18  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	* gcc/config/aarch64/aarch64.c (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL):
	Define.
	(aarch64_min_divisions_for_recip_mul): New function.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218866 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Simplify patterns for sshr_n_[us]64 intrinsic

        * config/aarch64/aarch64.md (enum "unspec"): Remove UNSPEC_SSHR64.

        * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): Change shift
        amount to 63 if was 64.
        (aarch64_sshr_simddi): Remove.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218867 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Simplify+improve patterns for ushr(d?)_n_u64 intrinsic

gcc/:
	* config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): Handle shift
	by 64 by moving const0_rtx.
	(aarch64_ushr_simddi): Delete.

	* config/aarch64/aarch64.md (enum unspec): Delete UNSPEC_USHR64.

gcc/testsuite/:

        * gcc.target/aarch64/ushr64_1.c: Remove scan-assembler "ushr...64".



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