diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2014-10-03 21:38:49 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2014-10-03 21:38:49 +0000 |
commit | 0adda1e4d47a836275fb0baabf98c402759f385f (patch) | |
tree | 3ecf8726f61e3db0c845edfa0005d0031afbfbb3 /llvm/lib/Support/ErrorHandling.cpp | |
parent | 0aca4b1aa0c4e912e1c01ce07e00f5647d1fc30e (diff) | |
download | llvm-0adda1e4d47a836275fb0baabf98c402759f385f.zip llvm-0adda1e4d47a836275fb0baabf98c402759f385f.tar.gz llvm-0adda1e4d47a836275fb0baabf98c402759f385f.tar.bz2 |
[x86] Adjust the patterns for lowering X86vzmovl nodes which don't
perform a load to use blendps rather than movss when it is available.
For non-loads, blendps is *much* faster. It can execute on two ports in
Sandy Bridge and Ivy Bridge, and *three* ports on Haswell. This fixes
one of the "regressions" from aggressively taking the "insertion" path
in the new vector shuffle lowering.
This does highlight one problem with blendps -- it isn't commuted as
heavily as it should be. That's future work though.
llvm-svn: 219022
Diffstat (limited to 'llvm/lib/Support/ErrorHandling.cpp')
0 files changed, 0 insertions, 0 deletions