r213378 - in /trunk/gcc: ChangeLog config/aarch...

jgreenhalgh@gcc.gnu.org jgreenhalgh@gcc.gnu.org
Thu Jul 31 15:31:00 GMT 2014


Author: jgreenhalgh
Date: Thu Jul 31 15:31:24 2014
New Revision: 213378

URL: https://gcc.gnu.org/viewcvs?rev=213378&root=gcc&view=rev
Log:
[AArch64_be] Fix vec_select hi/lo mask confusions.

gcc/

	* config/aarch64/aarch64.c (aarch64_simd_vect_par_cnst_half): Vary
	the generated mask based on BYTES_BIG_ENDIAN.
	(aarch64_simd_check_vect_par_cnst_half): New.
	* config/aarch64/aarch64-protos.h
	(aarch64_simd_check_vect_par_cnst_half): New.
	* config/aarch64/predicates.md (vect_par_cnst_hi_half): Refactor
	the check out to aarch64_simd_check_vect_par_cnst_half.
	(vect_par_cnst_lo_half): Likewise.
	* config/aarch64/aarch64-simd.md
	(aarch64_simd_move_hi_quad_<mode>): Always use vec_par_cnst_lo_half.
	(move_hi_quad_<mode>): Always generate a low mask.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/aarch64/aarch64-protos.h
    trunk/gcc/config/aarch64/aarch64-simd.md
    trunk/gcc/config/aarch64/aarch64.c
    trunk/gcc/config/aarch64/predicates.md



More information about the Gcc-cvs mailing list