[PATCH] Refactored the implementation of AArch64 NEON instruction ZIP, UZP and TRN and fix a bug when mixed use of vget_high_u8() and vuzp_u8().

Kevin Qin kevinqindev at gmail.com
Mon Nov 25 02:19:28 PST 2013


This problem is exposed by a test case mixed use of vget_high_u8() and vuzp_u8(). To fix this problem, I refactored the implementation of AArch64 NEON instruction ZIP, UZP and TRN, to get them recognized when lowering shuffle_vector and build_vector, instead of matching a long sequence of insert_vector_elt. 
Please reivew, thanks.

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

Files:
  lib/Target/AArch64/AArch64ISelLowering.cpp
  lib/Target/AArch64/AArch64ISelLowering.h
  lib/Target/AArch64/AArch64InstrNEON.td
  test/CodeGen/AArch64/neon-perm.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2265.1.patch
Type: text/x-patch
Size: 24936 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131125/30cfb597/attachment.bin>


More information about the llvm-commits mailing list