; AVX512F-LABEL: test_bitreverse_v16i32:
; AVX512F: # BB#0:
; AVX512F-NEXT: vpslld $29, %zmm0, %zmm1
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm1, %zmm2
+; AVX512F-NEXT: vpslld $31, %zmm0, %zmm1
; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm1, %zmm1
-; AVX512F-NEXT: vpslld $31, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm1, %zmm2, %zmm1
-; AVX512F-NEXT: vpslld $27, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpslld $25, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpslld $23, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpslld $21, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpslld $19, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpslld $17, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpslld $15, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpslld $13, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpslld $11, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpslld $9, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpslld $7, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpslld $5, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpslld $3, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpslld $1, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrld $1, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrld $3, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrld $5, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrld $7, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrld $9, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrld $11, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrld $13, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrld $15, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrld $17, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrld $19, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrld $21, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrld $23, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrld $25, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrld $27, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrld $29, %zmm0, %zmm2
-; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm2, %zmm2
-; AVX512F-NEXT: vpord %zmm2, %zmm1, %zmm1
+; AVX512F-NEXT: vpslld $27, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpslld $25, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpslld $23, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpslld $21, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpslld $19, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpslld $17, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpslld $15, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpslld $13, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpslld $11, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpslld $9, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpslld $7, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpslld $5, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpslld $3, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpslld $1, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrld $1, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrld $3, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrld $5, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrld $7, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrld $9, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrld $11, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrld $13, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrld $15, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrld $17, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrld $19, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrld $21, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrld $23, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrld $25, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrld $27, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrld $29, %zmm0, %zmm3
+; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm3, %zmm3
+; AVX512F-NEXT: vpord %zmm3, %zmm2, %zmm2
; AVX512F-NEXT: vpsrld $31, %zmm0, %zmm0
; AVX512F-NEXT: vpandd {{.*}}(%rip){1to16}, %zmm0, %zmm0
+; AVX512F-NEXT: vpord %zmm0, %zmm2, %zmm0
; AVX512F-NEXT: vpord %zmm0, %zmm1, %zmm0
; AVX512F-NEXT: retq
;
; AVX512F-LABEL: test_bitreverse_v8i64:
; AVX512F: # BB#0:
; AVX512F-NEXT: vpsllq $61, %zmm0, %zmm1
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm1, %zmm2
+; AVX512F-NEXT: vpsllq $63, %zmm0, %zmm1
; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $63, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm1, %zmm2, %zmm1
-; AVX512F-NEXT: vpsllq $59, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $57, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $55, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $53, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $51, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $49, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $47, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $45, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $43, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $41, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $39, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $37, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $35, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $33, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $31, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $29, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $27, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $25, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $23, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $21, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $19, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $17, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $15, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $13, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $11, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $9, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $7, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $5, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $3, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsllq $1, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $1, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $3, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $5, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $7, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $9, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $11, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $13, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $15, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $17, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $19, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $21, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $23, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $25, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $27, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $29, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $31, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $33, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $35, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $37, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $39, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $41, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $43, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $45, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $47, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $49, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $51, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $53, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $55, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $57, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $59, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpsrlq $61, %zmm0, %zmm2
-; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm2, %zmm2
-; AVX512F-NEXT: vporq %zmm2, %zmm1, %zmm1
+; AVX512F-NEXT: vpsllq $59, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $57, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $55, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $53, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $51, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $49, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $47, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $45, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $43, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $41, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $39, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $37, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $35, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $33, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $31, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $29, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $27, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $25, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $23, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $21, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $19, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $17, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $15, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $13, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $11, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $9, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $7, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $5, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $3, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsllq $1, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $1, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $3, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $5, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $7, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $9, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $11, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $13, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $15, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $17, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $19, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $21, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $23, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $25, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $27, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $29, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $31, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $33, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $35, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $37, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $39, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $41, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $43, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $45, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $47, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $49, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $51, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $53, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $55, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $57, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $59, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
+; AVX512F-NEXT: vpsrlq $61, %zmm0, %zmm3
+; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm3, %zmm3
+; AVX512F-NEXT: vporq %zmm3, %zmm2, %zmm2
; AVX512F-NEXT: vpsrlq $63, %zmm0, %zmm0
; AVX512F-NEXT: vpandq {{.*}}(%rip){1to8}, %zmm0, %zmm0
+; AVX512F-NEXT: vporq %zmm0, %zmm2, %zmm0
; AVX512F-NEXT: vporq %zmm0, %zmm1, %zmm0
; AVX512F-NEXT: retq
;