The vec_perm code falls back to doing byte-level permutes if element-level permutes...
authorRichard Sandiford <richard.sandiford@linaro.org>
Tue, 2 Jan 2018 18:25:45 +0000 (18:25 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Tue, 2 Jan 2018 18:25:45 +0000 (18:25 +0000)
commit3ea109a3479cdbbe8a47bf60b2d2d69072a1d51b
tree97ee41fba95472080036586c5de1b5d4ed707397
parenta1d6c05238093d4de85dc18f825ba4f5e3a5746c
The vec_perm code falls back to doing byte-level permutes if element-level permutes aren't supported.

qimode_for_vec_perm

The vec_perm code falls back to doing byte-level permutes if
element-level permutes aren't supported.  There were two copies
of the code to calculate the mode, and later patches add another,
so this patch splits it out into a helper function.

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

gcc/
* optabs-query.h (qimode_for_vec_perm): Declare.
* optabs-query.c (can_vec_perm_p): Split out qimode search to...
(qimode_for_vec_perm): ...this new function.
* optabs.c (expand_vec_perm): Use qimode_for_vec_perm.

From-SVN: r256089
gcc/ChangeLog
gcc/optabs-query.c
gcc/optabs-query.h
gcc/optabs.c