AArch64/ARM64: optimise vector selects & enable test
authorTim Northover <tnorthover@apple.com>
Wed, 7 May 2014 14:10:27 +0000 (14:10 +0000)
committerTim Northover <tnorthover@apple.com>
Wed, 7 May 2014 14:10:27 +0000 (14:10 +0000)
commit04a359f768a1405461cb6cdb93bb5859c7814e54
tree54dee23fb2db90d332bb6102c01c38cd3c86d713
parentb1c5f88237a57ec575cd8dcb89a2cfa274f7abb2
AArch64/ARM64: optimise vector selects & enable test

When performing a scalar comparison that feeds into a vector select,
it's actually better to do the comparison on the vector side: the
scalar route would be "CMP -> CSEL -> DUP", the vector is "CM -> DUP"
since the vector comparisons are all mask based.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208210 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM64/ARM64ISelLowering.cpp
test/CodeGen/AArch64/neon-select_cc.ll
test/CodeGen/ARM64/aarch64-neon-select_cc.ll [new file with mode: 0644]