[PATCH] [AArch64 NEON] Add more scenarios to use perm instructions when lowering shuffle_vector.

Kevin Qin kevinqindev at gmail.com
Fri Jan 10 01:07:19 PST 2014


Hi,

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. Please review, thanks.


http://llvm-reviews.chandlerc.com/D2532

Files:
  lib/Target/AArch64/AArch64ISelLowering.cpp
  test/CodeGen/AArch64/neon-perm.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2532.1.patch
Type: text/x-patch
Size: 60623 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140110/7d9f2ef6/attachment.bin>


More information about the llvm-commits mailing list