diff options
author | Chris Lattner <sabre@nondot.org> | 2009-07-23 05:32:17 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-07-23 05:32:17 +0000 |
commit | f98d253bc5c64b6e79b9e9d3942bae41c30eb656 (patch) | |
tree | 78bc19332e765bb71e2d05e1d7c62dd464e602d0 /lib/CodeGen/PHIElimination.cpp | |
parent | e5f6bfffe7d72e4682fb6e5823776f1c7afc8c13 (diff) |
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 'lib/CodeGen/PHIElimination.cpp')
0 files changed, 0 insertions, 0 deletions