[AArch64] Relax modes_tieable_p and cannot_change_mode_class

gcc/

	* config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New.
	* config/aarch64/aarch64.c
	(aarch64_cannot_change_mode_class): Weaken conditions.
	(aarch64_modes_tieable_p): New.
	* config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209878 138bc75d-0d04-0410-961f-82ee72b054a4
Add a class hierarchy diagram to gimple.texi

2014-04-28  David Malcolm  <dmalcolm@redhat.com>

	* doc/gimple.texi: Replace the description of the now-defunct
	union gimple_statement_d with a diagram showing the
	gimple_statement_base class hierarchy and its relationships to
	the GSS_ and GIMPLE_ enums.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209879 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Improve vst4_lane intrinsics

gcc/

	* config/aarch64/aarch64-builtins.c
	(aarch64_types_storestruct_lane_qualifiers): New.
	(TYPES_STORESTRUCT_LANE): Likewise.
	* config/aarch64/aarch64-simd-builtins.def (st2_lane): New.
	(st3_lane): Likewise.
	(st4_lane): Likewise.
	* config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): New.
	(vec_store_lanesci_lane<mode>): Likewise.
	(vec_store_lanesxi_lane<mode>): Likewise.
	(aarch64_st2_lane<VQ:mode>): Likewise.
	(aarch64_st3_lane<VQ:mode>): Likewise.
	(aarch64_st4_lane<VQ:mode>): Likewise.
	* config/aarch64/aarch64.md (unspec): Add UNSPEC_ST{2,3,4}_LANE.
	* config/aarch64/arm_neon.h
	(__ST2_LANE_FUNC): Rewrite using builtins, update use points to
	use new macro arguments.
	(__ST3_LANE_FUNC): Likewise.
	(__ST4_LANE_FUNC): Likewise.
	* config/aarch64/iterators.md (V_TWO_ELEM): New.
	(V_THREE_ELEM): Likewise.
	(V_FOUR_ELEM): Likewise.




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