1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-18 18:42:46 +02:00

[llvm-mca][X86] Add missing shuffle tests

Match the coverage of test\CodeGen\X86\avx512-shuffle-schedule.ll so we can get rid of -print-schedule (and fix PR37160) without losing schedule tests

llvm-svn: 352179
This commit is contained in:
Simon Pilgrim 2019-01-25 09:17:30 +00:00
parent 058d2e13b4
commit 8d0bd607bf
8 changed files with 3924 additions and 8 deletions

View File

@ -101,6 +101,196 @@ vpaddq %zmm16, %zmm17, %zmm19 {z}{k1}
vpaddq (%rax), %zmm17, %zmm19 {z}{k1}
vpaddq (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vpermd %zmm16, %zmm17, %zmm19
vpermd (%rax), %zmm17, %zmm19
vpermd (%rax){1to16}, %zmm17, %zmm19
vpermd %zmm16, %zmm17, %zmm19 {k1}
vpermd (%rax), %zmm17, %zmm19 {k1}
vpermd (%rax){1to16}, %zmm17, %zmm19 {k1}
vpermd %zmm16, %zmm17, %zmm19 {z}{k1}
vpermd (%rax), %zmm17, %zmm19 {z}{k1}
vpermd (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
vpermilpd $0, %zmm16, %zmm19
vpermilpd $0, (%rax), %zmm19
vpermilpd $0, (%rax){1to8}, %zmm19
vpermilpd $0, %zmm16, %zmm19 {k1}
vpermilpd $0, (%rax), %zmm19 {k1}
vpermilpd $0, (%rax){1to8}, %zmm19 {k1}
vpermilpd $0, %zmm16, %zmm19 {z}{k1}
vpermilpd $0, (%rax), %zmm19 {z}{k1}
vpermilpd $0, (%rax){1to8}, %zmm19 {z}{k1}
vpermilpd %zmm16, %zmm17, %zmm19
vpermilpd (%rax), %zmm17, %zmm19
vpermilpd (%rax){1to8}, %zmm17, %zmm19
vpermilpd %zmm16, %zmm17, %zmm19 {k1}
vpermilpd (%rax), %zmm17, %zmm19 {k1}
vpermilpd (%rax){1to8}, %zmm17, %zmm19 {k1}
vpermilpd %zmm16, %zmm17, %zmm19 {z}{k1}
vpermilpd (%rax), %zmm17, %zmm19 {z}{k1}
vpermilpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vpermilps $0, %zmm16, %zmm19
vpermilps $0, (%rax), %zmm19
vpermilps $0, (%rax){1to16}, %zmm19
vpermilps $0, %zmm16, %zmm19 {k1}
vpermilps $0, (%rax), %zmm19 {k1}
vpermilps $0, (%rax){1to16}, %zmm19 {k1}
vpermilps $0, %zmm16, %zmm19 {z}{k1}
vpermilps $0, (%rax), %zmm19 {z}{k1}
vpermilps $0, (%rax){1to16}, %zmm19 {z}{k1}
vpermilps %zmm16, %zmm17, %zmm19
vpermilps (%rax), %zmm17, %zmm19
vpermilps (%rax){1to16}, %zmm17, %zmm19
vpermilps %zmm16, %zmm17, %zmm19 {k1}
vpermilps (%rax), %zmm17, %zmm19 {k1}
vpermilps (%rax){1to16}, %zmm17, %zmm19 {k1}
vpermilps %zmm16, %zmm17, %zmm19 {z}{k1}
vpermilps (%rax), %zmm17, %zmm19 {z}{k1}
vpermilps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
vpermpd $0, %zmm16, %zmm19
vpermpd $0, (%rax), %zmm19
vpermpd $0, (%rax){1to8}, %zmm19
vpermpd $0, %zmm16, %zmm19 {k1}
vpermpd $0, (%rax), %zmm19 {k1}
vpermpd $0, (%rax){1to8}, %zmm19 {k1}
vpermpd $0, %zmm16, %zmm19 {z}{k1}
vpermpd $0, (%rax), %zmm19 {z}{k1}
vpermpd $0, (%rax){1to8}, %zmm19 {z}{k1}
vpermpd %zmm16, %zmm17, %zmm19
vpermpd (%rax), %zmm17, %zmm19
vpermpd (%rax){1to8}, %zmm17, %zmm19
vpermpd %zmm16, %zmm17, %zmm19 {k1}
vpermpd (%rax), %zmm17, %zmm19 {k1}
vpermpd (%rax){1to8}, %zmm17, %zmm19 {k1}
vpermpd %zmm16, %zmm17, %zmm19 {z}{k1}
vpermpd (%rax), %zmm17, %zmm19 {z}{k1}
vpermpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vpermps %zmm16, %zmm17, %zmm19
vpermps (%rax), %zmm17, %zmm19
vpermps (%rax){1to16}, %zmm17, %zmm19
vpermps %zmm16, %zmm17, %zmm19 {k1}
vpermps (%rax), %zmm17, %zmm19 {k1}
vpermps (%rax){1to16}, %zmm17, %zmm19 {k1}
vpermps %zmm16, %zmm17, %zmm19 {z}{k1}
vpermps (%rax), %zmm17, %zmm19 {z}{k1}
vpermps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
vpermq $0, %zmm16, %zmm19
vpermq $0, (%rax), %zmm19
vpermq $0, (%rax){1to8}, %zmm19
vpermq $0, %zmm16, %zmm19 {k1}
vpermq $0, (%rax), %zmm19 {k1}
vpermq $0, (%rax){1to8}, %zmm19 {k1}
vpermq $0, %zmm16, %zmm19 {z}{k1}
vpermq $0, (%rax), %zmm19 {z}{k1}
vpermq $0, (%rax){1to8}, %zmm19 {z}{k1}
vpermq %zmm16, %zmm17, %zmm19
vpermq (%rax), %zmm17, %zmm19
vpermq (%rax){1to8}, %zmm17, %zmm19
vpermq %zmm16, %zmm17, %zmm19 {k1}
vpermq (%rax), %zmm17, %zmm19 {k1}
vpermq (%rax){1to8}, %zmm17, %zmm19 {k1}
vpermq %zmm16, %zmm17, %zmm19 {z}{k1}
vpermq (%rax), %zmm17, %zmm19 {z}{k1}
vpermq (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vpshufd $0, %zmm16, %zmm19
vpshufd $0, (%rax), %zmm19
vpshufd $0, (%rax){1to16}, %zmm19
vpshufd $0, %zmm16, %zmm19 {k1}
vpshufd $0, (%rax), %zmm19 {k1}
vpshufd $0, (%rax){1to16}, %zmm19 {k1}
vpshufd $0, %zmm16, %zmm19 {z}{k1}
vpshufd $0, (%rax), %zmm19 {z}{k1}
vpshufd $0, (%rax){1to16}, %zmm19 {z}{k1}
vpunpckhdq %zmm16, %zmm17, %zmm19
vpunpckhdq (%rax), %zmm17, %zmm19
vpunpckhdq (%rax){1to16}, %zmm17, %zmm19
vpunpckhdq %zmm16, %zmm17, %zmm19 {k1}
vpunpckhdq (%rax), %zmm17, %zmm19 {k1}
vpunpckhdq (%rax){1to16}, %zmm17, %zmm19 {k1}
vpunpckhdq %zmm16, %zmm17, %zmm19 {z}{k1}
vpunpckhdq (%rax), %zmm17, %zmm19 {z}{k1}
vpunpckhdq (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
vpunpckhqdq %zmm16, %zmm17, %zmm19
vpunpckhqdq (%rax), %zmm17, %zmm19
vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19
vpunpckhqdq %zmm16, %zmm17, %zmm19 {k1}
vpunpckhqdq (%rax), %zmm17, %zmm19 {k1}
vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19 {k1}
vpunpckhqdq %zmm16, %zmm17, %zmm19 {z}{k1}
vpunpckhqdq (%rax), %zmm17, %zmm19 {z}{k1}
vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vpunpckldq %zmm16, %zmm17, %zmm19
vpunpckldq (%rax), %zmm17, %zmm19
vpunpckldq (%rax){1to16}, %zmm17, %zmm19
vpunpckldq %zmm16, %zmm17, %zmm19 {k1}
vpunpckldq (%rax), %zmm17, %zmm19 {k1}
vpunpckldq (%rax){1to16}, %zmm17, %zmm19 {k1}
vpunpckldq %zmm16, %zmm17, %zmm19 {z}{k1}
vpunpckldq (%rax), %zmm17, %zmm19 {z}{k1}
vpunpckldq (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
vpunpcklqdq %zmm16, %zmm17, %zmm19
vpunpcklqdq (%rax), %zmm17, %zmm19
vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19
vpunpcklqdq %zmm16, %zmm17, %zmm19 {k1}
vpunpcklqdq (%rax), %zmm17, %zmm19 {k1}
vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {k1}
vpunpcklqdq %zmm16, %zmm17, %zmm19 {z}{k1}
vpunpcklqdq (%rax), %zmm17, %zmm19 {z}{k1}
vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vshuff32x4 $0, %zmm16, %zmm17, %zmm19
vshuff32x4 $0, (%rax), %zmm17, %zmm19
vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19
vshuff32x4 $0, %zmm16, %zmm17, %zmm19 {k1}
vshuff32x4 $0, (%rax), %zmm17, %zmm19 {k1}
vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {k1}
vshuff32x4 $0, %zmm16, %zmm17, %zmm19 {z}{k1}
vshuff32x4 $0, (%rax), %zmm17, %zmm19 {z}{k1}
vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
vshuff64x2 $0, %zmm16, %zmm17, %zmm19
vshuff64x2 $0, (%rax), %zmm17, %zmm19
vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19
vshuff64x2 $0, %zmm16, %zmm17, %zmm19 {k1}
vshuff64x2 $0, (%rax), %zmm17, %zmm19 {k1}
vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {k1}
vshuff64x2 $0, %zmm16, %zmm17, %zmm19 {z}{k1}
vshuff64x2 $0, (%rax), %zmm17, %zmm19 {z}{k1}
vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vshufi32x4 $0, %zmm16, %zmm17, %zmm19
vshufi32x4 $0, (%rax), %zmm17, %zmm19
vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19
vshufi32x4 $0, %zmm16, %zmm17, %zmm19 {k1}
vshufi32x4 $0, (%rax), %zmm17, %zmm19 {k1}
vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {k1}
vshufi32x4 $0, %zmm16, %zmm17, %zmm19 {z}{k1}
vshufi32x4 $0, (%rax), %zmm17, %zmm19 {z}{k1}
vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
vshufi64x2 $0, %zmm16, %zmm17, %zmm19
vshufi64x2 $0, (%rax), %zmm17, %zmm19
vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19
vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {k1}
vshufi64x2 $0, (%rax), %zmm17, %zmm19 {k1}
vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {k1}
vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {z}{k1}
vshufi64x2 $0, (%rax), %zmm17, %zmm19 {z}{k1}
vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vpsubd %zmm16, %zmm17, %zmm19
vpsubd (%rax), %zmm17, %zmm19
vpsubd (%rax){1to16}, %zmm17, %zmm19
@ -141,6 +331,46 @@ vsubps %zmm16, %zmm17, %zmm19 {z}{k1}
vsubps (%rax), %zmm17, %zmm19 {z}{k1}
vsubps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
vunpckhpd %zmm16, %zmm17, %zmm19
vunpckhpd (%rax), %zmm17, %zmm19
vunpckhpd (%rax){1to8}, %zmm17, %zmm19
vunpckhpd %zmm16, %zmm17, %zmm19 {k1}
vunpckhpd (%rax), %zmm17, %zmm19 {k1}
vunpckhpd (%rax){1to8}, %zmm17, %zmm19 {k1}
vunpckhpd %zmm16, %zmm17, %zmm19 {z}{k1}
vunpckhpd (%rax), %zmm17, %zmm19 {z}{k1}
vunpckhpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vunpckhps %zmm16, %zmm17, %zmm19
vunpckhps (%rax), %zmm17, %zmm19
vunpckhps (%rax){1to16}, %zmm17, %zmm19
vunpckhps %zmm16, %zmm17, %zmm19 {k1}
vunpckhps (%rax), %zmm17, %zmm19 {k1}
vunpckhps (%rax){1to16}, %zmm17, %zmm19 {k1}
vunpckhps %zmm16, %zmm17, %zmm19 {z}{k1}
vunpckhps (%rax), %zmm17, %zmm19 {z}{k1}
vunpckhps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
vunpcklpd %zmm16, %zmm17, %zmm19
vunpcklpd (%rax), %zmm17, %zmm19
vunpcklpd (%rax){1to8}, %zmm17, %zmm19
vunpcklpd %zmm16, %zmm17, %zmm19 {k1}
vunpcklpd (%rax), %zmm17, %zmm19 {k1}
vunpcklpd (%rax){1to8}, %zmm17, %zmm19 {k1}
vunpcklpd %zmm16, %zmm17, %zmm19 {z}{k1}
vunpcklpd (%rax), %zmm17, %zmm19 {z}{k1}
vunpcklpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vunpcklps %zmm16, %zmm17, %zmm19
vunpcklps (%rax), %zmm17, %zmm19
vunpcklps (%rax){1to16}, %zmm17, %zmm19
vunpcklps %zmm16, %zmm17, %zmm19 {k1}
vunpcklps (%rax), %zmm17, %zmm19 {k1}
vunpcklps (%rax){1to16}, %zmm17, %zmm19 {k1}
vunpcklps %zmm16, %zmm17, %zmm19 {z}{k1}
vunpcklps (%rax), %zmm17, %zmm19 {z}{k1}
vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -240,6 +470,177 @@ vsubps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 1 0.50 vpaddq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermd (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpermd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermd (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilpd $0, %zmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax), %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax){1to8}, %zmm19
# CHECK-NEXT: 1 1 1.00 vpermilpd $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax){1to8}, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilpd $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax){1to8}, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpermilpd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilpd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilps $0, %zmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax), %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax){1to16}, %zmm19
# CHECK-NEXT: 1 1 1.00 vpermilps $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax){1to16}, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilps $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax){1to16}, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilps %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpermilps %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermpd $0, %zmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermpd $0, (%rax), %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermpd $0, (%rax){1to8}, %zmm19
# CHECK-NEXT: 1 1 1.00 vpermpd $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermpd $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermpd $0, (%rax){1to8}, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermpd $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermpd $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermpd $0, (%rax){1to8}, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermpd (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpermpd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermpd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermpd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermpd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermps %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermps (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermps (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpermps %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermps (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermps (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermq $0, %zmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermq $0, (%rax), %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermq $0, (%rax){1to8}, %zmm19
# CHECK-NEXT: 1 1 1.00 vpermq $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermq $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermq $0, (%rax){1to8}, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermq $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermq $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermq $0, (%rax){1to8}, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermq (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermq (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpermq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermq (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %zmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax), %zmm19
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax){1to16}, %zmm19
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax){1to16}, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax){1to16}, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhdq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpunpckhdq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckhdq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckldq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpunpckldq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckldq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vshuff32x4 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vshuff32x4 $0, (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vshuff32x4 $0, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vshuff32x4 $0, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vshuff32x4 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshuff32x4 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vshuff64x2 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vshuff64x2 $0, (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vshuff64x2 $0, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vshuff64x2 $0, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vshuff64x2 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshuff64x2 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vshufi32x4 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vshufi32x4 $0, (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vshufi32x4 $0, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vshufi32x4 $0, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vshufi32x4 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshufi32x4 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vshufi64x2 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vshufi64x2 $0, (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vshufi64x2 $0, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshufi64x2 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpsubd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax){1to16}, %zmm17, %zmm19
@ -276,6 +677,42 @@ vsubps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vsubps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vsubps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vsubps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpckhpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vunpckhpd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpckhpd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpckhps %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vunpckhps %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpckhps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpcklpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vunpcklpd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpcklpd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpcklps %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vunpcklps %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpcklps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK: Resources:
# CHECK-NEXT: [0] - SBDivider
@ -289,7 +726,7 @@ vsubps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
# CHECK-NEXT: - 648.00 63.00 63.00 - 36.00 42.00 42.00
# CHECK-NEXT: - 648.00 63.00 63.00 - 243.00 111.00 111.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@ -383,6 +820,177 @@ vsubps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpaddq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermd (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpermd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermd (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermilpd $0, %zmm16, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd $0, (%rax), %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd $0, (%rax){1to8}, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpermilpd $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd $0, (%rax){1to8}, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermilpd $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd $0, (%rax){1to8}, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermilpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpermilpd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermilpd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermilps $0, %zmm16, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps $0, (%rax), %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps $0, (%rax){1to16}, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpermilps $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps $0, (%rax){1to16}, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermilps $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps $0, (%rax){1to16}, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermilps %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpermilps %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermilps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermpd $0, %zmm16, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd $0, (%rax), %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd $0, (%rax){1to8}, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpermpd $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd $0, (%rax){1to8}, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermpd $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd $0, (%rax){1to8}, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpermpd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermpd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermps %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermps (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermps (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpermps %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermps (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermps (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermq $0, %zmm16, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq $0, (%rax), %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq $0, (%rax){1to8}, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpermq $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq $0, (%rax){1to8}, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermq $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq $0, (%rax){1to8}, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpermq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpshufd $0, %zmm16, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufd $0, (%rax), %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufd $0, (%rax){1to16}, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpshufd $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufd $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufd $0, (%rax){1to16}, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpshufd $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufd $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufd $0, (%rax){1to16}, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhdq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhdq (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhdq (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhdq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhdq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhdq (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhdq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhdq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhdq (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhqdq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhqdq (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhqdq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhqdq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhqdq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhqdq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpunpckldq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckldq (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckldq (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpunpckldq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckldq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckldq (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpunpckldq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckldq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckldq (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpunpcklqdq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklqdq (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpunpcklqdq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklqdq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpunpcklqdq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklqdq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vshuff32x4 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff32x4 $0, (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vshuff32x4 $0, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff32x4 $0, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vshuff32x4 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff32x4 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vshuff64x2 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff64x2 $0, (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vshuff64x2 $0, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff64x2 $0, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vshuff64x2 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff64x2 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vshufi32x4 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi32x4 $0, (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vshufi32x4 $0, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi32x4 $0, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vshufi32x4 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi32x4 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vshufi64x2 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi64x2 $0, (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi64x2 $0, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi64x2 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax){1to16}, %zmm17, %zmm19
@ -419,3 +1027,39 @@ vsubps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - 1.00 - - - - vsubps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vsubps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vsubps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vunpckhpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhpd (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vunpckhpd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhpd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vunpckhpd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhpd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vunpckhps %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhps (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhps (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vunpckhps %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhps (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhps (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vunpckhps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vunpcklpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklpd (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vunpcklpd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklpd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vunpcklpd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklpd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vunpcklps %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklps (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklps (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vunpcklps %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklps (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklps (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vunpcklps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}

View File

@ -29,6 +29,34 @@ vpaddw (%rax), %zmm17, %zmm19 {k1}
vpaddw %zmm16, %zmm17, %zmm19 {z}{k1}
vpaddw (%rax), %zmm17, %zmm19 {z}{k1}
vpermw %zmm16, %zmm17, %zmm19
vpermw (%rax), %zmm17, %zmm19
vpermw %zmm16, %zmm17, %zmm19 {k1}
vpermw (%rax), %zmm17, %zmm19 {k1}
vpermw %zmm16, %zmm17, %zmm19 {z}{k1}
vpermw (%rax), %zmm17, %zmm19 {z}{k1}
vpshufb %zmm16, %zmm17, %zmm19
vpshufb (%rax), %zmm17, %zmm19
vpshufb %zmm16, %zmm17, %zmm19 {k1}
vpshufb (%rax), %zmm17, %zmm19 {k1}
vpshufb %zmm16, %zmm17, %zmm19 {z}{k1}
vpshufb (%rax), %zmm17, %zmm19 {z}{k1}
vpshufhw $0, %zmm16, %zmm19
vpshufhw $0, (%rax), %zmm19
vpshufhw $0, %zmm16, %zmm19 {k1}
vpshufhw $0, (%rax), %zmm19 {k1}
vpshufhw $0, %zmm16, %zmm19 {z}{k1}
vpshufhw $0, (%rax), %zmm19 {z}{k1}
vpshuflw $0, %zmm16, %zmm19
vpshuflw $0, (%rax), %zmm19
vpshuflw $0, %zmm16, %zmm19 {k1}
vpshuflw $0, (%rax), %zmm19 {k1}
vpshuflw $0, %zmm16, %zmm19 {z}{k1}
vpshuflw $0, (%rax), %zmm19 {z}{k1}
vpsubb %zmm16, %zmm17, %zmm19
vpsubb (%rax), %zmm17, %zmm19
vpsubb %zmm16, %zmm17, %zmm19 {k1}
@ -43,6 +71,34 @@ vpsubw (%rax), %zmm17, %zmm19 {k1}
vpsubw %zmm16, %zmm17, %zmm19 {z}{k1}
vpsubw (%rax), %zmm17, %zmm19 {z}{k1}
vpunpckhbw %zmm16, %zmm17, %zmm19
vpunpckhbw (%rax), %zmm17, %zmm19
vpunpckhbw %zmm16, %zmm17, %zmm19 {k1}
vpunpckhbw (%rax), %zmm17, %zmm19 {k1}
vpunpckhbw %zmm16, %zmm17, %zmm19 {z}{k1}
vpunpckhbw (%rax), %zmm17, %zmm19 {z}{k1}
vpunpckhwd %zmm16, %zmm17, %zmm19
vpunpckhwd (%rax), %zmm17, %zmm19
vpunpckhwd %zmm16, %zmm17, %zmm19 {k1}
vpunpckhwd (%rax), %zmm17, %zmm19 {k1}
vpunpckhwd %zmm16, %zmm17, %zmm19 {z}{k1}
vpunpckhwd (%rax), %zmm17, %zmm19 {z}{k1}
vpunpcklbw %zmm16, %zmm17, %zmm19
vpunpcklbw (%rax), %zmm17, %zmm19
vpunpcklbw %zmm16, %zmm17, %zmm19 {k1}
vpunpcklbw (%rax), %zmm17, %zmm19 {k1}
vpunpcklbw %zmm16, %zmm17, %zmm19 {z}{k1}
vpunpcklbw (%rax), %zmm17, %zmm19 {z}{k1}
vpunpcklwd %zmm16, %zmm17, %zmm19
vpunpcklwd (%rax), %zmm17, %zmm19
vpunpcklwd %zmm16, %zmm17, %zmm19 {k1}
vpunpcklwd (%rax), %zmm17, %zmm19 {k1}
vpunpcklwd %zmm16, %zmm17, %zmm19 {z}{k1}
vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -76,6 +132,30 @@ vpsubw (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpaddw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermw %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermw (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpermw %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpshufb %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vpshufb (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 1 0.50 vpshufb %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 0.50 * vpshufb (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpshufb %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpshufb (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %zmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpshufhw $0, (%rax), %zmm19
# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpshufhw $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufhw $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpshuflw $0, %zmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %zmm19
# CHECK-NEXT: 1 1 1.00 vpshuflw $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshuflw $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpsubb %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 1 0.50 vpsubb %zmm16, %zmm17, %zmm19 {%k1}
@ -88,6 +168,30 @@ vpsubw (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpsubw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhbw %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhwd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpcklbw %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK: Resources:
# CHECK-NEXT: [0] - SBDivider
@ -101,7 +205,7 @@ vpsubw (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
# CHECK-NEXT: - - - 18.00 - 18.00 9.00 9.00
# CHECK-NEXT: - - - 21.00 - 63.00 21.00 21.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@ -129,6 +233,30 @@ vpsubw (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpaddw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermw %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermw (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpermw %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufb %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufb (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufb %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufb (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufb %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufb (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpshufhw $0, %zmm16, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufhw $0, (%rax), %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpshufhw $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufhw $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpshufhw $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufhw $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpshuflw $0, %zmm16, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshuflw $0, (%rax), %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpshuflw $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshuflw $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpshuflw $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshuflw $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubb %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubb (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubb %zmm16, %zmm17, %zmm19 {%k1}
@ -141,3 +269,27 @@ vpsubw (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhbw %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhbw (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhbw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhbw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhwd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhwd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhwd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhwd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpunpcklbw %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklbw (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklbw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklbw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpunpcklwd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklwd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklwd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklwd (%rax), %zmm17, %zmm19 {%k1} {z}

View File

@ -57,6 +57,48 @@ vpaddw (%rax), %ymm17, %ymm19 {k1}
vpaddw %ymm16, %ymm17, %ymm19 {z}{k1}
vpaddw (%rax), %ymm17, %ymm19 {z}{k1}
vpermw %xmm16, %xmm17, %xmm19
vpermw (%rax), %xmm17, %xmm19
vpermw %xmm16, %xmm17, %xmm19 {k1}
vpermw (%rax), %xmm17, %xmm19 {k1}
vpermw %xmm16, %xmm17, %xmm19 {z}{k1}
vpermw (%rax), %xmm17, %xmm19 {z}{k1}
vpermw %ymm16, %ymm17, %ymm19
vpermw (%rax), %ymm17, %ymm19
vpermw %ymm16, %ymm17, %ymm19 {k1}
vpermw (%rax), %ymm17, %ymm19 {k1}
vpermw %ymm16, %ymm17, %ymm19 {z}{k1}
vpermw (%rax), %ymm17, %ymm19 {z}{k1}
vpshufb %xmm16, %xmm17, %xmm19
vpshufb (%rax), %xmm17, %xmm19
vpshufb %xmm16, %xmm17, %xmm19 {k1}
vpshufb (%rax), %xmm17, %xmm19 {k1}
vpshufb %xmm16, %xmm17, %xmm19 {z}{k1}
vpshufb (%rax), %xmm17, %xmm19 {z}{k1}
vpshufb %ymm16, %ymm17, %ymm19
vpshufb (%rax), %ymm17, %ymm19
vpshufb %ymm16, %ymm17, %ymm19 {k1}
vpshufb (%rax), %ymm17, %ymm19 {k1}
vpshufb %ymm16, %ymm17, %ymm19 {z}{k1}
vpshufb (%rax), %ymm17, %ymm19 {z}{k1}
vpshufhw $0, %xmm16, %xmm19
vpshufhw $0, (%rax), %xmm19
vpshufhw $0, %xmm16, %xmm19 {k1}
vpshufhw $0, (%rax), %xmm19 {k1}
vpshufhw $0, %xmm16, %xmm19 {z}{k1}
vpshufhw $0, (%rax), %xmm19 {z}{k1}
vpshufhw $0, %ymm16, %ymm19
vpshufhw $0, (%rax), %ymm19
vpshufhw $0, %ymm16, %ymm19 {k1}
vpshufhw $0, (%rax), %ymm19 {k1}
vpshufhw $0, %ymm16, %ymm19 {z}{k1}
vpshufhw $0, (%rax), %ymm19 {z}{k1}
vpsubb %xmm16, %xmm17, %xmm19
vpsubb (%rax), %xmm17, %xmm19
vpsubb %xmm16, %xmm17, %xmm19 {k1}
@ -85,6 +127,62 @@ vpsubw (%rax), %ymm17, %ymm19 {k1}
vpsubw %ymm16, %ymm17, %ymm19 {z}{k1}
vpsubw (%rax), %ymm17, %ymm19 {z}{k1}
vpunpckhbw %xmm16, %xmm17, %xmm19
vpunpckhbw (%rax), %xmm17, %xmm19
vpunpckhbw %xmm16, %xmm17, %xmm19 {k1}
vpunpckhbw (%rax), %xmm17, %xmm19 {k1}
vpunpckhbw %xmm16, %xmm17, %xmm19 {z}{k1}
vpunpckhbw (%rax), %xmm17, %xmm19 {z}{k1}
vpunpckhbw %ymm16, %ymm17, %ymm19
vpunpckhbw (%rax), %ymm17, %ymm19
vpunpckhbw %ymm16, %ymm17, %ymm19 {k1}
vpunpckhbw (%rax), %ymm17, %ymm19 {k1}
vpunpckhbw %ymm16, %ymm17, %ymm19 {z}{k1}
vpunpckhbw (%rax), %ymm17, %ymm19 {z}{k1}
vpunpckhwd %xmm16, %xmm17, %xmm19
vpunpckhwd (%rax), %xmm17, %xmm19
vpunpckhwd %xmm16, %xmm17, %xmm19 {k1}
vpunpckhwd (%rax), %xmm17, %xmm19 {k1}
vpunpckhwd %xmm16, %xmm17, %xmm19 {z}{k1}
vpunpckhwd (%rax), %xmm17, %xmm19 {z}{k1}
vpunpckhwd %ymm16, %ymm17, %ymm19
vpunpckhwd (%rax), %ymm17, %ymm19
vpunpckhwd %ymm16, %ymm17, %ymm19 {k1}
vpunpckhwd (%rax), %ymm17, %ymm19 {k1}
vpunpckhwd %ymm16, %ymm17, %ymm19 {z}{k1}
vpunpckhwd (%rax), %ymm17, %ymm19 {z}{k1}
vpunpcklbw %xmm16, %xmm17, %xmm19
vpunpcklbw (%rax), %xmm17, %xmm19
vpunpcklbw %xmm16, %xmm17, %xmm19 {k1}
vpunpcklbw (%rax), %xmm17, %xmm19 {k1}
vpunpcklbw %xmm16, %xmm17, %xmm19 {z}{k1}
vpunpcklbw (%rax), %xmm17, %xmm19 {z}{k1}
vpunpcklbw %ymm16, %ymm17, %ymm19
vpunpcklbw (%rax), %ymm17, %ymm19
vpunpcklbw %ymm16, %ymm17, %ymm19 {k1}
vpunpcklbw (%rax), %ymm17, %ymm19 {k1}
vpunpcklbw %ymm16, %ymm17, %ymm19 {z}{k1}
vpunpcklbw (%rax), %ymm17, %ymm19 {z}{k1}
vpunpcklwd %xmm16, %xmm17, %xmm19
vpunpcklwd (%rax), %xmm17, %xmm19
vpunpcklwd %xmm16, %xmm17, %xmm19 {k1}
vpunpcklwd (%rax), %xmm17, %xmm19 {k1}
vpunpcklwd %xmm16, %xmm17, %xmm19 {z}{k1}
vpunpcklwd (%rax), %xmm17, %xmm19 {z}{k1}
vpunpcklwd %ymm16, %ymm17, %ymm19
vpunpcklwd (%rax), %ymm17, %ymm19
vpunpcklwd %ymm16, %ymm17, %ymm19 {k1}
vpunpcklwd (%rax), %ymm17, %ymm19 {k1}
vpunpcklwd %ymm16, %ymm17, %ymm19 {z}{k1}
vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -142,6 +240,42 @@ vpsubw (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpaddw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermw %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 8 1.00 * vpermw (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vpermw %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermw (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermw %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermw (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermw %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermw (%rax), %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpermw %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpshufb %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpshufb (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 1 0.50 vpshufb %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 0.50 * vpshufb (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpshufb %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 0.50 * vpshufb (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpshufb %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 0.50 * vpshufb (%rax), %ymm17, %ymm19
# CHECK-NEXT: 1 1 0.50 vpshufb %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 0.50 * vpshufb (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpshufb %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpshufb (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpshufhw $0, %xmm16, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpshufhw $0, (%rax), %xmm19
# CHECK-NEXT: 1 1 0.50 vpshufhw $0, %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 7 0.50 * vpshufhw $0, (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpshufhw $0, %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 0.50 * vpshufhw $0, (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %ymm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpshufhw $0, (%rax), %ymm19
# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpshufhw $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufhw $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpsubb %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpsubb (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 1 0.50 vpsubb %xmm16, %xmm17, %xmm19 {%k1}
@ -166,6 +300,54 @@ vpsubw (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpsubw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpunpckhbw %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpunpckhbw (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 1 0.50 vpunpckhbw %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 0.50 * vpunpckhbw (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpunpckhbw %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 0.50 * vpunpckhbw (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpunpckhwd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpunpckhwd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 1 0.50 vpunpckhwd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 0.50 * vpunpckhwd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpunpckhwd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 0.50 * vpunpckhwd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpunpcklbw %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpunpcklbw (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 1 0.50 vpunpcklbw %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 0.50 * vpunpcklbw (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpunpcklbw %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 0.50 * vpunpcklbw (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpunpcklwd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpunpcklwd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 1 0.50 vpunpcklwd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 0.50 * vpunpcklwd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpunpcklwd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 0.50 * vpunpcklwd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK: Resources:
# CHECK-NEXT: [0] - SBDivider
@ -179,7 +361,7 @@ vpsubw (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
# CHECK-NEXT: - - - 36.00 - 36.00 18.00 18.00
# CHECK-NEXT: - - - 57.00 - 99.00 39.00 39.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@ -231,6 +413,42 @@ vpsubw (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpaddw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermw %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermw (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 - - vpermw %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermw (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermw %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermw (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermw %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermw (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpermw %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufb %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufb (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufb %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufb (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufb %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufb (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufb %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufb (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufb %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufb (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufb %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufb (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufhw $0, %xmm16, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufhw $0, (%rax), %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufhw $0, %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufhw $0, (%rax), %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufhw $0, %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufhw $0, (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpshufhw $0, %ymm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufhw $0, (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpshufhw $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufhw $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpshufhw $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufhw $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubb %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubb (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubb %xmm16, %xmm17, %xmm19 {%k1}
@ -255,3 +473,51 @@ vpsubw (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpunpckhbw %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckhbw (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpunpckhbw %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckhbw (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpunpckhbw %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckhbw (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhbw %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhbw (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhbw %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhbw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhbw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhbw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpunpckhwd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckhwd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpunpckhwd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckhwd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpunpckhwd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckhwd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhwd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhwd (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhwd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhwd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhwd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhwd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpunpcklbw %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpcklbw (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpunpcklbw %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpcklbw (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpunpcklbw %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpcklbw (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpunpcklbw %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklbw (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpunpcklbw %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklbw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpunpcklbw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklbw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpunpcklwd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpcklwd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpunpcklwd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpcklwd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpunpcklwd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpcklwd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpunpcklwd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklwd (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpunpcklwd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklwd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpunpcklwd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklwd (%rax), %ymm17, %ymm19 {%k1} {z}

View File

@ -121,6 +121,246 @@ vmulps %ymm16, %ymm17, %ymm19 {z}{k1}
vmulps (%rax), %ymm17, %ymm19 {z}{k1}
vmulps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vpermd %ymm16, %ymm17, %ymm19
vpermd (%rax), %ymm17, %ymm19
vpermd (%rax){1to8}, %ymm17, %ymm19
vpermd %ymm16, %ymm17, %ymm19 {k1}
vpermd (%rax), %ymm17, %ymm19 {k1}
vpermd (%rax){1to8}, %ymm17, %ymm19 {k1}
vpermd %ymm16, %ymm17, %ymm19 {z}{k1}
vpermd (%rax), %ymm17, %ymm19 {z}{k1}
vpermd (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vpermilpd $0, %xmm16, %xmm19
vpermilpd $0, (%rax), %xmm19
vpermilpd $0, (%rax){1to2}, %xmm19
vpermilpd $0, %xmm16, %xmm19 {k1}
vpermilpd $0, (%rax), %xmm19 {k1}
vpermilpd $0, (%rax){1to2}, %xmm19 {k1}
vpermilpd $0, %xmm16, %xmm19 {z}{k1}
vpermilpd $0, (%rax), %xmm19 {z}{k1}
vpermilpd $0, (%rax){1to2}, %xmm19 {z}{k1}
vpermilpd $0, %ymm16, %ymm19
vpermilpd $0, (%rax), %ymm19
vpermilpd $0, (%rax){1to4}, %ymm19
vpermilpd $0, %ymm16, %ymm19 {k1}
vpermilpd $0, (%rax), %ymm19 {k1}
vpermilpd $0, (%rax){1to4}, %ymm19 {k1}
vpermilpd $0, %ymm16, %ymm19 {z}{k1}
vpermilpd $0, (%rax), %ymm19 {z}{k1}
vpermilpd $0, (%rax){1to4}, %ymm19 {z}{k1}
vpermilpd %xmm16, %xmm17, %xmm19
vpermilpd (%rax), %xmm17, %xmm19
vpermilpd (%rax){1to2}, %xmm17, %xmm19
vpermilpd %xmm16, %xmm17, %xmm19 {k1}
vpermilpd (%rax), %xmm17, %xmm19 {k1}
vpermilpd (%rax){1to2}, %xmm17, %xmm19 {k1}
vpermilpd %xmm16, %xmm17, %xmm19 {z}{k1}
vpermilpd (%rax), %xmm17, %xmm19 {z}{k1}
vpermilpd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
vpermilpd %ymm16, %ymm17, %ymm19
vpermilpd (%rax), %ymm17, %ymm19
vpermilpd (%rax){1to4}, %ymm17, %ymm19
vpermilpd %ymm16, %ymm17, %ymm19 {k1}
vpermilpd (%rax), %ymm17, %ymm19 {k1}
vpermilpd (%rax){1to4}, %ymm17, %ymm19 {k1}
vpermilpd %ymm16, %ymm17, %ymm19 {z}{k1}
vpermilpd (%rax), %ymm17, %ymm19 {z}{k1}
vpermilpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
vpermilps $0, %xmm16, %xmm19
vpermilps $0, (%rax), %xmm19
vpermilps $0, (%rax){1to4}, %xmm19
vpermilps $0, %xmm16, %xmm19 {k1}
vpermilps $0, (%rax), %xmm19 {k1}
vpermilps $0, (%rax){1to4}, %xmm19 {k1}
vpermilps $0, %xmm16, %xmm19 {z}{k1}
vpermilps $0, (%rax), %xmm19 {z}{k1}
vpermilps $0, (%rax){1to4}, %xmm19 {z}{k1}
vpermilps $0, %ymm16, %ymm19
vpermilps $0, (%rax), %ymm19
vpermilps $0, (%rax){1to8}, %ymm19
vpermilps $0, %ymm16, %ymm19 {k1}
vpermilps $0, (%rax), %ymm19 {k1}
vpermilps $0, (%rax){1to8}, %ymm19 {k1}
vpermilps $0, %ymm16, %ymm19 {z}{k1}
vpermilps $0, (%rax), %ymm19 {z}{k1}
vpermilps $0, (%rax){1to8}, %ymm19 {z}{k1}
vpermilps %xmm16, %xmm17, %xmm19
vpermilps (%rax), %xmm17, %xmm19
vpermilps (%rax){1to4}, %xmm17, %xmm19
vpermilps %xmm16, %xmm17, %xmm19 {k1}
vpermilps (%rax), %xmm17, %xmm19 {k1}
vpermilps (%rax){1to4}, %xmm17, %xmm19 {k1}
vpermilps %xmm16, %xmm17, %xmm19 {z}{k1}
vpermilps (%rax), %xmm17, %xmm19 {z}{k1}
vpermilps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
vpermilps %ymm16, %ymm17, %ymm19
vpermilps (%rax), %ymm17, %ymm19
vpermilps (%rax){1to8}, %ymm17, %ymm19
vpermilps %ymm16, %ymm17, %ymm19 {k1}
vpermilps (%rax), %ymm17, %ymm19 {k1}
vpermilps (%rax){1to8}, %ymm17, %ymm19 {k1}
vpermilps %ymm16, %ymm17, %ymm19 {z}{k1}
vpermilps (%rax), %ymm17, %ymm19 {z}{k1}
vpermilps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vpermpd $0, %ymm16, %ymm19
vpermpd $0, (%rax), %ymm19
vpermpd $0, (%rax){1to4}, %ymm19
vpermpd $0, %ymm16, %ymm19 {k1}
vpermpd $0, (%rax), %ymm19 {k1}
vpermpd $0, (%rax){1to4}, %ymm19 {k1}
vpermpd $0, %ymm16, %ymm19 {z}{k1}
vpermpd $0, (%rax), %ymm19 {z}{k1}
vpermpd $0, (%rax){1to4}, %ymm19 {z}{k1}
vpermpd %ymm16, %ymm17, %ymm19
vpermpd (%rax), %ymm17, %ymm19
vpermpd (%rax){1to4}, %ymm17, %ymm19
vpermpd %ymm16, %ymm17, %ymm19 {k1}
vpermpd (%rax), %ymm17, %ymm19 {k1}
vpermpd (%rax){1to4}, %ymm17, %ymm19 {k1}
vpermpd %ymm16, %ymm17, %ymm19 {z}{k1}
vpermpd (%rax), %ymm17, %ymm19 {z}{k1}
vpermpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
vpermps %ymm16, %ymm17, %ymm19
vpermps (%rax), %ymm17, %ymm19
vpermps (%rax){1to8}, %ymm17, %ymm19
vpermps %ymm16, %ymm17, %ymm19 {k1}
vpermps (%rax), %ymm17, %ymm19 {k1}
vpermps (%rax){1to8}, %ymm17, %ymm19 {k1}
vpermps %ymm16, %ymm17, %ymm19 {z}{k1}
vpermps (%rax), %ymm17, %ymm19 {z}{k1}
vpermps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vpermq $0, %ymm16, %ymm19
vpermq $0, (%rax), %ymm19
vpermq $0, (%rax){1to4}, %ymm19
vpermq $0, %ymm16, %ymm19 {k1}
vpermq $0, (%rax), %ymm19 {k1}
vpermq $0, (%rax){1to4}, %ymm19 {k1}
vpermq $0, %ymm16, %ymm19 {z}{k1}
vpermq $0, (%rax), %ymm19 {z}{k1}
vpermq $0, (%rax){1to4}, %ymm19 {z}{k1}
vpermq %ymm16, %ymm17, %ymm19
vpermq (%rax), %ymm17, %ymm19
vpermq (%rax){1to4}, %ymm17, %ymm19
vpermq %ymm16, %ymm17, %ymm19 {k1}
vpermq (%rax), %ymm17, %ymm19 {k1}
vpermq (%rax){1to4}, %ymm17, %ymm19 {k1}
vpermq %ymm16, %ymm17, %ymm19 {z}{k1}
vpermq (%rax), %ymm17, %ymm19 {z}{k1}
vpermq (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
vpshufd $0, %xmm16, %xmm19
vpshufd $0, (%rax), %xmm19
vpshufd $0, (%rax){1to4}, %xmm19
vpshufd $0, %xmm16, %xmm19 {k1}
vpshufd $0, (%rax), %xmm19 {k1}
vpshufd $0, (%rax){1to4}, %xmm19 {k1}
vpshufd $0, %xmm16, %xmm19 {z}{k1}
vpshufd $0, (%rax), %xmm19 {z}{k1}
vpshufd $0, (%rax){1to4}, %xmm19 {z}{k1}
vpshufd $0, %ymm16, %ymm19
vpshufd $0, (%rax), %ymm19
vpshufd $0, (%rax){1to8}, %ymm19
vpshufd $0, %ymm16, %ymm19 {k1}
vpshufd $0, (%rax), %ymm19 {k1}
vpshufd $0, (%rax){1to8}, %ymm19 {k1}
vpshufd $0, %ymm16, %ymm19 {z}{k1}
vpshufd $0, (%rax), %ymm19 {z}{k1}
vpshufd $0, (%rax){1to8}, %ymm19 {z}{k1}
vpunpckhdq %xmm16, %xmm17, %xmm19
vpunpckhdq (%rax), %xmm17, %xmm19
vpunpckhdq (%rax){1to4}, %xmm17, %xmm19
vpunpckhdq %xmm16, %xmm17, %xmm19 {k1}
vpunpckhdq (%rax), %xmm17, %xmm19 {k1}
vpunpckhdq (%rax){1to4}, %xmm17, %xmm19 {k1}
vpunpckhdq %xmm16, %xmm17, %xmm19 {z}{k1}
vpunpckhdq (%rax), %xmm17, %xmm19 {z}{k1}
vpunpckhdq (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
vpunpckhdq %ymm16, %ymm17, %ymm19
vpunpckhdq (%rax), %ymm17, %ymm19
vpunpckhdq (%rax){1to8}, %ymm17, %ymm19
vpunpckhdq %ymm16, %ymm17, %ymm19 {k1}
vpunpckhdq (%rax), %ymm17, %ymm19 {k1}
vpunpckhdq (%rax){1to8}, %ymm17, %ymm19 {k1}
vpunpckhdq %ymm16, %ymm17, %ymm19 {z}{k1}
vpunpckhdq (%rax), %ymm17, %ymm19 {z}{k1}
vpunpckhdq (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vpunpckldq %xmm16, %xmm17, %xmm19
vpunpckldq (%rax), %xmm17, %xmm19
vpunpckldq (%rax){1to4}, %xmm17, %xmm19
vpunpckldq %xmm16, %xmm17, %xmm19 {k1}
vpunpckldq (%rax), %xmm17, %xmm19 {k1}
vpunpckldq (%rax){1to4}, %xmm17, %xmm19 {k1}
vpunpckldq %xmm16, %xmm17, %xmm19 {z}{k1}
vpunpckldq (%rax), %xmm17, %xmm19 {z}{k1}
vpunpckldq (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
vpunpckldq %ymm16, %ymm17, %ymm19
vpunpckldq (%rax), %ymm17, %ymm19
vpunpckldq (%rax){1to8}, %ymm17, %ymm19
vpunpckldq %ymm16, %ymm17, %ymm19 {k1}
vpunpckldq (%rax), %ymm17, %ymm19 {k1}
vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {k1}
vpunpckldq %ymm16, %ymm17, %ymm19 {z}{k1}
vpunpckldq (%rax), %ymm17, %ymm19 {z}{k1}
vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vshuff32x4 $0, %ymm16, %ymm17, %ymm19
vshuff32x4 $0, (%rax), %ymm17, %ymm19
vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19
vshuff32x4 $0, %ymm16, %ymm17, %ymm19 {k1}
vshuff32x4 $0, (%rax), %ymm17, %ymm19 {k1}
vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {k1}
vshuff32x4 $0, %ymm16, %ymm17, %ymm19 {z}{k1}
vshuff32x4 $0, (%rax), %ymm17, %ymm19 {z}{k1}
vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vshuff64x2 $0, %ymm16, %ymm17, %ymm19
vshuff64x2 $0, (%rax), %ymm17, %ymm19
vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19
vshuff64x2 $0, %ymm16, %ymm17, %ymm19 {k1}
vshuff64x2 $0, (%rax), %ymm17, %ymm19 {k1}
vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {k1}
vshuff64x2 $0, %ymm16, %ymm17, %ymm19 {z}{k1}
vshuff64x2 $0, (%rax), %ymm17, %ymm19 {z}{k1}
vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
vshufi32x4 $0, %ymm16, %ymm17, %ymm19
vshufi32x4 $0, (%rax), %ymm17, %ymm19
vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19
vshufi32x4 $0, %ymm16, %ymm17, %ymm19 {k1}
vshufi32x4 $0, (%rax), %ymm17, %ymm19 {k1}
vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {k1}
vshufi32x4 $0, %ymm16, %ymm17, %ymm19 {z}{k1}
vshufi32x4 $0, (%rax), %ymm17, %ymm19 {z}{k1}
vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vshufi64x2 $0, %ymm16, %ymm17, %ymm19
vshufi64x2 $0, (%rax), %ymm17, %ymm19
vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19
vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {k1}
vshufi64x2 $0, (%rax), %ymm17, %ymm19 {k1}
vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {k1}
vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {z}{k1}
vshufi64x2 $0, (%rax), %ymm17, %ymm19 {z}{k1}
vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
vsubpd %xmm16, %xmm17, %xmm19
vsubpd (%rax), %xmm17, %xmm19
vsubpd (%rax){1to2}, %xmm17, %xmm19
@ -161,6 +401,86 @@ vsubps %ymm16, %ymm17, %ymm19 {z}{k1}
vsubps (%rax), %ymm17, %ymm19 {z}{k1}
vsubps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vunpckhpd %xmm16, %xmm17, %xmm19
vunpckhpd (%rax), %xmm17, %xmm19
vunpckhpd (%rax){1to2}, %xmm17, %xmm19
vunpckhpd %xmm16, %xmm17, %xmm19 {k1}
vunpckhpd (%rax), %xmm17, %xmm19 {k1}
vunpckhpd (%rax){1to2}, %xmm17, %xmm19 {k1}
vunpckhpd %xmm16, %xmm17, %xmm19 {z}{k1}
vunpckhpd (%rax), %xmm17, %xmm19 {z}{k1}
vunpckhpd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
vunpckhpd %ymm16, %ymm17, %ymm19
vunpckhpd (%rax), %ymm17, %ymm19
vunpckhpd (%rax){1to4}, %ymm17, %ymm19
vunpckhpd %ymm16, %ymm17, %ymm19 {k1}
vunpckhpd (%rax), %ymm17, %ymm19 {k1}
vunpckhpd (%rax){1to4}, %ymm17, %ymm19 {k1}
vunpckhpd %ymm16, %ymm17, %ymm19 {z}{k1}
vunpckhpd (%rax), %ymm17, %ymm19 {z}{k1}
vunpckhpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
vunpckhps %xmm16, %xmm17, %xmm19
vunpckhps (%rax), %xmm17, %xmm19
vunpckhps (%rax){1to4}, %xmm17, %xmm19
vunpckhps %xmm16, %xmm17, %xmm19 {k1}
vunpckhps (%rax), %xmm17, %xmm19 {k1}
vunpckhps (%rax){1to4}, %xmm17, %xmm19 {k1}
vunpckhps %xmm16, %xmm17, %xmm19 {z}{k1}
vunpckhps (%rax), %xmm17, %xmm19 {z}{k1}
vunpckhps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
vunpckhps %ymm16, %ymm17, %ymm19
vunpckhps (%rax), %ymm17, %ymm19
vunpckhps (%rax){1to8}, %ymm17, %ymm19
vunpckhps %ymm16, %ymm17, %ymm19 {k1}
vunpckhps (%rax), %ymm17, %ymm19 {k1}
vunpckhps (%rax){1to8}, %ymm17, %ymm19 {k1}
vunpckhps %ymm16, %ymm17, %ymm19 {z}{k1}
vunpckhps (%rax), %ymm17, %ymm19 {z}{k1}
vunpckhps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vunpcklpd %xmm16, %xmm17, %xmm19
vunpcklpd (%rax), %xmm17, %xmm19
vunpcklpd (%rax){1to2}, %xmm17, %xmm19
vunpcklpd %xmm16, %xmm17, %xmm19 {k1}
vunpcklpd (%rax), %xmm17, %xmm19 {k1}
vunpcklpd (%rax){1to2}, %xmm17, %xmm19 {k1}
vunpcklpd %xmm16, %xmm17, %xmm19 {z}{k1}
vunpcklpd (%rax), %xmm17, %xmm19 {z}{k1}
vunpcklpd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
vunpcklpd %ymm16, %ymm17, %ymm19
vunpcklpd (%rax), %ymm17, %ymm19
vunpcklpd (%rax){1to4}, %ymm17, %ymm19
vunpcklpd %ymm16, %ymm17, %ymm19 {k1}
vunpcklpd (%rax), %ymm17, %ymm19 {k1}
vunpcklpd (%rax){1to4}, %ymm17, %ymm19 {k1}
vunpcklpd %ymm16, %ymm17, %ymm19 {z}{k1}
vunpcklpd (%rax), %ymm17, %ymm19 {z}{k1}
vunpcklpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
vunpcklps %xmm16, %xmm17, %xmm19
vunpcklps (%rax), %xmm17, %xmm19
vunpcklps (%rax){1to4}, %xmm17, %xmm19
vunpcklps %xmm16, %xmm17, %xmm19 {k1}
vunpcklps (%rax), %xmm17, %xmm19 {k1}
vunpcklps (%rax){1to4}, %xmm17, %xmm19 {k1}
vunpcklps %xmm16, %xmm17, %xmm19 {z}{k1}
vunpcklps (%rax), %xmm17, %xmm19 {z}{k1}
vunpcklps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
vunpcklps %ymm16, %ymm17, %ymm19
vunpcklps (%rax), %ymm17, %ymm19
vunpcklps (%rax){1to8}, %ymm17, %ymm19
vunpcklps %ymm16, %ymm17, %ymm19 {k1}
vunpcklps (%rax), %ymm17, %ymm19 {k1}
vunpcklps (%rax){1to8}, %ymm17, %ymm19 {k1}
vunpcklps %ymm16, %ymm17, %ymm19 {z}{k1}
vunpcklps (%rax), %ymm17, %ymm19 {z}{k1}
vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -278,6 +598,222 @@ vsubps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 5 1.00 vmulps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 12 1.00 * vmulps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 12 1.00 * vmulps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermd (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermd (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpermd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermd (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilpd $0, %xmm16, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpermilpd $0, (%rax), %xmm19
# CHECK-NEXT: 2 7 1.00 * vpermilpd $0, (%rax){1to2}, %xmm19
# CHECK-NEXT: 1 1 1.00 vpermilpd $0, %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpermilpd $0, (%rax), %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpermilpd $0, (%rax){1to2}, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilpd $0, %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpermilpd $0, (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpermilpd $0, (%rax){1to2}, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilpd $0, %ymm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax), %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax){1to4}, %ymm19
# CHECK-NEXT: 1 1 1.00 vpermilpd $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax){1to4}, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilpd $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax){1to4}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpermilpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpermilpd (%rax){1to2}, %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vpermilpd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpermilpd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpermilpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilpd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpermilpd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpermilpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilpd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpermilpd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilps $0, %xmm16, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpermilps $0, (%rax), %xmm19
# CHECK-NEXT: 2 7 1.00 * vpermilps $0, (%rax){1to4}, %xmm19
# CHECK-NEXT: 1 1 1.00 vpermilps $0, %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpermilps $0, (%rax), %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpermilps $0, (%rax){1to4}, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilps $0, %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpermilps $0, (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpermilps $0, (%rax){1to4}, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilps $0, %ymm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax), %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax){1to8}, %ymm19
# CHECK-NEXT: 1 1 1.00 vpermilps $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax){1to8}, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilps $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilps %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpermilps (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpermilps (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vpermilps %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpermilps (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpermilps (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilps %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpermilps (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpermilps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilps %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpermilps %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermpd $0, %ymm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermpd $0, (%rax), %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermpd $0, (%rax){1to4}, %ymm19
# CHECK-NEXT: 1 1 1.00 vpermpd $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermpd $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermpd $0, (%rax){1to4}, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermpd $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermpd $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermpd $0, (%rax){1to4}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermpd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermpd (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermpd (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpermpd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermpd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermps %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermps (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermps (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpermps %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermps (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermps (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermq $0, %ymm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermq $0, (%rax), %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermq $0, (%rax){1to4}, %ymm19
# CHECK-NEXT: 1 1 1.00 vpermq $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermq $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermq $0, (%rax){1to4}, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermq $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermq $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermq $0, (%rax){1to4}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermq %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermq (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermq (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpermq %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermq (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermq (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpshufd $0, %xmm16, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpshufd $0, (%rax), %xmm19
# CHECK-NEXT: 2 7 0.50 * vpshufd $0, (%rax){1to4}, %xmm19
# CHECK-NEXT: 1 1 0.50 vpshufd $0, %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 7 0.50 * vpshufd $0, (%rax), %xmm19 {%k1}
# CHECK-NEXT: 2 7 0.50 * vpshufd $0, (%rax){1to4}, %xmm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpshufd $0, %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 0.50 * vpshufd $0, (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 0.50 * vpshufd $0, (%rax){1to4}, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %ymm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax), %ymm19
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax){1to8}, %ymm19
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax){1to8}, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpunpckhdq %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpunpckhdq (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpunpckhdq (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: 1 1 0.50 vpunpckhdq %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 0.50 * vpunpckhdq (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 0.50 * vpunpckhdq (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpunpckhdq %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 0.50 * vpunpckhdq (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 0.50 * vpunpckhdq (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpunpckldq %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpunpckldq (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpunpckldq (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: 1 1 0.50 vpunpckldq %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 0.50 * vpunpckldq (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 0.50 * vpunpckldq (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpunpckldq %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 0.50 * vpunpckldq (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 0.50 * vpunpckldq (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vshuff32x4 $0, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vshuff32x4 $0, (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vshuff32x4 $0, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vshuff32x4 $0, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vshuff32x4 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshuff32x4 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vshuff64x2 $0, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vshuff64x2 $0, (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vshuff64x2 $0, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vshuff64x2 $0, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vshuff64x2 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshuff64x2 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vshufi32x4 $0, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vshufi32x4 $0, (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vshufi32x4 $0, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vshufi32x4 $0, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vshufi32x4 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshufi32x4 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vshufi64x2 $0, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vshufi64x2 $0, (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vshufi64x2 $0, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshufi64x2 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vsubpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 9 1.00 * vsubpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 9 1.00 * vsubpd (%rax){1to2}, %xmm17, %xmm19
@ -314,6 +850,78 @@ vsubps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vsubps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vsubps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vsubps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpckhpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vunpckhpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vunpckhpd (%rax){1to2}, %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vunpckhpd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vunpckhpd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vunpckhpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpckhpd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vunpckhpd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vunpckhpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpckhpd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vunpckhpd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpckhpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpckhps %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vunpckhps (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vunpckhps (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vunpckhps %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vunpckhps (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vunpckhps (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpckhps %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vunpckhps (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vunpckhps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpckhps %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vunpckhps %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpckhps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpcklpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vunpcklpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vunpcklpd (%rax){1to2}, %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vunpcklpd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vunpcklpd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vunpcklpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpcklpd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vunpcklpd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vunpcklpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpcklpd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vunpcklpd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpcklpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpcklps %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vunpcklps (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vunpcklps (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vunpcklps %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vunpcklps (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vunpcklps (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpcklps %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vunpcklps (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vunpcklps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpcklps %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vunpcklps %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpcklps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK: Resources:
# CHECK-NEXT: [0] - SBDivider
@ -327,7 +935,7 @@ vsubps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
# CHECK-NEXT: - 972.00 99.00 72.00 - 9.00 48.00 48.00
# CHECK-NEXT: - 972.00 99.00 85.50 - 283.50 144.00 144.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@ -439,6 +1047,222 @@ vsubps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - 1.00 - - - - - vmulps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vmulps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vmulps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermd (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermd (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpermd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermd (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermilpd $0, %xmm16, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd $0, (%rax), %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd $0, (%rax){1to2}, %xmm19
# CHECK-NEXT: - - - - - 1.00 - - vpermilpd $0, %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd $0, (%rax), %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd $0, (%rax){1to2}, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermilpd $0, %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd $0, (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd $0, (%rax){1to2}, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermilpd $0, %ymm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd $0, (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd $0, (%rax){1to4}, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpermilpd $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd $0, (%rax){1to4}, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermilpd $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd $0, (%rax){1to4}, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermilpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd (%rax){1to2}, %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 - - vpermilpd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermilpd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermilpd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpermilpd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermilpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermilps $0, %xmm16, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps $0, (%rax), %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps $0, (%rax){1to4}, %xmm19
# CHECK-NEXT: - - - - - 1.00 - - vpermilps $0, %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps $0, (%rax), %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps $0, (%rax){1to4}, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermilps $0, %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps $0, (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps $0, (%rax){1to4}, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermilps $0, %ymm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps $0, (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps $0, (%rax){1to8}, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpermilps $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps $0, (%rax){1to8}, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermilps $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps $0, (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermilps %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 - - vpermilps %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermilps %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermilps %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpermilps %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermilps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermilps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermpd $0, %ymm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd $0, (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd $0, (%rax){1to4}, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpermpd $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd $0, (%rax){1to4}, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermpd $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd $0, (%rax){1to4}, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermpd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpermpd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermps %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermps (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermps (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpermps %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermps (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermps (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermq $0, %ymm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq $0, (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq $0, (%rax){1to4}, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpermq $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq $0, (%rax){1to4}, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermq $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq $0, (%rax){1to4}, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermq %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpermq %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufd $0, %xmm16, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufd $0, (%rax), %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufd $0, (%rax){1to4}, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufd $0, %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufd $0, (%rax), %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufd $0, (%rax){1to4}, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufd $0, %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufd $0, (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufd $0, (%rax){1to4}, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpshufd $0, %ymm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufd $0, (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufd $0, (%rax){1to8}, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpshufd $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufd $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufd $0, (%rax){1to8}, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpshufd $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufd $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufd $0, (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpunpckhdq %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckhdq (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckhdq (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpunpckhdq %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckhdq (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckhdq (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpunpckhdq %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckhdq (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckhdq (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhdq %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhdq (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhdq (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhdq %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhdq (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhdq (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhdq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhdq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhdq (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpunpckldq %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckldq (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckldq (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpunpckldq %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckldq (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckldq (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpunpckldq %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckldq (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckldq (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpunpckldq %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckldq (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckldq (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpunpckldq %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckldq (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpunpckldq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckldq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vshuff32x4 $0, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff32x4 $0, (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vshuff32x4 $0, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff32x4 $0, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vshuff32x4 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff32x4 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vshuff64x2 $0, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff64x2 $0, (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vshuff64x2 $0, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff64x2 $0, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vshuff64x2 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff64x2 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vshufi32x4 $0, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi32x4 $0, (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vshufi32x4 $0, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi32x4 $0, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vshufi32x4 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi32x4 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vshufi64x2 $0, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi64x2 $0, (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi64x2 $0, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi64x2 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - - - vsubpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vsubpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vsubpd (%rax){1to2}, %xmm17, %xmm19
@ -475,3 +1299,75 @@ vsubps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - 1.00 - - - - vsubps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vsubps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vsubps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vunpckhpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhpd (%rax){1to2}, %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 - - vunpckhpd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhpd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vunpckhpd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhpd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vunpckhpd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhpd (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhpd (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vunpckhpd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhpd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vunpckhpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vunpckhps %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhps (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhps (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 - - vunpckhps %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhps (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhps (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vunpckhps %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhps (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vunpckhps %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhps (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhps (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vunpckhps %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhps (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhps (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vunpckhps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpckhps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vunpcklpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklpd (%rax){1to2}, %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 - - vunpcklpd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklpd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vunpcklpd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklpd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vunpcklpd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklpd (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklpd (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vunpcklpd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklpd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vunpcklpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vunpcklps %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklps (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklps (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 - - vunpcklps %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklps (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklps (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vunpcklps %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklps (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vunpcklps %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklps (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklps (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vunpcklps %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklps (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklps (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vunpcklps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vunpcklps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}

View File

@ -101,6 +101,196 @@ vpaddq %zmm16, %zmm17, %zmm19 {z}{k1}
vpaddq (%rax), %zmm17, %zmm19 {z}{k1}
vpaddq (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vpermd %zmm16, %zmm17, %zmm19
vpermd (%rax), %zmm17, %zmm19
vpermd (%rax){1to16}, %zmm17, %zmm19
vpermd %zmm16, %zmm17, %zmm19 {k1}
vpermd (%rax), %zmm17, %zmm19 {k1}
vpermd (%rax){1to16}, %zmm17, %zmm19 {k1}
vpermd %zmm16, %zmm17, %zmm19 {z}{k1}
vpermd (%rax), %zmm17, %zmm19 {z}{k1}
vpermd (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
vpermilpd $0, %zmm16, %zmm19
vpermilpd $0, (%rax), %zmm19
vpermilpd $0, (%rax){1to8}, %zmm19
vpermilpd $0, %zmm16, %zmm19 {k1}
vpermilpd $0, (%rax), %zmm19 {k1}
vpermilpd $0, (%rax){1to8}, %zmm19 {k1}
vpermilpd $0, %zmm16, %zmm19 {z}{k1}
vpermilpd $0, (%rax), %zmm19 {z}{k1}
vpermilpd $0, (%rax){1to8}, %zmm19 {z}{k1}
vpermilpd %zmm16, %zmm17, %zmm19
vpermilpd (%rax), %zmm17, %zmm19
vpermilpd (%rax){1to8}, %zmm17, %zmm19
vpermilpd %zmm16, %zmm17, %zmm19 {k1}
vpermilpd (%rax), %zmm17, %zmm19 {k1}
vpermilpd (%rax){1to8}, %zmm17, %zmm19 {k1}
vpermilpd %zmm16, %zmm17, %zmm19 {z}{k1}
vpermilpd (%rax), %zmm17, %zmm19 {z}{k1}
vpermilpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vpermilps $0, %zmm16, %zmm19
vpermilps $0, (%rax), %zmm19
vpermilps $0, (%rax){1to16}, %zmm19
vpermilps $0, %zmm16, %zmm19 {k1}
vpermilps $0, (%rax), %zmm19 {k1}
vpermilps $0, (%rax){1to16}, %zmm19 {k1}
vpermilps $0, %zmm16, %zmm19 {z}{k1}
vpermilps $0, (%rax), %zmm19 {z}{k1}
vpermilps $0, (%rax){1to16}, %zmm19 {z}{k1}
vpermilps %zmm16, %zmm17, %zmm19
vpermilps (%rax), %zmm17, %zmm19
vpermilps (%rax){1to16}, %zmm17, %zmm19
vpermilps %zmm16, %zmm17, %zmm19 {k1}
vpermilps (%rax), %zmm17, %zmm19 {k1}
vpermilps (%rax){1to16}, %zmm17, %zmm19 {k1}
vpermilps %zmm16, %zmm17, %zmm19 {z}{k1}
vpermilps (%rax), %zmm17, %zmm19 {z}{k1}
vpermilps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
vpermpd $0, %zmm16, %zmm19
vpermpd $0, (%rax), %zmm19
vpermpd $0, (%rax){1to8}, %zmm19
vpermpd $0, %zmm16, %zmm19 {k1}
vpermpd $0, (%rax), %zmm19 {k1}
vpermpd $0, (%rax){1to8}, %zmm19 {k1}
vpermpd $0, %zmm16, %zmm19 {z}{k1}
vpermpd $0, (%rax), %zmm19 {z}{k1}
vpermpd $0, (%rax){1to8}, %zmm19 {z}{k1}
vpermpd %zmm16, %zmm17, %zmm19
vpermpd (%rax), %zmm17, %zmm19
vpermpd (%rax){1to8}, %zmm17, %zmm19
vpermpd %zmm16, %zmm17, %zmm19 {k1}
vpermpd (%rax), %zmm17, %zmm19 {k1}
vpermpd (%rax){1to8}, %zmm17, %zmm19 {k1}
vpermpd %zmm16, %zmm17, %zmm19 {z}{k1}
vpermpd (%rax), %zmm17, %zmm19 {z}{k1}
vpermpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vpermps %zmm16, %zmm17, %zmm19
vpermps (%rax), %zmm17, %zmm19
vpermps (%rax){1to16}, %zmm17, %zmm19
vpermps %zmm16, %zmm17, %zmm19 {k1}
vpermps (%rax), %zmm17, %zmm19 {k1}
vpermps (%rax){1to16}, %zmm17, %zmm19 {k1}
vpermps %zmm16, %zmm17, %zmm19 {z}{k1}
vpermps (%rax), %zmm17, %zmm19 {z}{k1}
vpermps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
vpermq $0, %zmm16, %zmm19
vpermq $0, (%rax), %zmm19
vpermq $0, (%rax){1to8}, %zmm19
vpermq $0, %zmm16, %zmm19 {k1}
vpermq $0, (%rax), %zmm19 {k1}
vpermq $0, (%rax){1to8}, %zmm19 {k1}
vpermq $0, %zmm16, %zmm19 {z}{k1}
vpermq $0, (%rax), %zmm19 {z}{k1}
vpermq $0, (%rax){1to8}, %zmm19 {z}{k1}
vpermq %zmm16, %zmm17, %zmm19
vpermq (%rax), %zmm17, %zmm19
vpermq (%rax){1to8}, %zmm17, %zmm19
vpermq %zmm16, %zmm17, %zmm19 {k1}
vpermq (%rax), %zmm17, %zmm19 {k1}
vpermq (%rax){1to8}, %zmm17, %zmm19 {k1}
vpermq %zmm16, %zmm17, %zmm19 {z}{k1}
vpermq (%rax), %zmm17, %zmm19 {z}{k1}
vpermq (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vpshufd $0, %zmm16, %zmm19
vpshufd $0, (%rax), %zmm19
vpshufd $0, (%rax){1to16}, %zmm19
vpshufd $0, %zmm16, %zmm19 {k1}
vpshufd $0, (%rax), %zmm19 {k1}
vpshufd $0, (%rax){1to16}, %zmm19 {k1}
vpshufd $0, %zmm16, %zmm19 {z}{k1}
vpshufd $0, (%rax), %zmm19 {z}{k1}
vpshufd $0, (%rax){1to16}, %zmm19 {z}{k1}
vpunpckhdq %zmm16, %zmm17, %zmm19
vpunpckhdq (%rax), %zmm17, %zmm19
vpunpckhdq (%rax){1to16}, %zmm17, %zmm19
vpunpckhdq %zmm16, %zmm17, %zmm19 {k1}
vpunpckhdq (%rax), %zmm17, %zmm19 {k1}
vpunpckhdq (%rax){1to16}, %zmm17, %zmm19 {k1}
vpunpckhdq %zmm16, %zmm17, %zmm19 {z}{k1}
vpunpckhdq (%rax), %zmm17, %zmm19 {z}{k1}
vpunpckhdq (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
vpunpckhqdq %zmm16, %zmm17, %zmm19
vpunpckhqdq (%rax), %zmm17, %zmm19
vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19
vpunpckhqdq %zmm16, %zmm17, %zmm19 {k1}
vpunpckhqdq (%rax), %zmm17, %zmm19 {k1}
vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19 {k1}
vpunpckhqdq %zmm16, %zmm17, %zmm19 {z}{k1}
vpunpckhqdq (%rax), %zmm17, %zmm19 {z}{k1}
vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vpunpckldq %zmm16, %zmm17, %zmm19
vpunpckldq (%rax), %zmm17, %zmm19
vpunpckldq (%rax){1to16}, %zmm17, %zmm19
vpunpckldq %zmm16, %zmm17, %zmm19 {k1}
vpunpckldq (%rax), %zmm17, %zmm19 {k1}
vpunpckldq (%rax){1to16}, %zmm17, %zmm19 {k1}
vpunpckldq %zmm16, %zmm17, %zmm19 {z}{k1}
vpunpckldq (%rax), %zmm17, %zmm19 {z}{k1}
vpunpckldq (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
vpunpcklqdq %zmm16, %zmm17, %zmm19
vpunpcklqdq (%rax), %zmm17, %zmm19
vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19
vpunpcklqdq %zmm16, %zmm17, %zmm19 {k1}
vpunpcklqdq (%rax), %zmm17, %zmm19 {k1}
vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {k1}
vpunpcklqdq %zmm16, %zmm17, %zmm19 {z}{k1}
vpunpcklqdq (%rax), %zmm17, %zmm19 {z}{k1}
vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vshuff32x4 $0, %zmm16, %zmm17, %zmm19
vshuff32x4 $0, (%rax), %zmm17, %zmm19
vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19
vshuff32x4 $0, %zmm16, %zmm17, %zmm19 {k1}
vshuff32x4 $0, (%rax), %zmm17, %zmm19 {k1}
vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {k1}
vshuff32x4 $0, %zmm16, %zmm17, %zmm19 {z}{k1}
vshuff32x4 $0, (%rax), %zmm17, %zmm19 {z}{k1}
vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
vshuff64x2 $0, %zmm16, %zmm17, %zmm19
vshuff64x2 $0, (%rax), %zmm17, %zmm19
vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19
vshuff64x2 $0, %zmm16, %zmm17, %zmm19 {k1}
vshuff64x2 $0, (%rax), %zmm17, %zmm19 {k1}
vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {k1}
vshuff64x2 $0, %zmm16, %zmm17, %zmm19 {z}{k1}
vshuff64x2 $0, (%rax), %zmm17, %zmm19 {z}{k1}
vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vshufi32x4 $0, %zmm16, %zmm17, %zmm19
vshufi32x4 $0, (%rax), %zmm17, %zmm19
vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19
vshufi32x4 $0, %zmm16, %zmm17, %zmm19 {k1}
vshufi32x4 $0, (%rax), %zmm17, %zmm19 {k1}
vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {k1}
vshufi32x4 $0, %zmm16, %zmm17, %zmm19 {z}{k1}
vshufi32x4 $0, (%rax), %zmm17, %zmm19 {z}{k1}
vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
vshufi64x2 $0, %zmm16, %zmm17, %zmm19
vshufi64x2 $0, (%rax), %zmm17, %zmm19
vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19
vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {k1}
vshufi64x2 $0, (%rax), %zmm17, %zmm19 {k1}
vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {k1}
vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {z}{k1}
vshufi64x2 $0, (%rax), %zmm17, %zmm19 {z}{k1}
vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vpsubd %zmm16, %zmm17, %zmm19
vpsubd (%rax), %zmm17, %zmm19
vpsubd (%rax){1to16}, %zmm17, %zmm19
@ -141,6 +331,46 @@ vsubps %zmm16, %zmm17, %zmm19 {z}{k1}
vsubps (%rax), %zmm17, %zmm19 {z}{k1}
vsubps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
vunpckhpd %zmm16, %zmm17, %zmm19
vunpckhpd (%rax), %zmm17, %zmm19
vunpckhpd (%rax){1to8}, %zmm17, %zmm19
vunpckhpd %zmm16, %zmm17, %zmm19 {k1}
vunpckhpd (%rax), %zmm17, %zmm19 {k1}
vunpckhpd (%rax){1to8}, %zmm17, %zmm19 {k1}
vunpckhpd %zmm16, %zmm17, %zmm19 {z}{k1}
vunpckhpd (%rax), %zmm17, %zmm19 {z}{k1}
vunpckhpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vunpckhps %zmm16, %zmm17, %zmm19
vunpckhps (%rax), %zmm17, %zmm19
vunpckhps (%rax){1to16}, %zmm17, %zmm19
vunpckhps %zmm16, %zmm17, %zmm19 {k1}
vunpckhps (%rax), %zmm17, %zmm19 {k1}
vunpckhps (%rax){1to16}, %zmm17, %zmm19 {k1}
vunpckhps %zmm16, %zmm17, %zmm19 {z}{k1}
vunpckhps (%rax), %zmm17, %zmm19 {z}{k1}
vunpckhps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
vunpcklpd %zmm16, %zmm17, %zmm19
vunpcklpd (%rax), %zmm17, %zmm19
vunpcklpd (%rax){1to8}, %zmm17, %zmm19
vunpcklpd %zmm16, %zmm17, %zmm19 {k1}
vunpcklpd (%rax), %zmm17, %zmm19 {k1}
vunpcklpd (%rax){1to8}, %zmm17, %zmm19 {k1}
vunpcklpd %zmm16, %zmm17, %zmm19 {z}{k1}
vunpcklpd (%rax), %zmm17, %zmm19 {z}{k1}
vunpcklpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
vunpcklps %zmm16, %zmm17, %zmm19
vunpcklps (%rax), %zmm17, %zmm19
vunpcklps (%rax){1to16}, %zmm17, %zmm19
vunpcklps %zmm16, %zmm17, %zmm19 {k1}
vunpcklps (%rax), %zmm17, %zmm19 {k1}
vunpcklps (%rax){1to16}, %zmm17, %zmm19 {k1}
vunpcklps %zmm16, %zmm17, %zmm19 {z}{k1}
vunpcklps (%rax), %zmm17, %zmm19 {z}{k1}
vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -240,6 +470,177 @@ vsubps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 1 0.33 vpaddq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpermd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * vpermd (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: 1 3 1.00 vpermd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermd (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpermd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilpd $0, %zmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax), %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax){1to8}, %zmm19
# CHECK-NEXT: 1 1 1.00 vpermilpd $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax){1to8}, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilpd $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax){1to8}, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpermilpd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilpd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilps $0, %zmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax), %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax){1to16}, %zmm19
# CHECK-NEXT: 1 1 1.00 vpermilps $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax){1to16}, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilps $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax){1to16}, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilps %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpermilps %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpermpd $0, %zmm16, %zmm19
# CHECK-NEXT: 2 10 1.00 * vpermpd $0, (%rax), %zmm19
# CHECK-NEXT: 2 10 1.00 * vpermpd $0, (%rax){1to8}, %zmm19
# CHECK-NEXT: 1 3 1.00 vpermpd $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermpd $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermpd $0, (%rax){1to8}, %zmm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpermpd $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermpd $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermpd $0, (%rax){1to8}, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpermpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * vpermpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * vpermpd (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: 1 3 1.00 vpermpd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermpd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpermpd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermpd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpermps %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * vpermps (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * vpermps (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: 1 3 1.00 vpermps %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermps (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermps (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpermps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpermq $0, %zmm16, %zmm19
# CHECK-NEXT: 2 10 1.00 * vpermq $0, (%rax), %zmm19
# CHECK-NEXT: 2 10 1.00 * vpermq $0, (%rax){1to8}, %zmm19
# CHECK-NEXT: 1 3 1.00 vpermq $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermq $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermq $0, (%rax){1to8}, %zmm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpermq $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermq $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermq $0, (%rax){1to8}, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpermq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * vpermq (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * vpermq (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: 1 3 1.00 vpermq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermq (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpermq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %zmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax), %zmm19
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax){1to16}, %zmm19
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax){1to16}, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax){1to16}, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhdq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpunpckhdq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckhdq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckldq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpunpckldq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckldq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vshuff32x4 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * vshuff32x4 $0, (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: 1 3 1.00 vshuff32x4 $0, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vshuff32x4 $0, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vshuff32x4 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshuff32x4 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vshuff64x2 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * vshuff64x2 $0, (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: 1 3 1.00 vshuff64x2 $0, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vshuff64x2 $0, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vshuff64x2 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshuff64x2 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vshufi32x4 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * vshufi32x4 $0, (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: 1 3 1.00 vshufi32x4 $0, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vshufi32x4 $0, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vshufi32x4 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshufi32x4 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vshufi64x2 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * vshufi64x2 $0, (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: 1 3 1.00 vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vshufi64x2 $0, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshufi64x2 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.33 vpsubd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax){1to16}, %zmm17, %zmm19
@ -276,6 +677,42 @@ vsubps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 4 0.50 vsubps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vsubps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vsubps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpckhpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vunpckhpd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpckhpd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpckhps %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vunpckhps %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpckhps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpcklpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vunpcklpd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpcklpd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpcklps %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vunpcklps %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpcklps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK: Resources:
# CHECK-NEXT: [0] - SKXDivider
@ -291,7 +728,7 @@ vsubps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
# CHECK-NEXT: - 234.00 93.00 12.00 42.00 42.00 - 57.00 - -
# CHECK-NEXT: - 234.00 93.00 12.00 111.00 111.00 - 264.00 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@ -385,6 +822,177 @@ vsubps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $0, %zmm16, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $0, (%rax), %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $0, (%rax){1to8}, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $0, (%rax){1to8}, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $0, (%rax){1to8}, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $0, %zmm16, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $0, (%rax), %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $0, (%rax){1to16}, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $0, (%rax){1to16}, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $0, (%rax){1to16}, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $0, %zmm16, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $0, (%rax), %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $0, (%rax){1to8}, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $0, (%rax){1to8}, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $0, (%rax){1to8}, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $0, %zmm16, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $0, (%rax), %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $0, (%rax){1to8}, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $0, (%rax){1to8}, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $0, (%rax){1to8}, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $0, %zmm16, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax), %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax){1to16}, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax){1to16}, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax){1to16}, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vshuff32x4 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff32x4 $0, (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vshuff32x4 $0, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff32x4 $0, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vshuff32x4 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff32x4 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vshuff64x2 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff64x2 $0, (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vshuff64x2 $0, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff64x2 $0, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vshuff64x2 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff64x2 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vshufi32x4 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi32x4 $0, (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vshufi32x4 $0, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi32x4 $0, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vshufi32x4 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi32x4 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vshufi64x2 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi64x2 $0, (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi64x2 $0, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi64x2 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax){1to16}, %zmm17, %zmm19
@ -421,3 +1029,39 @@ vsubps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vsubps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vsubps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vsubps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax){1to8}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax){1to16}, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax){1to16}, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}

View File

@ -29,6 +29,34 @@ vpaddw (%rax), %zmm17, %zmm19 {k1}
vpaddw %zmm16, %zmm17, %zmm19 {z}{k1}
vpaddw (%rax), %zmm17, %zmm19 {z}{k1}
vpermw %zmm16, %zmm17, %zmm19
vpermw (%rax), %zmm17, %zmm19
vpermw %zmm16, %zmm17, %zmm19 {k1}
vpermw (%rax), %zmm17, %zmm19 {k1}
vpermw %zmm16, %zmm17, %zmm19 {z}{k1}
vpermw (%rax), %zmm17, %zmm19 {z}{k1}
vpshufb %zmm16, %zmm17, %zmm19
vpshufb (%rax), %zmm17, %zmm19
vpshufb %zmm16, %zmm17, %zmm19 {k1}
vpshufb (%rax), %zmm17, %zmm19 {k1}
vpshufb %zmm16, %zmm17, %zmm19 {z}{k1}
vpshufb (%rax), %zmm17, %zmm19 {z}{k1}
vpshufhw $0, %zmm16, %zmm19
vpshufhw $0, (%rax), %zmm19
vpshufhw $0, %zmm16, %zmm19 {k1}
vpshufhw $0, (%rax), %zmm19 {k1}
vpshufhw $0, %zmm16, %zmm19 {z}{k1}
vpshufhw $0, (%rax), %zmm19 {z}{k1}
vpshuflw $0, %zmm16, %zmm19
vpshuflw $0, (%rax), %zmm19
vpshuflw $0, %zmm16, %zmm19 {k1}
vpshuflw $0, (%rax), %zmm19 {k1}
vpshuflw $0, %zmm16, %zmm19 {z}{k1}
vpshuflw $0, (%rax), %zmm19 {z}{k1}
vpsubb %zmm16, %zmm17, %zmm19
vpsubb (%rax), %zmm17, %zmm19
vpsubb %zmm16, %zmm17, %zmm19 {k1}
@ -43,6 +71,34 @@ vpsubw (%rax), %zmm17, %zmm19 {k1}
vpsubw %zmm16, %zmm17, %zmm19 {z}{k1}
vpsubw (%rax), %zmm17, %zmm19 {z}{k1}
vpunpckhbw %zmm16, %zmm17, %zmm19
vpunpckhbw (%rax), %zmm17, %zmm19
vpunpckhbw %zmm16, %zmm17, %zmm19 {k1}
vpunpckhbw (%rax), %zmm17, %zmm19 {k1}
vpunpckhbw %zmm16, %zmm17, %zmm19 {z}{k1}
vpunpckhbw (%rax), %zmm17, %zmm19 {z}{k1}
vpunpckhwd %zmm16, %zmm17, %zmm19
vpunpckhwd (%rax), %zmm17, %zmm19
vpunpckhwd %zmm16, %zmm17, %zmm19 {k1}
vpunpckhwd (%rax), %zmm17, %zmm19 {k1}
vpunpckhwd %zmm16, %zmm17, %zmm19 {z}{k1}
vpunpckhwd (%rax), %zmm17, %zmm19 {z}{k1}
vpunpcklbw %zmm16, %zmm17, %zmm19
vpunpcklbw (%rax), %zmm17, %zmm19
vpunpcklbw %zmm16, %zmm17, %zmm19 {k1}
vpunpcklbw (%rax), %zmm17, %zmm19 {k1}
vpunpcklbw %zmm16, %zmm17, %zmm19 {z}{k1}
vpunpcklbw (%rax), %zmm17, %zmm19 {z}{k1}
vpunpcklwd %zmm16, %zmm17, %zmm19
vpunpcklwd (%rax), %zmm17, %zmm19
vpunpcklwd %zmm16, %zmm17, %zmm19 {k1}
vpunpcklwd (%rax), %zmm17, %zmm19 {k1}
vpunpcklwd %zmm16, %zmm17, %zmm19 {z}{k1}
vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -76,6 +132,30 @@ vpsubw (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 0.33 vpaddw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 6 2.00 vpermw %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 3 13 2.00 * vpermw (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 6 2.00 vpermw %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 3 13 2.00 * vpermw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 6 2.00 vpermw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 3 13 2.00 * vpermw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpshufb %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpshufb %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshufb %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %zmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpshufhw $0, (%rax), %zmm19
# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpshufhw $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufhw $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpshuflw $0, %zmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %zmm19
# CHECK-NEXT: 1 1 1.00 vpshuflw $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshuflw $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.33 vpsubb %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 1 0.33 vpsubb %zmm16, %zmm17, %zmm19 {%k1}
@ -88,6 +168,30 @@ vpsubw (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 0.33 vpsubw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhbw %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhwd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpcklbw %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK: Resources:
# CHECK-NEXT: [0] - SKXDivider
@ -103,7 +207,7 @@ vpsubw (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
# CHECK-NEXT: - - 20.00 8.00 9.00 9.00 - 8.00 - -
# CHECK-NEXT: - - 20.00 8.00 21.00 21.00 - 62.00 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@ -131,6 +235,30 @@ vpsubw (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 2.00 - - vpermw %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpermw (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 2.00 - - vpermw %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpermw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 2.00 - - vpermw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpermw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $0, %zmm16, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $0, (%rax), %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $0, %zmm16, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $0, (%rax), %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $0, %zmm16, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubb (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %zmm16, %zmm17, %zmm19 {%k1}
@ -143,3 +271,27 @@ vpsubw (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %zmm17, %zmm19 {%k1} {z}

View File

@ -57,6 +57,48 @@ vpaddw (%rax), %ymm17, %ymm19 {k1}
vpaddw %ymm16, %ymm17, %ymm19 {z}{k1}
vpaddw (%rax), %ymm17, %ymm19 {z}{k1}
vpermw %xmm16, %xmm17, %xmm19
vpermw (%rax), %xmm17, %xmm19
vpermw %xmm16, %xmm17, %xmm19 {k1}
vpermw (%rax), %xmm17, %xmm19 {k1}
vpermw %xmm16, %xmm17, %xmm19 {z}{k1}
vpermw (%rax), %xmm17, %xmm19 {z}{k1}
vpermw %ymm16, %ymm17, %ymm19
vpermw (%rax), %ymm17, %ymm19
vpermw %ymm16, %ymm17, %ymm19 {k1}
vpermw (%rax), %ymm17, %ymm19 {k1}
vpermw %ymm16, %ymm17, %ymm19 {z}{k1}
vpermw (%rax), %ymm17, %ymm19 {z}{k1}
vpshufb %xmm16, %xmm17, %xmm19
vpshufb (%rax), %xmm17, %xmm19
vpshufb %xmm16, %xmm17, %xmm19 {k1}
vpshufb (%rax), %xmm17, %xmm19 {k1}
vpshufb %xmm16, %xmm17, %xmm19 {z}{k1}
vpshufb (%rax), %xmm17, %xmm19 {z}{k1}
vpshufb %ymm16, %ymm17, %ymm19
vpshufb (%rax), %ymm17, %ymm19
vpshufb %ymm16, %ymm17, %ymm19 {k1}
vpshufb (%rax), %ymm17, %ymm19 {k1}
vpshufb %ymm16, %ymm17, %ymm19 {z}{k1}
vpshufb (%rax), %ymm17, %ymm19 {z}{k1}
vpshufhw $0, %xmm16, %xmm19
vpshufhw $0, (%rax), %xmm19
vpshufhw $0, %xmm16, %xmm19 {k1}
vpshufhw $0, (%rax), %xmm19 {k1}
vpshufhw $0, %xmm16, %xmm19 {z}{k1}
vpshufhw $0, (%rax), %xmm19 {z}{k1}
vpshufhw $0, %ymm16, %ymm19
vpshufhw $0, (%rax), %ymm19
vpshufhw $0, %ymm16, %ymm19 {k1}
vpshufhw $0, (%rax), %ymm19 {k1}
vpshufhw $0, %ymm16, %ymm19 {z}{k1}
vpshufhw $0, (%rax), %ymm19 {z}{k1}
vpsubb %xmm16, %xmm17, %xmm19
vpsubb (%rax), %xmm17, %xmm19
vpsubb %xmm16, %xmm17, %xmm19 {k1}
@ -85,6 +127,62 @@ vpsubw (%rax), %ymm17, %ymm19 {k1}
vpsubw %ymm16, %ymm17, %ymm19 {z}{k1}
vpsubw (%rax), %ymm17, %ymm19 {z}{k1}
vpunpckhbw %xmm16, %xmm17, %xmm19
vpunpckhbw (%rax), %xmm17, %xmm19
vpunpckhbw %xmm16, %xmm17, %xmm19 {k1}
vpunpckhbw (%rax), %xmm17, %xmm19 {k1}
vpunpckhbw %xmm16, %xmm17, %xmm19 {z}{k1}
vpunpckhbw (%rax), %xmm17, %xmm19 {z}{k1}
vpunpckhbw %ymm16, %ymm17, %ymm19
vpunpckhbw (%rax), %ymm17, %ymm19
vpunpckhbw %ymm16, %ymm17, %ymm19 {k1}
vpunpckhbw (%rax), %ymm17, %ymm19 {k1}
vpunpckhbw %ymm16, %ymm17, %ymm19 {z}{k1}
vpunpckhbw (%rax), %ymm17, %ymm19 {z}{k1}
vpunpckhwd %xmm16, %xmm17, %xmm19
vpunpckhwd (%rax), %xmm17, %xmm19
vpunpckhwd %xmm16, %xmm17, %xmm19 {k1}
vpunpckhwd (%rax), %xmm17, %xmm19 {k1}
vpunpckhwd %xmm16, %xmm17, %xmm19 {z}{k1}
vpunpckhwd (%rax), %xmm17, %xmm19 {z}{k1}
vpunpckhwd %ymm16, %ymm17, %ymm19
vpunpckhwd (%rax), %ymm17, %ymm19
vpunpckhwd %ymm16, %ymm17, %ymm19 {k1}
vpunpckhwd (%rax), %ymm17, %ymm19 {k1}
vpunpckhwd %ymm16, %ymm17, %ymm19 {z}{k1}
vpunpckhwd (%rax), %ymm17, %ymm19 {z}{k1}
vpunpcklbw %xmm16, %xmm17, %xmm19
vpunpcklbw (%rax), %xmm17, %xmm19
vpunpcklbw %xmm16, %xmm17, %xmm19 {k1}
vpunpcklbw (%rax), %xmm17, %xmm19 {k1}
vpunpcklbw %xmm16, %xmm17, %xmm19 {z}{k1}
vpunpcklbw (%rax), %xmm17, %xmm19 {z}{k1}
vpunpcklbw %ymm16, %ymm17, %ymm19
vpunpcklbw (%rax), %ymm17, %ymm19
vpunpcklbw %ymm16, %ymm17, %ymm19 {k1}
vpunpcklbw (%rax), %ymm17, %ymm19 {k1}
vpunpcklbw %ymm16, %ymm17, %ymm19 {z}{k1}
vpunpcklbw (%rax), %ymm17, %ymm19 {z}{k1}
vpunpcklwd %xmm16, %xmm17, %xmm19
vpunpcklwd (%rax), %xmm17, %xmm19
vpunpcklwd %xmm16, %xmm17, %xmm19 {k1}
vpunpcklwd (%rax), %xmm17, %xmm19 {k1}
vpunpcklwd %xmm16, %xmm17, %xmm19 {z}{k1}
vpunpcklwd (%rax), %xmm17, %xmm19 {z}{k1}
vpunpcklwd %ymm16, %ymm17, %ymm19
vpunpcklwd (%rax), %ymm17, %ymm19
vpunpcklwd %ymm16, %ymm17, %ymm19 {k1}
vpunpcklwd (%rax), %ymm17, %ymm19 {k1}
vpunpcklwd %ymm16, %ymm17, %ymm19 {z}{k1}
vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -142,6 +240,42 @@ vpsubw (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 0.33 vpaddw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 6 2.00 vpermw %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 3 12 2.00 * vpermw (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 6 2.00 vpermw %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 3 12 2.00 * vpermw (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 6 2.00 vpermw %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 3 12 2.00 * vpermw (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 6 2.00 vpermw %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 3 13 2.00 * vpermw (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 6 2.00 vpermw %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 3 13 2.00 * vpermw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 6 2.00 vpermw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 3 13 2.00 * vpermw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpshufb %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpshufb (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vpshufb %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpshufb (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshufb %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpshufb (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpshufb %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpshufb %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshufb %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %xmm16, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpshufhw $0, (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpshufhw $0, (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpshufhw $0, (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %ymm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpshufhw $0, (%rax), %ymm19
# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpshufhw $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufhw $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.33 vpsubb %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpsubb (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 1 0.33 vpsubb %xmm16, %xmm17, %xmm19 {%k1}
@ -166,6 +300,54 @@ vpsubw (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 0.33 vpsubw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhbw %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpunpckhbw (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vpunpckhbw %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpunpckhbw (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckhbw %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpunpckhbw (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhwd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpunpckhwd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vpunpckhwd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpunpckhwd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckhwd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpunpckhwd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpcklbw %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpunpcklbw (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vpunpcklbw %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpunpcklbw (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpcklbw %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpunpcklbw (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpunpcklwd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpunpcklwd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpunpcklwd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK: Resources:
# CHECK-NEXT: [0] - SKXDivider
@ -181,7 +363,7 @@ vpsubw (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
# CHECK-NEXT: - - 28.00 28.00 18.00 18.00 - 16.00 - -
# CHECK-NEXT: - - 28.00 28.00 39.00 39.00 - 112.00 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@ -233,6 +415,42 @@ vpsubw (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 2.00 - - vpermw %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpermw (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - - - - 2.00 - - vpermw %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpermw (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 2.00 - - vpermw %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpermw (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 2.00 - - vpermw %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpermw (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 2.00 - - vpermw %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpermw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 2.00 - - vpermw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpermw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $0, %xmm16, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $0, (%rax), %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $0, %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $0, (%rax), %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $0, %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $0, (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $0, %ymm16, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $0, (%rax), %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubb (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %xmm16, %xmm17, %xmm19 {%k1}
@ -257,3 +475,51 @@ vpsubw (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm17, %ymm19 {%k1} {z}

View File

@ -121,6 +121,246 @@ vmulps %ymm16, %ymm17, %ymm19 {z}{k1}
vmulps (%rax), %ymm17, %ymm19 {z}{k1}
vmulps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vpermd %ymm16, %ymm17, %ymm19
vpermd (%rax), %ymm17, %ymm19
vpermd (%rax){1to8}, %ymm17, %ymm19
vpermd %ymm16, %ymm17, %ymm19 {k1}
vpermd (%rax), %ymm17, %ymm19 {k1}
vpermd (%rax){1to8}, %ymm17, %ymm19 {k1}
vpermd %ymm16, %ymm17, %ymm19 {z}{k1}
vpermd (%rax), %ymm17, %ymm19 {z}{k1}
vpermd (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vpermilpd $0, %xmm16, %xmm19
vpermilpd $0, (%rax), %xmm19
vpermilpd $0, (%rax){1to2}, %xmm19
vpermilpd $0, %xmm16, %xmm19 {k1}
vpermilpd $0, (%rax), %xmm19 {k1}
vpermilpd $0, (%rax){1to2}, %xmm19 {k1}
vpermilpd $0, %xmm16, %xmm19 {z}{k1}
vpermilpd $0, (%rax), %xmm19 {z}{k1}
vpermilpd $0, (%rax){1to2}, %xmm19 {z}{k1}
vpermilpd $0, %ymm16, %ymm19
vpermilpd $0, (%rax), %ymm19
vpermilpd $0, (%rax){1to4}, %ymm19
vpermilpd $0, %ymm16, %ymm19 {k1}
vpermilpd $0, (%rax), %ymm19 {k1}
vpermilpd $0, (%rax){1to4}, %ymm19 {k1}
vpermilpd $0, %ymm16, %ymm19 {z}{k1}
vpermilpd $0, (%rax), %ymm19 {z}{k1}
vpermilpd $0, (%rax){1to4}, %ymm19 {z}{k1}
vpermilpd %xmm16, %xmm17, %xmm19
vpermilpd (%rax), %xmm17, %xmm19
vpermilpd (%rax){1to2}, %xmm17, %xmm19
vpermilpd %xmm16, %xmm17, %xmm19 {k1}
vpermilpd (%rax), %xmm17, %xmm19 {k1}
vpermilpd (%rax){1to2}, %xmm17, %xmm19 {k1}
vpermilpd %xmm16, %xmm17, %xmm19 {z}{k1}
vpermilpd (%rax), %xmm17, %xmm19 {z}{k1}
vpermilpd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
vpermilpd %ymm16, %ymm17, %ymm19
vpermilpd (%rax), %ymm17, %ymm19
vpermilpd (%rax){1to4}, %ymm17, %ymm19
vpermilpd %ymm16, %ymm17, %ymm19 {k1}
vpermilpd (%rax), %ymm17, %ymm19 {k1}
vpermilpd (%rax){1to4}, %ymm17, %ymm19 {k1}
vpermilpd %ymm16, %ymm17, %ymm19 {z}{k1}
vpermilpd (%rax), %ymm17, %ymm19 {z}{k1}
vpermilpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
vpermilps $0, %xmm16, %xmm19
vpermilps $0, (%rax), %xmm19
vpermilps $0, (%rax){1to4}, %xmm19
vpermilps $0, %xmm16, %xmm19 {k1}
vpermilps $0, (%rax), %xmm19 {k1}
vpermilps $0, (%rax){1to4}, %xmm19 {k1}
vpermilps $0, %xmm16, %xmm19 {z}{k1}
vpermilps $0, (%rax), %xmm19 {z}{k1}
vpermilps $0, (%rax){1to4}, %xmm19 {z}{k1}
vpermilps $0, %ymm16, %ymm19
vpermilps $0, (%rax), %ymm19
vpermilps $0, (%rax){1to8}, %ymm19
vpermilps $0, %ymm16, %ymm19 {k1}
vpermilps $0, (%rax), %ymm19 {k1}
vpermilps $0, (%rax){1to8}, %ymm19 {k1}
vpermilps $0, %ymm16, %ymm19 {z}{k1}
vpermilps $0, (%rax), %ymm19 {z}{k1}
vpermilps $0, (%rax){1to8}, %ymm19 {z}{k1}
vpermilps %xmm16, %xmm17, %xmm19
vpermilps (%rax), %xmm17, %xmm19
vpermilps (%rax){1to4}, %xmm17, %xmm19
vpermilps %xmm16, %xmm17, %xmm19 {k1}
vpermilps (%rax), %xmm17, %xmm19 {k1}
vpermilps (%rax){1to4}, %xmm17, %xmm19 {k1}
vpermilps %xmm16, %xmm17, %xmm19 {z}{k1}
vpermilps (%rax), %xmm17, %xmm19 {z}{k1}
vpermilps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
vpermilps %ymm16, %ymm17, %ymm19
vpermilps (%rax), %ymm17, %ymm19
vpermilps (%rax){1to8}, %ymm17, %ymm19
vpermilps %ymm16, %ymm17, %ymm19 {k1}
vpermilps (%rax), %ymm17, %ymm19 {k1}
vpermilps (%rax){1to8}, %ymm17, %ymm19 {k1}
vpermilps %ymm16, %ymm17, %ymm19 {z}{k1}
vpermilps (%rax), %ymm17, %ymm19 {z}{k1}
vpermilps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vpermpd $0, %ymm16, %ymm19
vpermpd $0, (%rax), %ymm19
vpermpd $0, (%rax){1to4}, %ymm19
vpermpd $0, %ymm16, %ymm19 {k1}
vpermpd $0, (%rax), %ymm19 {k1}
vpermpd $0, (%rax){1to4}, %ymm19 {k1}
vpermpd $0, %ymm16, %ymm19 {z}{k1}
vpermpd $0, (%rax), %ymm19 {z}{k1}
vpermpd $0, (%rax){1to4}, %ymm19 {z}{k1}
vpermpd %ymm16, %ymm17, %ymm19
vpermpd (%rax), %ymm17, %ymm19
vpermpd (%rax){1to4}, %ymm17, %ymm19
vpermpd %ymm16, %ymm17, %ymm19 {k1}
vpermpd (%rax), %ymm17, %ymm19 {k1}
vpermpd (%rax){1to4}, %ymm17, %ymm19 {k1}
vpermpd %ymm16, %ymm17, %ymm19 {z}{k1}
vpermpd (%rax), %ymm17, %ymm19 {z}{k1}
vpermpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
vpermps %ymm16, %ymm17, %ymm19
vpermps (%rax), %ymm17, %ymm19
vpermps (%rax){1to8}, %ymm17, %ymm19
vpermps %ymm16, %ymm17, %ymm19 {k1}
vpermps (%rax), %ymm17, %ymm19 {k1}
vpermps (%rax){1to8}, %ymm17, %ymm19 {k1}
vpermps %ymm16, %ymm17, %ymm19 {z}{k1}
vpermps (%rax), %ymm17, %ymm19 {z}{k1}
vpermps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vpermq $0, %ymm16, %ymm19
vpermq $0, (%rax), %ymm19
vpermq $0, (%rax){1to4}, %ymm19
vpermq $0, %ymm16, %ymm19 {k1}
vpermq $0, (%rax), %ymm19 {k1}
vpermq $0, (%rax){1to4}, %ymm19 {k1}
vpermq $0, %ymm16, %ymm19 {z}{k1}
vpermq $0, (%rax), %ymm19 {z}{k1}
vpermq $0, (%rax){1to4}, %ymm19 {z}{k1}
vpermq %ymm16, %ymm17, %ymm19
vpermq (%rax), %ymm17, %ymm19
vpermq (%rax){1to4}, %ymm17, %ymm19
vpermq %ymm16, %ymm17, %ymm19 {k1}
vpermq (%rax), %ymm17, %ymm19 {k1}
vpermq (%rax){1to4}, %ymm17, %ymm19 {k1}
vpermq %ymm16, %ymm17, %ymm19 {z}{k1}
vpermq (%rax), %ymm17, %ymm19 {z}{k1}
vpermq (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
vpshufd $0, %xmm16, %xmm19
vpshufd $0, (%rax), %xmm19
vpshufd $0, (%rax){1to4}, %xmm19
vpshufd $0, %xmm16, %xmm19 {k1}
vpshufd $0, (%rax), %xmm19 {k1}
vpshufd $0, (%rax){1to4}, %xmm19 {k1}
vpshufd $0, %xmm16, %xmm19 {z}{k1}
vpshufd $0, (%rax), %xmm19 {z}{k1}
vpshufd $0, (%rax){1to4}, %xmm19 {z}{k1}
vpshufd $0, %ymm16, %ymm19
vpshufd $0, (%rax), %ymm19
vpshufd $0, (%rax){1to8}, %ymm19
vpshufd $0, %ymm16, %ymm19 {k1}
vpshufd $0, (%rax), %ymm19 {k1}
vpshufd $0, (%rax){1to8}, %ymm19 {k1}
vpshufd $0, %ymm16, %ymm19 {z}{k1}
vpshufd $0, (%rax), %ymm19 {z}{k1}
vpshufd $0, (%rax){1to8}, %ymm19 {z}{k1}
vpunpckhdq %xmm16, %xmm17, %xmm19
vpunpckhdq (%rax), %xmm17, %xmm19
vpunpckhdq (%rax){1to4}, %xmm17, %xmm19
vpunpckhdq %xmm16, %xmm17, %xmm19 {k1}
vpunpckhdq (%rax), %xmm17, %xmm19 {k1}
vpunpckhdq (%rax){1to4}, %xmm17, %xmm19 {k1}
vpunpckhdq %xmm16, %xmm17, %xmm19 {z}{k1}
vpunpckhdq (%rax), %xmm17, %xmm19 {z}{k1}
vpunpckhdq (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
vpunpckhdq %ymm16, %ymm17, %ymm19
vpunpckhdq (%rax), %ymm17, %ymm19
vpunpckhdq (%rax){1to8}, %ymm17, %ymm19
vpunpckhdq %ymm16, %ymm17, %ymm19 {k1}
vpunpckhdq (%rax), %ymm17, %ymm19 {k1}
vpunpckhdq (%rax){1to8}, %ymm17, %ymm19 {k1}
vpunpckhdq %ymm16, %ymm17, %ymm19 {z}{k1}
vpunpckhdq (%rax), %ymm17, %ymm19 {z}{k1}
vpunpckhdq (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vpunpckldq %xmm16, %xmm17, %xmm19
vpunpckldq (%rax), %xmm17, %xmm19
vpunpckldq (%rax){1to4}, %xmm17, %xmm19
vpunpckldq %xmm16, %xmm17, %xmm19 {k1}
vpunpckldq (%rax), %xmm17, %xmm19 {k1}
vpunpckldq (%rax){1to4}, %xmm17, %xmm19 {k1}
vpunpckldq %xmm16, %xmm17, %xmm19 {z}{k1}
vpunpckldq (%rax), %xmm17, %xmm19 {z}{k1}
vpunpckldq (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
vpunpckldq %ymm16, %ymm17, %ymm19
vpunpckldq (%rax), %ymm17, %ymm19
vpunpckldq (%rax){1to8}, %ymm17, %ymm19
vpunpckldq %ymm16, %ymm17, %ymm19 {k1}
vpunpckldq (%rax), %ymm17, %ymm19 {k1}
vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {k1}
vpunpckldq %ymm16, %ymm17, %ymm19 {z}{k1}
vpunpckldq (%rax), %ymm17, %ymm19 {z}{k1}
vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vshuff32x4 $0, %ymm16, %ymm17, %ymm19
vshuff32x4 $0, (%rax), %ymm17, %ymm19
vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19
vshuff32x4 $0, %ymm16, %ymm17, %ymm19 {k1}
vshuff32x4 $0, (%rax), %ymm17, %ymm19 {k1}
vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {k1}
vshuff32x4 $0, %ymm16, %ymm17, %ymm19 {z}{k1}
vshuff32x4 $0, (%rax), %ymm17, %ymm19 {z}{k1}
vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vshuff64x2 $0, %ymm16, %ymm17, %ymm19
vshuff64x2 $0, (%rax), %ymm17, %ymm19
vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19
vshuff64x2 $0, %ymm16, %ymm17, %ymm19 {k1}
vshuff64x2 $0, (%rax), %ymm17, %ymm19 {k1}
vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {k1}
vshuff64x2 $0, %ymm16, %ymm17, %ymm19 {z}{k1}
vshuff64x2 $0, (%rax), %ymm17, %ymm19 {z}{k1}
vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
vshufi32x4 $0, %ymm16, %ymm17, %ymm19
vshufi32x4 $0, (%rax), %ymm17, %ymm19
vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19
vshufi32x4 $0, %ymm16, %ymm17, %ymm19 {k1}
vshufi32x4 $0, (%rax), %ymm17, %ymm19 {k1}
vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {k1}
vshufi32x4 $0, %ymm16, %ymm17, %ymm19 {z}{k1}
vshufi32x4 $0, (%rax), %ymm17, %ymm19 {z}{k1}
vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vshufi64x2 $0, %ymm16, %ymm17, %ymm19
vshufi64x2 $0, (%rax), %ymm17, %ymm19
vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19
vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {k1}
vshufi64x2 $0, (%rax), %ymm17, %ymm19 {k1}
vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {k1}
vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {z}{k1}
vshufi64x2 $0, (%rax), %ymm17, %ymm19 {z}{k1}
vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
vsubpd %xmm16, %xmm17, %xmm19
vsubpd (%rax), %xmm17, %xmm19
vsubpd (%rax){1to2}, %xmm17, %xmm19
@ -161,6 +401,86 @@ vsubps %ymm16, %ymm17, %ymm19 {z}{k1}
vsubps (%rax), %ymm17, %ymm19 {z}{k1}
vsubps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vunpckhpd %xmm16, %xmm17, %xmm19
vunpckhpd (%rax), %xmm17, %xmm19
vunpckhpd (%rax){1to2}, %xmm17, %xmm19
vunpckhpd %xmm16, %xmm17, %xmm19 {k1}
vunpckhpd (%rax), %xmm17, %xmm19 {k1}
vunpckhpd (%rax){1to2}, %xmm17, %xmm19 {k1}
vunpckhpd %xmm16, %xmm17, %xmm19 {z}{k1}
vunpckhpd (%rax), %xmm17, %xmm19 {z}{k1}
vunpckhpd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
vunpckhpd %ymm16, %ymm17, %ymm19
vunpckhpd (%rax), %ymm17, %ymm19
vunpckhpd (%rax){1to4}, %ymm17, %ymm19
vunpckhpd %ymm16, %ymm17, %ymm19 {k1}
vunpckhpd (%rax), %ymm17, %ymm19 {k1}
vunpckhpd (%rax){1to4}, %ymm17, %ymm19 {k1}
vunpckhpd %ymm16, %ymm17, %ymm19 {z}{k1}
vunpckhpd (%rax), %ymm17, %ymm19 {z}{k1}
vunpckhpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
vunpckhps %xmm16, %xmm17, %xmm19
vunpckhps (%rax), %xmm17, %xmm19
vunpckhps (%rax){1to4}, %xmm17, %xmm19
vunpckhps %xmm16, %xmm17, %xmm19 {k1}
vunpckhps (%rax), %xmm17, %xmm19 {k1}
vunpckhps (%rax){1to4}, %xmm17, %xmm19 {k1}
vunpckhps %xmm16, %xmm17, %xmm19 {z}{k1}
vunpckhps (%rax), %xmm17, %xmm19 {z}{k1}
vunpckhps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
vunpckhps %ymm16, %ymm17, %ymm19
vunpckhps (%rax), %ymm17, %ymm19
vunpckhps (%rax){1to8}, %ymm17, %ymm19
vunpckhps %ymm16, %ymm17, %ymm19 {k1}
vunpckhps (%rax), %ymm17, %ymm19 {k1}
vunpckhps (%rax){1to8}, %ymm17, %ymm19 {k1}
vunpckhps %ymm16, %ymm17, %ymm19 {z}{k1}
vunpckhps (%rax), %ymm17, %ymm19 {z}{k1}
vunpckhps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
vunpcklpd %xmm16, %xmm17, %xmm19
vunpcklpd (%rax), %xmm17, %xmm19
vunpcklpd (%rax){1to2}, %xmm17, %xmm19
vunpcklpd %xmm16, %xmm17, %xmm19 {k1}
vunpcklpd (%rax), %xmm17, %xmm19 {k1}
vunpcklpd (%rax){1to2}, %xmm17, %xmm19 {k1}
vunpcklpd %xmm16, %xmm17, %xmm19 {z}{k1}
vunpcklpd (%rax), %xmm17, %xmm19 {z}{k1}
vunpcklpd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
vunpcklpd %ymm16, %ymm17, %ymm19
vunpcklpd (%rax), %ymm17, %ymm19
vunpcklpd (%rax){1to4}, %ymm17, %ymm19
vunpcklpd %ymm16, %ymm17, %ymm19 {k1}
vunpcklpd (%rax), %ymm17, %ymm19 {k1}
vunpcklpd (%rax){1to4}, %ymm17, %ymm19 {k1}
vunpcklpd %ymm16, %ymm17, %ymm19 {z}{k1}
vunpcklpd (%rax), %ymm17, %ymm19 {z}{k1}
vunpcklpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
vunpcklps %xmm16, %xmm17, %xmm19
vunpcklps (%rax), %xmm17, %xmm19
vunpcklps (%rax){1to4}, %xmm17, %xmm19
vunpcklps %xmm16, %xmm17, %xmm19 {k1}
vunpcklps (%rax), %xmm17, %xmm19 {k1}
vunpcklps (%rax){1to4}, %xmm17, %xmm19 {k1}
vunpcklps %xmm16, %xmm17, %xmm19 {z}{k1}
vunpcklps (%rax), %xmm17, %xmm19 {z}{k1}
vunpcklps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
vunpcklps %ymm16, %ymm17, %ymm19
vunpcklps (%rax), %ymm17, %ymm19
vunpcklps (%rax){1to8}, %ymm17, %ymm19
vunpcklps %ymm16, %ymm17, %ymm19 {k1}
vunpcklps (%rax), %ymm17, %ymm19 {k1}
vunpcklps (%rax){1to8}, %ymm17, %ymm19 {k1}
vunpcklps %ymm16, %ymm17, %ymm19 {z}{k1}
vunpcklps (%rax), %ymm17, %ymm19 {z}{k1}
vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -278,6 +598,222 @@ vsubps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 4 0.50 vmulps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vmulps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vmulps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpermd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpermd (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: 1 3 1.00 vpermd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermd (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpermd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilpd $0, %xmm16, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpermilpd $0, (%rax), %xmm19
# CHECK-NEXT: 2 7 1.00 * vpermilpd $0, (%rax){1to2}, %xmm19
# CHECK-NEXT: 1 1 1.00 vpermilpd $0, %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpermilpd $0, (%rax), %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpermilpd $0, (%rax){1to2}, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilpd $0, %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpermilpd $0, (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpermilpd $0, (%rax){1to2}, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilpd $0, %ymm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax), %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax){1to4}, %ymm19
# CHECK-NEXT: 1 1 1.00 vpermilpd $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax){1to4}, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilpd $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilpd $0, (%rax){1to4}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpermilpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpermilpd (%rax){1to2}, %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vpermilpd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpermilpd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpermilpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilpd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpermilpd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpermilpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilpd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpermilpd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilps $0, %xmm16, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpermilps $0, (%rax), %xmm19
# CHECK-NEXT: 2 7 1.00 * vpermilps $0, (%rax){1to4}, %xmm19
# CHECK-NEXT: 1 1 1.00 vpermilps $0, %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpermilps $0, (%rax), %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpermilps $0, (%rax){1to4}, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilps $0, %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpermilps $0, (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpermilps $0, (%rax){1to4}, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilps $0, %ymm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax), %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax){1to8}, %ymm19
# CHECK-NEXT: 1 1 1.00 vpermilps $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax){1to8}, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilps $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilps $0, (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilps %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpermilps (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpermilps (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vpermilps %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpermilps (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpermilps (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilps %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpermilps (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpermilps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermilps %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpermilps %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermilps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermilps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpermpd $0, %ymm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpermpd $0, (%rax), %ymm19
# CHECK-NEXT: 2 10 1.00 * vpermpd $0, (%rax){1to4}, %ymm19
# CHECK-NEXT: 1 3 1.00 vpermpd $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermpd $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermpd $0, (%rax){1to4}, %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpermpd $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermpd $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermpd $0, (%rax){1to4}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpermpd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpermpd (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpermpd (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: 1 3 1.00 vpermpd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermpd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpermpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpermps %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpermps (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpermps (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: 1 3 1.00 vpermps %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermps (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermps (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpermps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpermq $0, %ymm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpermq $0, (%rax), %ymm19
# CHECK-NEXT: 2 10 1.00 * vpermq $0, (%rax){1to4}, %ymm19
# CHECK-NEXT: 1 3 1.00 vpermq $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermq $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermq $0, (%rax){1to4}, %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpermq $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermq $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermq $0, (%rax){1to4}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpermq %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpermq (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpermq (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: 1 3 1.00 vpermq %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermq (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpermq (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpermq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %xmm16, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpshufd $0, (%rax), %xmm19
# CHECK-NEXT: 2 7 1.00 * vpshufd $0, (%rax){1to4}, %xmm19
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpshufd $0, (%rax), %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpshufd $0, (%rax){1to4}, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpshufd $0, (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpshufd $0, (%rax){1to4}, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %ymm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax), %ymm19
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax){1to8}, %ymm19
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax){1to8}, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhdq %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpunpckhdq (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpunpckhdq (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vpunpckhdq %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpunpckhdq (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpunpckhdq (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckhdq %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpunpckhdq (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpunpckhdq (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckldq %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpunpckldq (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpunpckldq (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vpunpckldq %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpunpckldq (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpunpckldq (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckldq %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpunpckldq (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpunpckldq (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vshuff32x4 $0, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 10 1.00 * vshuff32x4 $0, (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 10 1.00 * vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: 1 3 1.00 vshuff32x4 $0, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vshuff32x4 $0, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vshuff32x4 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshuff32x4 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vshuff64x2 $0, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 10 1.00 * vshuff64x2 $0, (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 10 1.00 * vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: 1 3 1.00 vshuff64x2 $0, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vshuff64x2 $0, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vshuff64x2 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshuff64x2 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vshufi32x4 $0, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 10 1.00 * vshufi32x4 $0, (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 10 1.00 * vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: 1 3 1.00 vshufi32x4 $0, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vshufi32x4 $0, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vshufi32x4 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshufi32x4 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vshufi64x2 $0, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 10 1.00 * vshufi64x2 $0, (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 10 1.00 * vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: 1 3 1.00 vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vshufi64x2 $0, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshufi64x2 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 4 0.50 vsubpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 10 0.50 * vsubpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 10 0.50 * vsubpd (%rax){1to2}, %xmm17, %xmm19
@ -314,6 +850,78 @@ vsubps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 4 0.50 vsubps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vsubps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vsubps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpckhpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vunpckhpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vunpckhpd (%rax){1to2}, %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vunpckhpd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vunpckhpd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vunpckhpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpckhpd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vunpckhpd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vunpckhpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpckhpd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vunpckhpd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpckhpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpckhpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpckhps %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vunpckhps (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vunpckhps (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vunpckhps %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vunpckhps (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vunpckhps (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpckhps %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vunpckhps (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vunpckhps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpckhps %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vunpckhps %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpckhps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpckhps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpcklpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vunpcklpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vunpcklpd (%rax){1to2}, %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vunpcklpd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vunpcklpd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vunpcklpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpcklpd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vunpcklpd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vunpcklpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpcklpd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vunpcklpd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpcklpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpcklpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpcklps %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vunpcklps (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vunpcklps (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vunpcklps %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vunpcklps (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vunpcklps (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpcklps %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vunpcklps (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vunpcklps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vunpcklps %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vunpcklps %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vunpcklps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vunpcklps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK: Resources:
# CHECK-NEXT: [0] - SKXDivider
@ -329,7 +937,7 @@ vsubps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
# CHECK-NEXT: - 180.00 90.00 54.00 48.00 48.00 - - - -
# CHECK-NEXT: - 180.00 90.00 54.00 144.00 144.00 - 288.00 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@ -441,6 +1049,222 @@ vsubps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $0, %xmm16, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $0, (%rax), %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $0, (%rax){1to2}, %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $0, %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $0, (%rax), %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $0, (%rax){1to2}, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $0, %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $0, (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $0, (%rax){1to2}, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $0, %ymm16, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $0, (%rax), %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $0, (%rax){1to4}, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $0, (%rax){1to4}, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $0, (%rax){1to4}, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax){1to2}, %xmm17, %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $0, %xmm16, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $0, (%rax), %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $0, (%rax){1to4}, %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $0, %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $0, (%rax), %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $0, (%rax){1to4}, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $0, %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $0, (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $0, (%rax){1to4}, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $0, %ymm16, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $0, (%rax), %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $0, (%rax){1to8}, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $0, (%rax){1to8}, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $0, (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $0, %ymm16, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $0, (%rax), %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $0, (%rax){1to4}, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $0, (%rax){1to4}, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $0, (%rax){1to4}, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $0, %ymm16, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $0, (%rax), %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $0, (%rax){1to4}, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $0, (%rax){1to4}, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $0, (%rax){1to4}, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermq %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpermq %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $0, %xmm16, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax), %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax){1to4}, %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $0, %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax), %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax){1to4}, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $0, %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax){1to4}, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $0, %ymm16, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax), %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax){1to8}, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $0, %ymm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax){1to8}, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vshuff32x4 $0, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff32x4 $0, (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vshuff32x4 $0, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff32x4 $0, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vshuff32x4 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff32x4 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vshuff64x2 $0, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff64x2 $0, (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vshuff64x2 $0, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff64x2 $0, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vshuff64x2 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff64x2 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vshufi32x4 $0, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi32x4 $0, (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vshufi32x4 $0, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi32x4 $0, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vshufi32x4 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi32x4 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vshufi64x2 $0, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi64x2 $0, (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi64x2 $0, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi64x2 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 - - - - - - vsubpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vsubpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vsubpd (%rax){1to2}, %xmm17, %xmm19
@ -477,3 +1301,75 @@ vsubps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - 0.50 0.50 - - - - - - vsubps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vsubps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vsubps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax){1to2}, %xmm17, %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax){1to2}, %xmm17, %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax){1to4}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax){1to4}, %xmm17, %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax){1to4}, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax){1to8}, %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax){1to8}, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}