Lines Matching refs:SSSE3
2 …RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+SSE2 | FileCheck %s --check-prefix=SSE2-SSSE3
3 …UN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+SSSE3 | FileCheck %s --check-prefix=SSE2-SSSE3
10 ; SSE2-SSSE3-LABEL: v16i16:
11 ; SSE2-SSSE3: # %bb.0:
12 ; SSE2-SSSE3-NEXT: pcmpgtw %xmm3, %xmm1
13 ; SSE2-SSSE3-NEXT: pcmpgtw %xmm2, %xmm0
14 ; SSE2-SSSE3-NEXT: packsswb %xmm1, %xmm0
15 ; SSE2-SSSE3-NEXT: pmovmskb %xmm0, %eax
16 ; SSE2-SSSE3-NEXT: # kill: def $ax killed $ax killed $eax
17 ; SSE2-SSSE3-NEXT: retq
64 ; SSE2-SSSE3-LABEL: v8i32:
65 ; SSE2-SSSE3: # %bb.0:
66 ; SSE2-SSSE3-NEXT: pcmpgtd %xmm3, %xmm1
67 ; SSE2-SSSE3-NEXT: pcmpgtd %xmm2, %xmm0
68 ; SSE2-SSSE3-NEXT: packssdw %xmm1, %xmm0
69 ; SSE2-SSSE3-NEXT: packsswb %xmm0, %xmm0
70 ; SSE2-SSSE3-NEXT: pmovmskb %xmm0, %eax
71 ; SSE2-SSSE3-NEXT: # kill: def $al killed $al killed $eax
72 ; SSE2-SSSE3-NEXT: retq
115 ; SSE2-SSSE3-LABEL: v8f32:
116 ; SSE2-SSSE3: # %bb.0:
117 ; SSE2-SSSE3-NEXT: cmpltps %xmm1, %xmm3
118 ; SSE2-SSSE3-NEXT: cmpltps %xmm0, %xmm2
119 ; SSE2-SSSE3-NEXT: packssdw %xmm3, %xmm2
120 ; SSE2-SSSE3-NEXT: packsswb %xmm2, %xmm2
121 ; SSE2-SSSE3-NEXT: pmovmskb %xmm2, %eax
122 ; SSE2-SSSE3-NEXT: # kill: def $al killed $al killed $eax
123 ; SSE2-SSSE3-NEXT: retq
154 ; SSE2-SSSE3-LABEL: v32i8:
155 ; SSE2-SSSE3: # %bb.0:
156 ; SSE2-SSSE3-NEXT: pcmpgtb %xmm2, %xmm0
157 ; SSE2-SSSE3-NEXT: pmovmskb %xmm0, %ecx
158 ; SSE2-SSSE3-NEXT: pcmpgtb %xmm3, %xmm1
159 ; SSE2-SSSE3-NEXT: pmovmskb %xmm1, %eax
160 ; SSE2-SSSE3-NEXT: shll $16, %eax
161 ; SSE2-SSSE3-NEXT: orl %ecx, %eax
162 ; SSE2-SSSE3-NEXT: retq
203 ; SSE2-SSSE3-LABEL: v4i64:
204 ; SSE2-SSSE3: # %bb.0:
205 ; SSE2-SSSE3-NEXT: movdqa {{.*#+}} xmm4 = [2147483648,2147483648]
206 ; SSE2-SSSE3-NEXT: pxor %xmm4, %xmm3
207 ; SSE2-SSSE3-NEXT: pxor %xmm4, %xmm1
208 ; SSE2-SSSE3-NEXT: movdqa %xmm1, %xmm5
209 ; SSE2-SSSE3-NEXT: pcmpeqd %xmm3, %xmm5
210 ; SSE2-SSSE3-NEXT: pcmpgtd %xmm3, %xmm1
211 ; SSE2-SSSE3-NEXT: pshufd {{.*#+}} xmm3 = xmm1[0,0,2,2]
212 ; SSE2-SSSE3-NEXT: pand %xmm5, %xmm3
213 ; SSE2-SSSE3-NEXT: por %xmm1, %xmm3
214 ; SSE2-SSSE3-NEXT: pxor %xmm4, %xmm2
215 ; SSE2-SSSE3-NEXT: pxor %xmm4, %xmm0
216 ; SSE2-SSSE3-NEXT: movdqa %xmm0, %xmm1
217 ; SSE2-SSSE3-NEXT: pcmpeqd %xmm2, %xmm1
218 ; SSE2-SSSE3-NEXT: pcmpgtd %xmm2, %xmm0
219 ; SSE2-SSSE3-NEXT: pshufd {{.*#+}} xmm2 = xmm0[0,0,2,2]
220 ; SSE2-SSSE3-NEXT: pand %xmm1, %xmm2
221 ; SSE2-SSSE3-NEXT: por %xmm0, %xmm2
222 ; SSE2-SSSE3-NEXT: packssdw %xmm3, %xmm2
223 ; SSE2-SSSE3-NEXT: movmskps %xmm2, %eax
224 ; SSE2-SSSE3-NEXT: # kill: def $al killed $al killed $eax
225 ; SSE2-SSSE3-NEXT: retq
268 ; SSE2-SSSE3-LABEL: v4f64:
269 ; SSE2-SSSE3: # %bb.0:
270 ; SSE2-SSSE3-NEXT: cmpltpd %xmm1, %xmm3
271 ; SSE2-SSSE3-NEXT: cmpltpd %xmm0, %xmm2
272 ; SSE2-SSSE3-NEXT: packssdw %xmm3, %xmm2
273 ; SSE2-SSSE3-NEXT: movmskps %xmm2, %eax
274 ; SSE2-SSSE3-NEXT: # kill: def $al killed $al killed $eax
275 ; SSE2-SSSE3-NEXT: retq
306 ; SSE2-SSSE3-LABEL: bitcast_32i8_store:
307 ; SSE2-SSSE3: # %bb.0:
308 ; SSE2-SSSE3-NEXT: pmovmskb %xmm0, %eax
309 ; SSE2-SSSE3-NEXT: pmovmskb %xmm1, %ecx
310 ; SSE2-SSSE3-NEXT: shll $16, %ecx
311 ; SSE2-SSSE3-NEXT: orl %eax, %ecx
312 ; SSE2-SSSE3-NEXT: movl %ecx, (%rdi)
313 ; SSE2-SSSE3-NEXT: retq
360 ; SSE2-SSSE3-LABEL: bitcast_16i16_store:
361 ; SSE2-SSSE3: # %bb.0:
362 ; SSE2-SSSE3-NEXT: packsswb %xmm1, %xmm0
363 ; SSE2-SSSE3-NEXT: pmovmskb %xmm0, %eax
364 ; SSE2-SSSE3-NEXT: movw %ax, (%rdi)
365 ; SSE2-SSSE3-NEXT: retq
408 ; SSE2-SSSE3-LABEL: bitcast_8i32_store:
409 ; SSE2-SSSE3: # %bb.0:
410 ; SSE2-SSSE3-NEXT: packssdw %xmm1, %xmm0
411 ; SSE2-SSSE3-NEXT: packsswb %xmm0, %xmm0
412 ; SSE2-SSSE3-NEXT: pmovmskb %xmm0, %eax
413 ; SSE2-SSSE3-NEXT: movb %al, (%rdi)
414 ; SSE2-SSSE3-NEXT: retq
436 ; SSE2-SSSE3-LABEL: bitcast_4i64_store:
437 ; SSE2-SSSE3: # %bb.0:
438 ; SSE2-SSSE3-NEXT: packssdw %xmm1, %xmm0
439 ; SSE2-SSSE3-NEXT: movmskps %xmm0, %eax
440 ; SSE2-SSSE3-NEXT: movb %al, (%rdi)
441 ; SSE2-SSSE3-NEXT: retq