mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-23 11:04:49 +00:00
Made this into a bug report: PR1286
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35439 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f6e9353e1a
commit
03179060ee
@ -572,43 +572,3 @@ swizzle:
|
||||
ret
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
||||
We should compile this:
|
||||
|
||||
#include <xmmintrin.h>
|
||||
|
||||
void foo(__m128i *A, __m128i *B) {
|
||||
*A = _mm_sll_epi16 (*A, *B);
|
||||
}
|
||||
|
||||
to:
|
||||
|
||||
_foo:
|
||||
subl $12, %esp
|
||||
movl 16(%esp), %edx
|
||||
movl 20(%esp), %eax
|
||||
movdqa (%edx), %xmm1
|
||||
movdqa (%eax), %xmm0
|
||||
psllw %xmm0, %xmm1
|
||||
movdqa %xmm1, (%edx)
|
||||
addl $12, %esp
|
||||
ret
|
||||
|
||||
not:
|
||||
|
||||
_foo:
|
||||
movl 8(%esp), %eax
|
||||
movdqa (%eax), %xmm0
|
||||
#IMPLICIT_DEF %eax
|
||||
pinsrw $2, %eax, %xmm0
|
||||
xorl %ecx, %ecx
|
||||
pinsrw $3, %ecx, %xmm0
|
||||
pinsrw $4, %eax, %xmm0
|
||||
pinsrw $5, %ecx, %xmm0
|
||||
pinsrw $6, %eax, %xmm0
|
||||
pinsrw $7, %ecx, %xmm0
|
||||
movl 4(%esp), %eax
|
||||
movdqa (%eax), %xmm1
|
||||
psllw %xmm0, %xmm1
|
||||
movdqa %xmm1, (%eax)
|
||||
ret
|
||||
|
Loading…
x
Reference in New Issue
Block a user