Check whether a vector of QIs can store all indices
authorRichard Sandiford <richard.sandiford@linaro.org>
Tue, 2 Jan 2018 18:26:35 +0000 (18:26 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Tue, 2 Jan 2018 18:26:35 +0000 (18:26 +0000)
commit6da64f1b329f57c07f22ec034bc7bc4b0dc9e87b
tree0a0b3fe9156bf5b9fca9cd0f7f6423bc94766db1
parentf151c9e1414c00e300c9385bc9512c3d9a481296
Check whether a vector of QIs can store all indices

The patch to remove the vec_perm_const optab checked whether replacing
a constant permute with a variable permute is safe, or whether it might
truncate the indices.  This patch adds a corresponding check for whether
variable permutes can be lowered to QImode-based permutes.

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

gcc/
* optabs-query.c (can_vec_perm_var_p): Check whether lowering
to qimode could truncate the indices.
* optabs.c (expand_vec_perm_var): Likewise.

From-SVN: r256094
gcc/ChangeLog
gcc/optabs-query.c
gcc/optabs.c