llvm.org GIT mirror llvm / aadcea3
Updated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35352 91177308-0d34-0410-b5e6-96231b3b80d8 Bill Wendling 13 years ago
1 changed file(s) with 0 addition(s) and 54 deletion(s). Raw diff Collapse all Expand all
22 //===---------------------------------------------------------------------===//
33
44 //===---------------------------------------------------------------------===//
5
6 We should compile
7
8 #include
9
10 extern __m64 C;
11
12 void baz(__v2si *A, __v2si *B)
13 {
14 *A = __builtin_ia32_psllq(*B, C);
15 _mm_empty();
16 }
17
18 to:
19
20 .globl _baz
21 _baz:
22 call L3
23 "L00000000001$pb":
24 L3:
25 popl %ecx
26 subl $12, %esp
27 movl 20(%esp), %eax
28 movq (%eax), %mm0
29 movl L_C$non_lazy_ptr-"L00000000001$pb"(%ecx), %eax
30 movq (%eax), %mm1
31 movl 16(%esp), %eax
32 psllq %mm1, %mm0
33 movq %mm0, (%eax)
34 emms
35 addl $12, %esp
36 ret
37
38 not:
39
40 _baz:
41 subl $12, %esp
42 call "L1$pb"
43 "L1$pb":
44 popl %eax
45 movl L_C$non_lazy_ptr-"L1$pb"(%eax), %eax
46 movl (%eax), %ecx
47 movl %ecx, (%esp)
48 movl 4(%eax), %eax
49 movl %eax, 4(%esp)
50 movl 20(%esp), %eax
51 movq (%eax), %mm0
52 movq (%esp), %mm1
53 psllq %mm1, %mm0
54 movl 16(%esp), %eax
55 movq %mm0, (%eax)
56 emms
57 addl $12, %esp
58 ret