aboutsummaryrefslogtreecommitdiffstats
path: root/projects
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-07-23 05:32:17 +0000
committerChris Lattner <sabre@nondot.org>2009-07-23 05:32:17 +0000
commitcf37355e259b1f6c96674773d66281d585233868 (patch)
tree78bc19332e765bb71e2d05e1d7c62dd464e602d0 /projects
parenta26e3b6ef8de981ef32d48c922791ecc081e6e34 (diff)
downloadexternal_llvm-cf37355e259b1f6c96674773d66281d585233868.zip
external_llvm-cf37355e259b1f6c96674773d66281d585233868.tar.gz
external_llvm-cf37355e259b1f6c96674773d66281d585233868.tar.bz2
Make some existing optimizations that would only trigger on scalars
also apply to vectors. This allows us to compile this: #include <emmintrin.h> __m128i a(__m128 a, __m128 b) { return a==a & b==b; } __m128i b(__m128 a, __m128 b) { return a!=a | b!=b; } to: _a: cmpordps %xmm1, %xmm0 ret _b: cmpunordps %xmm1, %xmm0 ret with clang instead of to a ton of horrible code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76863 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'projects')
0 files changed, 0 insertions, 0 deletions