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/MachineInstr.cpp | |
| parent | a2a502b58352b5e7d0a45e67742ce40031332ddb (diff) | |
| download | bcm5719-llvm-76073f8d2217be046b954eebd7fb25fe4526ec95.tar.gz bcm5719-llvm-76073f8d2217be046b954eebd7fb25fe4526ec95.zip | |
[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/MachineInstr.cpp')
0 files changed, 0 insertions, 0 deletions

