Lines Matching refs:SSSE3
2 …c < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefixes=SSE2-SSSE3,SSE2
3 …< %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefixes=SSE2-SSSE3,SSSE3
10 ; SSE2-SSSE3-LABEL: v8i16:
11 ; SSE2-SSSE3: # %bb.0:
12 ; SSE2-SSSE3-NEXT: pcmpgtw %xmm1, %xmm0
13 ; SSE2-SSSE3-NEXT: pcmpgtw %xmm3, %xmm2
14 ; SSE2-SSSE3-NEXT: pand %xmm0, %xmm2
15 ; SSE2-SSSE3-NEXT: packsswb %xmm2, %xmm2
16 ; SSE2-SSSE3-NEXT: pmovmskb %xmm2, %eax
17 ; SSE2-SSSE3-NEXT: # kill: def $al killed $al killed $eax
18 ; SSE2-SSSE3-NEXT: retq
57 ; SSE2-SSSE3-LABEL: v4i32:
58 ; SSE2-SSSE3: # %bb.0:
59 ; SSE2-SSSE3-NEXT: pcmpgtd %xmm1, %xmm0
60 ; SSE2-SSSE3-NEXT: pcmpgtd %xmm3, %xmm2
61 ; SSE2-SSSE3-NEXT: pand %xmm0, %xmm2
62 ; SSE2-SSSE3-NEXT: movmskps %xmm2, %eax
63 ; SSE2-SSSE3-NEXT: # kill: def $al killed $al killed $eax
64 ; SSE2-SSSE3-NEXT: retq
98 ; SSE2-SSSE3-LABEL: v4f32:
99 ; SSE2-SSSE3: # %bb.0:
100 ; SSE2-SSSE3-NEXT: cmpltps %xmm0, %xmm1
101 ; SSE2-SSSE3-NEXT: cmpltps %xmm2, %xmm3
102 ; SSE2-SSSE3-NEXT: andps %xmm1, %xmm3
103 ; SSE2-SSSE3-NEXT: movmskps %xmm3, %eax
104 ; SSE2-SSSE3-NEXT: # kill: def $al killed $al killed $eax
105 ; SSE2-SSSE3-NEXT: retq
139 ; SSE2-SSSE3-LABEL: v16i8:
140 ; SSE2-SSSE3: # %bb.0:
141 ; SSE2-SSSE3-NEXT: pcmpgtb %xmm1, %xmm0
142 ; SSE2-SSSE3-NEXT: pcmpgtb %xmm3, %xmm2
143 ; SSE2-SSSE3-NEXT: pand %xmm0, %xmm2
144 ; SSE2-SSSE3-NEXT: pmovmskb %xmm2, %eax
145 ; SSE2-SSSE3-NEXT: # kill: def $ax killed $ax killed $eax
146 ; SSE2-SSSE3-NEXT: retq
196 ; SSSE3-LABEL: v2i8:
197 ; SSSE3: # %bb.0:
198 ; SSSE3-NEXT: pcmpgtb %xmm1, %xmm0
199 ; SSSE3-NEXT: movdqa {{.*#+}} xmm1 = <u,u,u,0,u,u,u,0,u,u,u,1,u,u,u,1>
200 ; SSSE3-NEXT: pshufb %xmm1, %xmm0
201 ; SSSE3-NEXT: pcmpgtb %xmm3, %xmm2
202 ; SSSE3-NEXT: pshufb %xmm1, %xmm2
203 ; SSSE3-NEXT: pand %xmm0, %xmm2
204 ; SSSE3-NEXT: movmskpd %xmm2, %eax
205 ; SSSE3-NEXT: # kill: def $al killed $al killed $eax
206 ; SSSE3-NEXT: retq
249 ; SSE2-SSSE3-LABEL: v2i16:
250 ; SSE2-SSSE3: # %bb.0:
251 ; SSE2-SSSE3-NEXT: pcmpgtw %xmm1, %xmm0
252 ; SSE2-SSSE3-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,0,2,1,4,5,6,7]
253 ; SSE2-SSSE3-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,0,1,1]
254 ; SSE2-SSSE3-NEXT: pcmpgtw %xmm3, %xmm2
255 ; SSE2-SSSE3-NEXT: pshuflw {{.*#+}} xmm1 = xmm2[0,0,2,1,4,5,6,7]
256 ; SSE2-SSSE3-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,0,1,1]
257 ; SSE2-SSSE3-NEXT: pand %xmm0, %xmm1
258 ; SSE2-SSSE3-NEXT: movmskpd %xmm1, %eax
259 ; SSE2-SSSE3-NEXT: # kill: def $al killed $al killed $eax
260 ; SSE2-SSSE3-NEXT: retq
303 ; SSE2-SSSE3-LABEL: v2i32:
304 ; SSE2-SSSE3: # %bb.0:
305 ; SSE2-SSSE3-NEXT: pcmpgtd %xmm1, %xmm0
306 ; SSE2-SSSE3-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,0,1,1]
307 ; SSE2-SSSE3-NEXT: pcmpgtd %xmm3, %xmm2
308 ; SSE2-SSSE3-NEXT: pshufd {{.*#+}} xmm1 = xmm2[0,0,1,1]
309 ; SSE2-SSSE3-NEXT: pand %xmm0, %xmm1
310 ; SSE2-SSSE3-NEXT: movmskpd %xmm1, %eax
311 ; SSE2-SSSE3-NEXT: # kill: def $al killed $al killed $eax
312 ; SSE2-SSSE3-NEXT: retq
350 ; SSE2-SSSE3-LABEL: v2i64:
351 ; SSE2-SSSE3: # %bb.0:
352 ; SSE2-SSSE3-NEXT: movdqa {{.*#+}} xmm4 = [2147483648,2147483648]
353 ; SSE2-SSSE3-NEXT: pxor %xmm4, %xmm1
354 ; SSE2-SSSE3-NEXT: pxor %xmm4, %xmm0
355 ; SSE2-SSSE3-NEXT: movdqa %xmm0, %xmm5
356 ; SSE2-SSSE3-NEXT: pcmpeqd %xmm1, %xmm5
357 ; SSE2-SSSE3-NEXT: pcmpgtd %xmm1, %xmm0
358 ; SSE2-SSSE3-NEXT: pshufd {{.*#+}} xmm1 = xmm0[0,0,2,2]
359 ; SSE2-SSSE3-NEXT: pand %xmm5, %xmm1
360 ; SSE2-SSSE3-NEXT: por %xmm0, %xmm1
361 ; SSE2-SSSE3-NEXT: pxor %xmm4, %xmm3
362 ; SSE2-SSSE3-NEXT: pxor %xmm4, %xmm2
363 ; SSE2-SSSE3-NEXT: movdqa %xmm2, %xmm0
364 ; SSE2-SSSE3-NEXT: pcmpeqd %xmm3, %xmm0
365 ; SSE2-SSSE3-NEXT: pcmpgtd %xmm3, %xmm2
366 ; SSE2-SSSE3-NEXT: pshufd {{.*#+}} xmm3 = xmm2[0,0,2,2]
367 ; SSE2-SSSE3-NEXT: pand %xmm0, %xmm3
368 ; SSE2-SSSE3-NEXT: por %xmm2, %xmm3
369 ; SSE2-SSSE3-NEXT: pand %xmm1, %xmm3
370 ; SSE2-SSSE3-NEXT: movmskpd %xmm3, %eax
371 ; SSE2-SSSE3-NEXT: # kill: def $al killed $al killed $eax
372 ; SSE2-SSSE3-NEXT: retq
406 ; SSE2-SSSE3-LABEL: v2f64:
407 ; SSE2-SSSE3: # %bb.0:
408 ; SSE2-SSSE3-NEXT: cmpltpd %xmm0, %xmm1
409 ; SSE2-SSSE3-NEXT: cmpltpd %xmm2, %xmm3
410 ; SSE2-SSSE3-NEXT: andpd %xmm1, %xmm3
411 ; SSE2-SSSE3-NEXT: movmskpd %xmm3, %eax
412 ; SSE2-SSSE3-NEXT: # kill: def $al killed $al killed $eax
413 ; SSE2-SSSE3-NEXT: retq
447 ; SSE2-SSSE3-LABEL: v4i8:
448 ; SSE2-SSSE3: # %bb.0:
449 ; SSE2-SSSE3-NEXT: pcmpgtb %xmm1, %xmm0
450 ; SSE2-SSSE3-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
451 ; SSE2-SSSE3-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3]
452 ; SSE2-SSSE3-NEXT: pcmpgtb %xmm3, %xmm2
453 ; SSE2-SSSE3-NEXT: punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm…
454 ; SSE2-SSSE3-NEXT: punpcklwd {{.*#+}} xmm1 = xmm1[0,0,1,1,2,2,3,3]
455 ; SSE2-SSSE3-NEXT: pand %xmm0, %xmm1
456 ; SSE2-SSSE3-NEXT: movmskps %xmm1, %eax
457 ; SSE2-SSSE3-NEXT: # kill: def $al killed $al killed $eax
458 ; SSE2-SSSE3-NEXT: retq
501 ; SSE2-SSSE3-LABEL: v4i16:
502 ; SSE2-SSSE3: # %bb.0:
503 ; SSE2-SSSE3-NEXT: pcmpgtw %xmm1, %xmm0
504 ; SSE2-SSSE3-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3]
505 ; SSE2-SSSE3-NEXT: pcmpgtw %xmm3, %xmm2
506 ; SSE2-SSSE3-NEXT: punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm…
507 ; SSE2-SSSE3-NEXT: pand %xmm0, %xmm1
508 ; SSE2-SSSE3-NEXT: movmskps %xmm1, %eax
509 ; SSE2-SSSE3-NEXT: # kill: def $al killed $al killed $eax
510 ; SSE2-SSSE3-NEXT: retq
553 ; SSE2-SSSE3-LABEL: v8i8:
554 ; SSE2-SSSE3: # %bb.0:
555 ; SSE2-SSSE3-NEXT: pcmpgtb %xmm1, %xmm0
556 ; SSE2-SSSE3-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
557 ; SSE2-SSSE3-NEXT: pcmpgtb %xmm3, %xmm2
558 ; SSE2-SSSE3-NEXT: punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm…
559 ; SSE2-SSSE3-NEXT: pand %xmm0, %xmm1
560 ; SSE2-SSSE3-NEXT: packsswb %xmm1, %xmm1
561 ; SSE2-SSSE3-NEXT: pmovmskb %xmm1, %eax
562 ; SSE2-SSSE3-NEXT: # kill: def $al killed $al killed $eax
563 ; SSE2-SSSE3-NEXT: retq