[AArch64] Pass number of units to aarch64_expand_vec_perm(_const)
authorRichard Sandiford <richard.sandiford@linaro.org>
Mon, 6 Nov 2017 20:02:49 +0000 (20:02 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 6 Nov 2017 20:02:49 +0000 (20:02 +0000)
commit8094001759f757a5dc7ce375e4d1e5fd0d9a2a8e
treefebc464d11da1b18798cc76439d27a731222ba17
parentf5cbabc1ccfe4ac8dc3226553cbc6a8fbe6286a3
[AArch64] Pass number of units to aarch64_expand_vec_perm(_const)

This patch passes the number of units to aarch64_expand_vec_perm
and aarch64_expand_vec_perm_const, which avoids a to_constant ()
once GET_MODE_NUNITS is variable.

2017-11-06  Richard Sandiford  <richard.sandiford@linaro.org>
    Alan Hayward  <alan.hayward@arm.com>
    David Sherwood  <david.sherwood@arm.com>

gcc/
* config/aarch64/aarch64-protos.h (aarch64_expand_vec_perm)
(aarch64_expand_vec_perm_const): Take the number of units too.
* config/aarch64/aarch64.c (aarch64_expand_vec_perm)
(aarch64_expand_vec_perm_const): Likewise.
* config/aarch64/aarch64-simd.md (vec_perm_const<mode>)
(vec_perm<mode>): Update accordingly.

Reviewed-by: James Greenhalgh <james.greenhalgh@arm.com>
Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>
From-SVN: r254469
gcc/ChangeLog
gcc/config/aarch64/aarch64-protos.h
gcc/config/aarch64/aarch64-simd.md
gcc/config/aarch64/aarch64.c