Lines Matching refs:WIN
4 ; RUN: llc -mtriple=x86_64-win32 -mattr=+sse2 < %s | FileCheck %s --check-prefix=WIN-SSE2
5 ; RUN: llc -mtriple=x86_64-win32 -mcpu=nehalem < %s | FileCheck %s --check-prefix=WIN-SSE4
52 ; WIN-SSE2-LABEL: foo:
53 ; WIN-SSE2: # %bb.0:
54 ; WIN-SSE2-NEXT: movdqa (%rdx), %xmm0
55 ; WIN-SSE2-NEXT: pand (%r8), %xmm0
56 ; WIN-SSE2-NEXT: movd %xmm0, %r8d
57 ; WIN-SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm0[1,1,1,1]
58 ; WIN-SSE2-NEXT: movd %xmm1, %r9d
59 ; WIN-SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3]
60 ; WIN-SSE2-NEXT: movd %xmm1, %r10d
61 ; WIN-SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[3,3,3,3]
62 ; WIN-SSE2-NEXT: movd %xmm0, %edx
63 ; WIN-SSE2-NEXT: movslq %r8d, %rax
64 ; WIN-SSE2-NEXT: movslq %r9d, %r8
65 ; WIN-SSE2-NEXT: movslq %r10d, %r9
66 ; WIN-SSE2-NEXT: movslq %edx, %rdx
67 ; WIN-SSE2-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
68 ; WIN-SSE2-NEXT: movhps {{.*#+}} xmm0 = xmm0[0,1],mem[0,1]
69 ; WIN-SSE2-NEXT: movsd {{.*#+}} xmm1 = mem[0],zero
70 ; WIN-SSE2-NEXT: movhps {{.*#+}} xmm1 = xmm1[0,1],mem[0,1]
71 ; WIN-SSE2-NEXT: retq
73 ; WIN-SSE4-LABEL: foo:
74 ; WIN-SSE4: # %bb.0:
75 ; WIN-SSE4-NEXT: movdqa (%rdx), %xmm0
76 ; WIN-SSE4-NEXT: pand (%r8), %xmm0
77 ; WIN-SSE4-NEXT: movd %xmm0, %eax
78 ; WIN-SSE4-NEXT: pextrd $1, %xmm0, %edx
79 ; WIN-SSE4-NEXT: pextrd $2, %xmm0, %r8d
80 ; WIN-SSE4-NEXT: pextrd $3, %xmm0, %r9d
81 ; WIN-SSE4-NEXT: cltq
82 ; WIN-SSE4-NEXT: movslq %edx, %rdx
83 ; WIN-SSE4-NEXT: movslq %r8d, %r8
84 ; WIN-SSE4-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
85 ; WIN-SSE4-NEXT: movhps {{.*#+}} xmm0 = xmm0[0,1],mem[0,1]
86 ; WIN-SSE4-NEXT: movslq %r9d, %rax
87 ; WIN-SSE4-NEXT: movsd {{.*#+}} xmm1 = mem[0],zero
88 ; WIN-SSE4-NEXT: movhps {{.*#+}} xmm1 = xmm1[0,1],mem[0,1]
89 ; WIN-SSE4-NEXT: retq
180 ; WIN-SSE2-LABEL: old:
181 ; WIN-SSE2: # %bb.0:
182 ; WIN-SSE2-NEXT: movdqa (%rdx), %xmm0
183 ; WIN-SSE2-NEXT: pand (%r8), %xmm0
184 ; WIN-SSE2-NEXT: movd %xmm0, %eax
185 ; WIN-SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm0[1,1,1,1]
186 ; WIN-SSE2-NEXT: movd %xmm1, %ecx
187 ; WIN-SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3]
188 ; WIN-SSE2-NEXT: movd %xmm1, %r8d
189 ; WIN-SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[3,3,3,3]
190 ; WIN-SSE2-NEXT: movd %xmm0, %edx
191 ; WIN-SSE2-NEXT: andl %r9d, %eax
192 ; WIN-SSE2-NEXT: andl %r9d, %ecx
193 ; WIN-SSE2-NEXT: andl %r9d, %r8d
194 ; WIN-SSE2-NEXT: andl %r9d, %edx
195 ; WIN-SSE2-NEXT: movq %rax, %xmm0
196 ; WIN-SSE2-NEXT: movq %rcx, %xmm1
197 ; WIN-SSE2-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
198 ; WIN-SSE2-NEXT: movq %rdx, %xmm2
199 ; WIN-SSE2-NEXT: movq %r8, %xmm1
200 ; WIN-SSE2-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm2[0]
201 ; WIN-SSE2-NEXT: retq
203 ; WIN-SSE4-LABEL: old:
204 ; WIN-SSE4: # %bb.0:
205 ; WIN-SSE4-NEXT: movdqa (%rdx), %xmm0
206 ; WIN-SSE4-NEXT: pand (%r8), %xmm0
207 ; WIN-SSE4-NEXT: movd %xmm0, %eax
208 ; WIN-SSE4-NEXT: pextrd $1, %xmm0, %ecx
209 ; WIN-SSE4-NEXT: pextrd $2, %xmm0, %r8d
210 ; WIN-SSE4-NEXT: pextrd $3, %xmm0, %edx
211 ; WIN-SSE4-NEXT: andl %r9d, %eax
212 ; WIN-SSE4-NEXT: andl %r9d, %ecx
213 ; WIN-SSE4-NEXT: andl %r9d, %r8d
214 ; WIN-SSE4-NEXT: andl %r9d, %edx
215 ; WIN-SSE4-NEXT: movq %rcx, %xmm1
216 ; WIN-SSE4-NEXT: movq %rax, %xmm0
217 ; WIN-SSE4-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
218 ; WIN-SSE4-NEXT: movq %rdx, %xmm2
219 ; WIN-SSE4-NEXT: movq %r8, %xmm1
220 ; WIN-SSE4-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm2[0]
221 ; WIN-SSE4-NEXT: retq