ARM: Use a dedicated intrinsic for vector bitwise select.
authorJim Grosbach <grosbach@apple.com>
Fri, 21 Sep 2012 00:18:30 +0000 (00:18 +0000)
committerJim Grosbach <grosbach@apple.com>
Fri, 21 Sep 2012 00:18:30 +0000 (00:18 +0000)
commit11b6fe5e9c3d853a4233ce4323021199092bb3c6
tree01f6575f81ec0337c8fe9d0dd171c15d9ba83156
parentd3608f433adf2fbdbc739d0573f84bd77df6d99f
ARM: Use a dedicated intrinsic for vector bitwise select.

The expression based expansion too often results in IR level optimizations
splitting the intermediate values into separate basic blocks, preventing
the formation of the VBSL instruction as the code author intended. In
particular, LICM would often hoist part of the computation out of a loop.

rdar://11011471

llvm-svn: 164342
clang/include/clang/Basic/arm_neon.td
clang/lib/CodeGen/CGBuiltin.cpp