diff options
| author | Chandler Carruth <chandlerc@gmail.com> | 2014-10-05 22:57:31 +0000 |
|---|---|---|
| committer | Chandler Carruth <chandlerc@gmail.com> | 2014-10-05 22:57:31 +0000 |
| commit | 0927da458305937d5d232640db57b363ed4870b0 (patch) | |
| tree | 144a13bf0488430c0e0f4383fa68b723e191cd33 /llvm/lib/CodeGen/AsmPrinter/ARMException.cpp | |
| parent | 1277faf54df2b3f69305eebbfae6b2dce465a6e9 (diff) | |
| download | bcm5719-llvm-0927da458305937d5d232640db57b363ed4870b0.tar.gz bcm5719-llvm-0927da458305937d5d232640db57b363ed4870b0.zip | |
[x86] Remove the 2-addr-to-3-addr "optimization" from shufps to pshufd.
This trades a (register-renamer-friendly) movaps for a floating point
/ integer domain cross. That is a very bad trade, even on architectures
where domain crossing is relatively fast. On any chip where there is
even a cycle stall, this is a Very Bad Idea. It doesn't even seem likely
to cause a spill to be introduced because the reason for the copy is to
destructively shuffle in place.
Thanks to Ben Kramer for fixing a bug in this code that my new shuffle
lowering exposed and highlighting that perhaps it should just go away.
=]
llvm-svn: 219090
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/ARMException.cpp')
0 files changed, 0 insertions, 0 deletions

