Lines Matching refs:AVX512
6 …pu=knl -mattr=+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX…
49 ; AVX512-LABEL: var_shift_v4i64:
50 ; AVX512: ## BB#0:
51 ; AVX512-NEXT: vpsrlvq %ymm1, %ymm0, %ymm0
52 ; AVX512-NEXT: retq
110 ; AVX512-LABEL: var_shift_v8i32:
111 ; AVX512: ## BB#0:
112 ; AVX512-NEXT: vpsrlvd %ymm1, %ymm0, %ymm0
113 ; AVX512-NEXT: retq
192 ; AVX512-LABEL: var_shift_v16i16:
193 ; AVX512: ## BB#0:
194 ; AVX512-NEXT: ## kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
195 ; AVX512-NEXT: ## kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
196 ; AVX512-NEXT: vpsrlvw %zmm1, %zmm0, %zmm0
197 ; AVX512-NEXT: ## kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
198 ; AVX512-NEXT: retq
278 ; AVX512-LABEL: var_shift_v32i8:
279 ; AVX512: ## BB#0:
280 ; AVX512-NEXT: vpsllw $5, %ymm1, %ymm1
281 ; AVX512-NEXT: vpsrlw $4, %ymm0, %ymm2
282 ; AVX512-NEXT: vpand {{.*}}(%rip), %ymm2, %ymm2
283 ; AVX512-NEXT: vpblendvb %ymm1, %ymm2, %ymm0, %ymm0
284 ; AVX512-NEXT: vpsrlw $2, %ymm0, %ymm2
285 ; AVX512-NEXT: vpand {{.*}}(%rip), %ymm2, %ymm2
286 ; AVX512-NEXT: vpaddb %ymm1, %ymm1, %ymm1
287 ; AVX512-NEXT: vpblendvb %ymm1, %ymm2, %ymm0, %ymm0
288 ; AVX512-NEXT: vpsrlw $1, %ymm0, %ymm2
289 ; AVX512-NEXT: vpand {{.*}}(%rip), %ymm2, %ymm2
290 ; AVX512-NEXT: vpaddb %ymm1, %ymm1, %ymm1
291 ; AVX512-NEXT: vpblendvb %ymm1, %ymm2, %ymm0, %ymm0
292 ; AVX512-NEXT: retq
328 ; AVX512-LABEL: splatvar_shift_v4i64:
329 ; AVX512: ## BB#0:
330 ; AVX512-NEXT: vpsrlq %xmm1, %ymm0, %ymm0
331 ; AVX512-NEXT: retq
372 ; AVX512-LABEL: splatvar_shift_v8i32:
373 ; AVX512: ## BB#0:
374 ; AVX512-NEXT: vxorps %xmm2, %xmm2, %xmm2
375 ; AVX512-NEXT: vmovss {{.*#+}} xmm1 = xmm1[0],xmm2[1,2,3]
376 ; AVX512-NEXT: vpsrld %xmm1, %ymm0, %ymm0
377 ; AVX512-NEXT: retq
422 ; AVX512-LABEL: splatvar_shift_v16i16:
423 ; AVX512: ## BB#0:
424 ; AVX512-NEXT: vmovd %xmm1, %eax
425 ; AVX512-NEXT: movzwl %ax, %eax
426 ; AVX512-NEXT: vmovd %eax, %xmm1
427 ; AVX512-NEXT: vpsrlw %xmm1, %ymm0, %ymm0
428 ; AVX512-NEXT: retq
508 ; AVX512-LABEL: splatvar_shift_v32i8:
509 ; AVX512: ## BB#0:
510 ; AVX512-NEXT: vpbroadcastb %xmm1, %ymm1
511 ; AVX512-NEXT: vpsrlw $4, %ymm0, %ymm2
512 ; AVX512-NEXT: vpand {{.*}}(%rip), %ymm2, %ymm2
513 ; AVX512-NEXT: vpsllw $5, %ymm1, %ymm1
514 ; AVX512-NEXT: vpblendvb %ymm1, %ymm2, %ymm0, %ymm0
515 ; AVX512-NEXT: vpsrlw $2, %ymm0, %ymm2
516 ; AVX512-NEXT: vpand {{.*}}(%rip), %ymm2, %ymm2
517 ; AVX512-NEXT: vpaddb %ymm1, %ymm1, %ymm1
518 ; AVX512-NEXT: vpblendvb %ymm1, %ymm2, %ymm0, %ymm0
519 ; AVX512-NEXT: vpsrlw $1, %ymm0, %ymm2
520 ; AVX512-NEXT: vpand {{.*}}(%rip), %ymm2, %ymm2
521 ; AVX512-NEXT: vpaddb %ymm1, %ymm1, %ymm1
522 ; AVX512-NEXT: vpblendvb %ymm1, %ymm2, %ymm0, %ymm0
523 ; AVX512-NEXT: retq
567 ; AVX512-LABEL: constant_shift_v4i64:
568 ; AVX512: ## BB#0:
569 ; AVX512-NEXT: vpsrlvq {{.*}}(%rip), %ymm0, %ymm0
570 ; AVX512-NEXT: retq
612 ; AVX512-LABEL: constant_shift_v8i32:
613 ; AVX512: ## BB#0:
614 ; AVX512-NEXT: vpsrlvd {{.*}}(%rip), %ymm0, %ymm0
615 ; AVX512-NEXT: retq
677 ; AVX512-LABEL: constant_shift_v16i16:
678 ; AVX512: ## BB#0:
679 ; AVX512-NEXT: ## kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
680 ; AVX512-NEXT: vmovdqa {{.*#+}} ymm1 = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
681 ; AVX512-NEXT: vpsrlvw %zmm1, %zmm0, %zmm0
682 ; AVX512-NEXT: ## kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
683 ; AVX512-NEXT: retq
757 ; AVX512-LABEL: constant_shift_v32i8:
758 ; AVX512: ## BB#0:
759 ; 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,…
760 ; AVX512-NEXT: vpsllw $5, %ymm1, %ymm1
761 ; AVX512-NEXT: vpsrlw $4, %ymm0, %ymm2
762 ; AVX512-NEXT: vpand {{.*}}(%rip), %ymm2, %ymm2
763 ; AVX512-NEXT: vpblendvb %ymm1, %ymm2, %ymm0, %ymm0
764 ; AVX512-NEXT: vpsrlw $2, %ymm0, %ymm2
765 ; AVX512-NEXT: vpand {{.*}}(%rip), %ymm2, %ymm2
766 ; AVX512-NEXT: vpaddb %ymm1, %ymm1, %ymm1
767 ; AVX512-NEXT: vpblendvb %ymm1, %ymm2, %ymm0, %ymm0
768 ; AVX512-NEXT: vpsrlw $1, %ymm0, %ymm2
769 ; AVX512-NEXT: vpand {{.*}}(%rip), %ymm2, %ymm2
770 ; AVX512-NEXT: vpaddb %ymm1, %ymm1, %ymm1
771 ; AVX512-NEXT: vpblendvb %ymm1, %ymm2, %ymm0, %ymm0
772 ; AVX512-NEXT: retq
808 ; AVX512-LABEL: splatconstant_shift_v4i64:
809 ; AVX512: ## BB#0:
810 ; AVX512-NEXT: vpsrlq $7, %ymm0, %ymm0
811 ; AVX512-NEXT: retq
843 ; AVX512-LABEL: splatconstant_shift_v8i32:
844 ; AVX512: ## BB#0:
845 ; AVX512-NEXT: vpsrld $5, %ymm0, %ymm0
846 ; AVX512-NEXT: retq
878 ; AVX512-LABEL: splatconstant_shift_v16i16:
879 ; AVX512: ## BB#0:
880 ; AVX512-NEXT: vpsrlw $3, %ymm0, %ymm0
881 ; AVX512-NEXT: retq
920 ; AVX512-LABEL: splatconstant_shift_v32i8:
921 ; AVX512: ## BB#0:
922 ; AVX512-NEXT: vpsrlw $3, %ymm0, %ymm0
923 ; AVX512-NEXT: vpand {{.*}}(%rip), %ymm0, %ymm0
924 ; AVX512-NEXT: retq