diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2013-08-04 12:05:16 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2013-08-04 12:05:16 +0000 |
commit | 5bc180c14f4ec3e5d604b750befd5b3ed16fbae8 (patch) | |
tree | 031286d0080c93cc9f2e6acfa19b9cc88f2d4f5a /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | cd46691728dfae9f7af3022271c396d724537185 (diff) | |
download | bcm5719-llvm-5bc180c14f4ec3e5d604b750befd5b3ed16fbae8.tar.gz bcm5719-llvm-5bc180c14f4ec3e5d604b750befd5b3ed16fbae8.zip |
X86: Turn fp selects into mask operations.
double test(double a, double b, double c, double d) { return a<b ? c : d; }
before:
_test:
ucomisd %xmm0, %xmm1
ja LBB0_2
movaps %xmm3, %xmm2
LBB0_2:
movaps %xmm2, %xmm0
after:
_test:
cmpltsd %xmm1, %xmm0
andpd %xmm0, %xmm2
andnpd %xmm3, %xmm0
orpd %xmm2, %xmm0
Small speedup on Benchmarks/SmallPT
llvm-svn: 187706
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions