Use vec_perm_builder::series_p in shift_amt_for_vec_perm_mask
commit90eb88226b6c845d94786bea2dc1a653a13971a0
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 2 Jan 2018 18:27:24 +0000 (2 18:27 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 2 Jan 2018 18:27:24 +0000 (2 18:27 +0000)
treef88513d11adda2c227b64b6e7453d3b2d8b40afc
parentf63c1cff2969b0030e227c6a8cf123aaad781349
Use vec_perm_builder::series_p in shift_amt_for_vec_perm_mask

This patch makes shift_amt_for_vec_perm_mask use series_p to check
for the simple case of a natural linear series before falling back
to testing each element individually.  The series_p test works with
variable-length vectors but testing every individual element doesn't.

2018-01-02  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
* optabs.c (shift_amt_for_vec_perm_mask): Try using series_p
before testing each element individually.
* tree-vect-generic.c (lower_vec_perm): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@256099 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/optabs.c
gcc/tree-vect-generic.c