diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2017-09-25 13:26:12 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2017-09-25 13:26:12 +0000 |
commit | cce32e87170a3424f9f2203f3858fec122d15d1a (patch) | |
tree | 7589661abbc6bc69107b22987102175aab90b863 /gcc/config/arm/arm.c | |
parent | d6f263c01353276b84face350bddbbc53dd6c15f (diff) |
Change permute index type to unsigned short
This patch changes the element type of (auto_)vec_perm_indices from
unsigned char to unsigned short. This is needed for fixed-length
2048-bit SVE. (SVE is variable-length by default, but it's possible
to ask for specific vector lengths if you want to.)
2017-09-25 Richard Sandiford <richard.sandiford@linaro.org>
gcc/
* target.h (vec_perm_indices): Use unsigned short rather than
unsigned char.
(auto_vec_perm_indices): Likewise.
* config/aarch64/aarch64.c (aarch64_vectorize_vec_perm_const_ok):
Use unsigned int rather than unsigned char.
* config/arm/arm.c (arm_vectorize_vec_perm_const_ok): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253150 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/arm/arm.c')
-rw-r--r-- | gcc/config/arm/arm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 3671616cfa7..f9c1ce35f37 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -29261,7 +29261,7 @@ arm_vectorize_vec_perm_const_ok (machine_mode vmode, vec_perm_indices sel) nelt = GET_MODE_NUNITS (d.vmode); for (i = which = 0; i < nelt; ++i) { - unsigned char e = d.perm[i]; + unsigned int e = d.perm[i]; gcc_assert (e < 2 * nelt); which |= (e < nelt ? 1 : 2); } |