Lines Matching refs:AVX512
6 …pu=knl -mattr=+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX…
47 ; AVX512-LABEL: var_shift_v4i64:
48 ; AVX512: ## BB#0:
49 ; AVX512-NEXT: vpsllvq %ymm1, %ymm0, %ymm0
50 ; AVX512-NEXT: retq
91 ; AVX512-LABEL: var_shift_v8i32:
92 ; AVX512: ## BB#0:
93 ; AVX512-NEXT: vpsllvd %ymm1, %ymm0, %ymm0
94 ; AVX512-NEXT: retq
167 ; AVX512-LABEL: var_shift_v16i16:
168 ; AVX512: ## BB#0:
169 ; AVX512-NEXT: ## kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
170 ; AVX512-NEXT: ## kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
171 ; AVX512-NEXT: vpsllvw %zmm1, %zmm0, %zmm0
172 ; AVX512-NEXT: ## kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
173 ; AVX512-NEXT: retq
243 ; AVX512-LABEL: var_shift_v32i8:
244 ; AVX512: ## BB#0:
245 ; AVX512-NEXT: vpsllw $5, %ymm1, %ymm1
246 ; AVX512-NEXT: vpsllw $4, %ymm0, %ymm2
247 ; AVX512-NEXT: vpand {{.*}}(%rip), %ymm2, %ymm2
248 ; AVX512-NEXT: vpblendvb %ymm1, %ymm2, %ymm0, %ymm0
249 ; AVX512-NEXT: vpsllw $2, %ymm0, %ymm2
250 ; AVX512-NEXT: vpand {{.*}}(%rip), %ymm2, %ymm2
251 ; AVX512-NEXT: vpaddb %ymm1, %ymm1, %ymm1
252 ; AVX512-NEXT: vpblendvb %ymm1, %ymm2, %ymm0, %ymm0
253 ; AVX512-NEXT: vpaddb %ymm0, %ymm0, %ymm2
254 ; AVX512-NEXT: vpaddb %ymm1, %ymm1, %ymm1
255 ; AVX512-NEXT: vpblendvb %ymm1, %ymm2, %ymm0, %ymm0
256 ; AVX512-NEXT: retq
292 ; AVX512-LABEL: splatvar_shift_v4i64:
293 ; AVX512: ## BB#0:
294 ; AVX512-NEXT: vpsllq %xmm1, %ymm0, %ymm0
295 ; AVX512-NEXT: retq
336 ; AVX512-LABEL: splatvar_shift_v8i32:
337 ; AVX512: ## BB#0:
338 ; AVX512-NEXT: vxorps %xmm2, %xmm2, %xmm2
339 ; AVX512-NEXT: vmovss {{.*#+}} xmm1 = xmm1[0],xmm2[1,2,3]
340 ; AVX512-NEXT: vpslld %xmm1, %ymm0, %ymm0
341 ; AVX512-NEXT: retq
386 ; AVX512-LABEL: splatvar_shift_v16i16:
387 ; AVX512: ## BB#0:
388 ; AVX512-NEXT: vmovd %xmm1, %eax
389 ; AVX512-NEXT: movzwl %ax, %eax
390 ; AVX512-NEXT: vmovd %eax, %xmm1
391 ; AVX512-NEXT: vpsllw %xmm1, %ymm0, %ymm0
392 ; AVX512-NEXT: retq
464 ; AVX512-LABEL: splatvar_shift_v32i8:
465 ; AVX512: ## BB#0:
466 ; AVX512-NEXT: vpbroadcastb %xmm1, %ymm1
467 ; AVX512-NEXT: vpsllw $4, %ymm0, %ymm2
468 ; AVX512-NEXT: vpand {{.*}}(%rip), %ymm2, %ymm2
469 ; AVX512-NEXT: vpsllw $5, %ymm1, %ymm1
470 ; AVX512-NEXT: vpblendvb %ymm1, %ymm2, %ymm0, %ymm0
471 ; AVX512-NEXT: vpsllw $2, %ymm0, %ymm2
472 ; AVX512-NEXT: vpand {{.*}}(%rip), %ymm2, %ymm2
473 ; AVX512-NEXT: vpaddb %ymm1, %ymm1, %ymm1
474 ; AVX512-NEXT: vpblendvb %ymm1, %ymm2, %ymm0, %ymm0
475 ; AVX512-NEXT: vpaddb %ymm0, %ymm0, %ymm2
476 ; AVX512-NEXT: vpaddb %ymm1, %ymm1, %ymm1
477 ; AVX512-NEXT: vpblendvb %ymm1, %ymm2, %ymm0, %ymm0
478 ; AVX512-NEXT: retq
519 ; AVX512-LABEL: constant_shift_v4i64:
520 ; AVX512: ## BB#0:
521 ; AVX512-NEXT: vpsllvq {{.*}}(%rip), %ymm0, %ymm0
522 ; AVX512-NEXT: retq
554 ; AVX512-LABEL: constant_shift_v8i32:
555 ; AVX512: ## BB#0:
556 ; AVX512-NEXT: vpsllvd {{.*}}(%rip), %ymm0, %ymm0
557 ; AVX512-NEXT: retq
589 ; AVX512-LABEL: constant_shift_v16i16:
590 ; AVX512: ## BB#0:
591 ; AVX512-NEXT: ## kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
592 ; AVX512-NEXT: vmovdqa {{.*#+}} ymm1 = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
593 ; AVX512-NEXT: vpsllvw %zmm1, %zmm0, %zmm0
594 ; AVX512-NEXT: ## kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
595 ; AVX512-NEXT: retq
663 ; AVX512-LABEL: constant_shift_v32i8:
664 ; AVX512: ## BB#0:
665 ; AVX512-NEXT: vmovdqa {{.*#+}} ymm1 = [0,1,2,3,4,5,6,7,7,6,5,4,3,2,1,0,0,1,2,3,4,5,6,7,7,6,5,4,…
666 ; AVX512-NEXT: vpsllw $5, %ymm1, %ymm1
667 ; AVX512-NEXT: vpsllw $4, %ymm0, %ymm2
668 ; AVX512-NEXT: vpand {{.*}}(%rip), %ymm2, %ymm2
669 ; AVX512-NEXT: vpblendvb %ymm1, %ymm2, %ymm0, %ymm0
670 ; AVX512-NEXT: vpsllw $2, %ymm0, %ymm2
671 ; AVX512-NEXT: vpand {{.*}}(%rip), %ymm2, %ymm2
672 ; AVX512-NEXT: vpaddb %ymm1, %ymm1, %ymm1
673 ; AVX512-NEXT: vpblendvb %ymm1, %ymm2, %ymm0, %ymm0
674 ; AVX512-NEXT: vpaddb %ymm0, %ymm0, %ymm2
675 ; AVX512-NEXT: vpaddb %ymm1, %ymm1, %ymm1
676 ; AVX512-NEXT: vpblendvb %ymm1, %ymm2, %ymm0, %ymm0
677 ; AVX512-NEXT: retq
713 ; AVX512-LABEL: splatconstant_shift_v4i64:
714 ; AVX512: ## BB#0:
715 ; AVX512-NEXT: vpsllq $7, %ymm0, %ymm0
716 ; AVX512-NEXT: retq
748 ; AVX512-LABEL: splatconstant_shift_v8i32:
749 ; AVX512: ## BB#0:
750 ; AVX512-NEXT: vpslld $5, %ymm0, %ymm0
751 ; AVX512-NEXT: retq
783 ; AVX512-LABEL: splatconstant_shift_v16i16:
784 ; AVX512: ## BB#0:
785 ; AVX512-NEXT: vpsllw $3, %ymm0, %ymm0
786 ; AVX512-NEXT: retq
824 ; AVX512-LABEL: splatconstant_shift_v32i8:
825 ; AVX512: ## BB#0:
826 ; AVX512-NEXT: vpsllw $3, %ymm0, %ymm0
827 ; AVX512-NEXT: vpand {{.*}}(%rip), %ymm0, %ymm0
828 ; AVX512-NEXT: retq