[AArch64] Fix a bug generating incorrect instruction when building small vector.
authorKevin Qin <Kevin.Qin@arm.com>
Thu, 24 Jul 2014 02:05:42 +0000 (02:05 +0000)
committerKevin Qin <Kevin.Qin@arm.com>
Thu, 24 Jul 2014 02:05:42 +0000 (02:05 +0000)
commit9a2a2c502b34a4697930c2c6bfbbf460c27b08c8
tree6aca220c0ac5103ba4e833e38606a300c2936f2c
parent9e7da0fb44b6d999700ba96743b16c1c112c2baa
[AArch64] Fix a bug generating incorrect instruction when building small vector.

This bug is introduced by r211144. The element of operand may be
smaller than the element of result, but previous commit can
only handle the contrary condition. This commit is to handle this
scenario and generate optimized codes like ZIP1.

llvm-svn: 213830
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/neon-perm.ll