diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-01-29 18:13:37 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-01-29 18:13:37 +0000 |
commit | 76073f8d2217be046b954eebd7fb25fe4526ec95 (patch) | |
tree | eedbbf84e7cf32fac5be57abc2f7ff8808ef37b8 /llvm/lib/CodeGen/MachineCombiner.cpp | |
parent | a2a502b58352b5e7d0a45e67742ce40031332ddb (diff) | |
download | llvm-76073f8d2217be046b954eebd7fb25fe4526ec95.zip llvm-76073f8d2217be046b954eebd7fb25fe4526ec95.tar.gz llvm-76073f8d2217be046b954eebd7fb25fe4526ec95.tar.bz2 |
[X86][SSE] Lower scalar_to_vector(0) to zero vector
Replaces an xor+movd/movq with an xorps which will be shorter in codesize, avoid an int-fpu transfer, allow modern cores to fast path the result during decode and helps other combines recognise an all-zero vector.
The only reason I can think of that we'd want to keep scalar_to_vector in this case is to help recognise the upper elts are undef but this doesn't seem to be a problem.
Differential Revision: https://reviews.llvm.org/D29097
llvm-svn: 293438
Diffstat (limited to 'llvm/lib/CodeGen/MachineCombiner.cpp')
0 files changed, 0 insertions, 0 deletions