[AArch64 NEON] Fix a bug when lowering BUILD_VECTOR.
authorKevin Qin <Kevin.Qin@arm.com>
Tue, 24 Dec 2013 08:16:06 +0000 (08:16 +0000)
committerKevin Qin <Kevin.Qin@arm.com>
Tue, 24 Dec 2013 08:16:06 +0000 (08:16 +0000)
commit4905226c1c0a1324f4df38acee0ed6bc891ed2d1
treec0e9c2105ecc02bf6d7be917cbd5e0954de11232
parent0e8c1f5ca33f413cdd320fd1dcfebdba34b14f06
[AArch64 NEON] Fix a bug when lowering BUILD_VECTOR.

DAG.getVectorShuffle() doesn't always return a vector_shuffle node.
If mask is the exact sequence of it's operand(For example, operand_0
is v8i8, and  the mask is 0, 1, 2, 3, 4, 5, 6, 7), it will directly
return that operand. So a check is added here.

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