]> git.ipfire.org Git - thirdparty/gcc.git/commit
[AARCH64] Add zip{1, 2}, uzp{1, 2}, trn{1, 2} support
authorJames Greenhalgh <james.greenhalgh@arm.com>
Wed, 5 Dec 2012 11:42:37 +0000 (11:42 +0000)
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>
Wed, 5 Dec 2012 11:42:37 +0000 (11:42 +0000)
commitcc4d934fa0d16330f29953d7ad14ff71e15f0d1b
tree8d38b0ce781601cf444ebe58a45a1bb2843aac2a
parent88b080739aec46faddff05bb6f13fb2886c36aff
[AARCH64] Add zip{1, 2}, uzp{1, 2}, trn{1, 2} support
for vector permute.

gcc/

* config/aarch64/aarch64-simd-builtins.def: Add new builtins.
* config/aarch64/aarch64-simd.md (simd_type): Add uzp.
(aarch64_<PERMUTE:perm_insn><PERMUTE:perm_hilo><mode>): New.
* config/aarch64/aarch64.c (aarch64_evpc_trn): New.
(aarch64_evpc_uzp): Likewise.
(aarch64_evpc_zip): Likewise.
(aarch64_expand_vec_perm_const_1): Check for trn, zip, uzp patterns.
* config/aarch64/iterators.md (unspec): Add neccessary unspecs.
(PERMUTE): New.
(perm_insn): Likewise.
(perm_hilo): Likewise.

From-SVN: r194219
gcc/ChangeLog
gcc/config/aarch64/aarch64-simd-builtins.def
gcc/config/aarch64/aarch64-simd.md
gcc/config/aarch64/aarch64.c
gcc/config/aarch64/iterators.md