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 | e8b518004424a13c04735d69d0d970bdf644764c (patch) | |
tree | ec5e9f972eb14023a50980ffb85e31441c516826 /llvm/lib/CodeGen/MachineFunction.cpp | |
parent | cc47ab330531e65aa345a0d438e67efa51a46c52 (diff) | |
download | llvm-e8b518004424a13c04735d69d0d970bdf644764c.zip llvm-e8b518004424a13c04735d69d0d970bdf644764c.tar.gz llvm-e8b518004424a13c04735d69d0d970bdf644764c.tar.bz2 |
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
llvm-svn: 27923
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions