diff options
author | Kevin Qin <Kevin.Qin@arm.com> | 2014-01-13 01:56:29 +0000 |
---|---|---|
committer | Kevin Qin <Kevin.Qin@arm.com> | 2014-01-13 01:56:29 +0000 |
commit | 5c8b8e61df9744ec1efbf6760abbcb62058541a8 (patch) | |
tree | ce610618c86a3e3654873031262ca20fb3bc2db6 /tools/opt/NewPMDriver.h | |
parent | b6e0946d407acf62a3f55ae22ce578d5af3bc5cc (diff) | |
download | llvm-5c8b8e61df9744ec1efbf6760abbcb62058541a8.tar.gz llvm-5c8b8e61df9744ec1efbf6760abbcb62058541a8.tar.bz2 llvm-5c8b8e61df9744ec1efbf6760abbcb62058541a8.tar.xz |
[AArch64 NEON] Add more scenarios to use perm instructions when lowering shuffle_vector
This patch covered 2 more scenarios:
1. Two operands of shuffle_vector are the same, like
%shuffle.i = shufflevector <8 x i8> %a, <8 x i8> %a, <8 x i32> <i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14>
2. One of operands is undef, like
%shuffle.i = shufflevector <8 x i8> %a, <8 x i8> undef, <8 x i32> <i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14>
After this patch, perm instructions will have chance to be emitted instead of lots of INS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199069 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/opt/NewPMDriver.h')
0 files changed, 0 insertions, 0 deletions