[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)
commit2daff76c0545a32c083577b7ef766145b3c42085
tree91cf1b26ea513bd3f2c94dcdac6ab4dcd14f81b7
parent1bc34d71b70f17c090d4cf972d347fbdecfd96f8
[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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213830 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64ISelLowering.cpp
test/CodeGen/AArch64/neon-perm.ll