diff options
author | Evan Cheng <evan.cheng@apple.com> | 2006-04-21 01:05:10 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2006-04-21 01:05:10 +0000 |
commit | 017dcc6e556f3f89dd3e3881696084af694718ac (patch) | |
tree | 35c8c486f4d07e0dd7b436453a74811daee52aaf /lib/CodeGen/MachineFunction.cpp | |
parent | fedced7bc3702f2db5c5d78531b7f58e0f6c9c50 (diff) |
Now generating perfect (I think) code for "vector set" with a single non-zero
scalar value.
e.g.
_mm_set_epi32(0, a, 0, 0);
==>
movd 4(%esp), %xmm0
pshufd $69, %xmm0, %xmm0
_mm_set_epi8(0, 0, 0, 0, 0, a, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
==>
movzbw 4(%esp), %ax
movzwl %ax, %eax
pxor %xmm0, %xmm0
pinsrw $5, %eax, %xmm0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27923 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/MachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions