AArch64: fix LowerCONCAT_VECTORS for new CodeGen.
authorTim Northover <tnorthover@apple.com>
Mon, 10 Mar 2014 09:34:07 +0000 (09:34 +0000)
committerTim Northover <tnorthover@apple.com>
Mon, 10 Mar 2014 09:34:07 +0000 (09:34 +0000)
commit8ca089df49df6807b853dbcb18ab0d2d7dc76c62
tree8e0f9a5243fccf1bf49f0428cfcf9d33ccb90248
parent31da39e479056edc843b2f9d757dc200eed7797a
AArch64: fix LowerCONCAT_VECTORS for new CodeGen.

The function was making too many assumptions about its input:

1. The NEON_VDUP optimisation was far too aggressive, assuming (I
think) that the input would always be BUILD_VECTOR.

2. We were treating most unknown concats as legal (by returning Op
rather than SDValue()). I think only concats of pairs of vectors are
actually legal.

http://llvm.org/PR19094

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203450 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64ISelLowering.cpp
test/CodeGen/AArch64/concatvector-bugs.ll [new file with mode: 0644]
test/CodeGen/AArch64/concatvector-v8i8-bug.ll [deleted file]