This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r213378 - in /trunk/gcc: ChangeLog config/aarch...
- From: jgreenhalgh at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Thu, 31 Jul 2014 15:31:24 -0000
- Subject: r213378 - in /trunk/gcc: ChangeLog config/aarch...
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