OSDN Git Service

[LLVM-MCA][X86] Add some AVX512 tests
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 30 Sep 2018 17:01:59 +0000 (17:01 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 30 Sep 2018 17:01:59 +0000 (17:01 +0000)
These are going to be necessary to check I don't mess up when I start cleaning up all the remaining vector integer overrides

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@343414 91177308-0d34-0410-b5e6-96231b3b80d8

test/tools/llvm-mca/X86/Generic/resources-avx512.s
test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s [new file with mode: 0644]
test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s [new file with mode: 0644]

index 6c6d347..b5d40ed 100644 (file)
@@ -43,6 +43,76 @@ vmulps            (%rax), %zmm17, %zmm19 {k1}
 vmulps            %zmm16, %zmm17, %zmm19 {z}{k1}
 vmulps            (%rax), %zmm17, %zmm19 {z}{k1}
 
+vpabsd            %zmm16, %zmm19
+vpabsd            (%rax), %zmm19
+vpabsd            %zmm16, %zmm19 {k1}
+vpabsd            (%rax), %zmm19 {k1}
+vpabsd            %zmm16, %zmm19 {z}{k1}
+vpabsd            (%rax), %zmm19 {z}{k1}
+
+vpabsq            %zmm16, %zmm19
+vpabsq            (%rax), %zmm19
+vpabsq            %zmm16, %zmm19 {k1}
+vpabsq            (%rax), %zmm19 {k1}
+vpabsq            %zmm16, %zmm19 {z}{k1}
+vpabsq            (%rax), %zmm19 {z}{k1}
+
+vpaddb            %zmm16, %zmm17, %zmm19
+vpaddb            (%rax), %zmm17, %zmm19
+vpaddb            %zmm16, %zmm17, %zmm19 {k1}
+vpaddb            (%rax), %zmm17, %zmm19 {k1}
+vpaddb            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddb            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpaddd            %zmm16, %zmm17, %zmm19
+vpaddd            (%rax), %zmm17, %zmm19
+vpaddd            %zmm16, %zmm17, %zmm19 {k1}
+vpaddd            (%rax), %zmm17, %zmm19 {k1}
+vpaddd            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddd            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpaddq            %zmm16, %zmm17, %zmm19
+vpaddq            (%rax), %zmm17, %zmm19
+vpaddq            %zmm16, %zmm17, %zmm19 {k1}
+vpaddq            (%rax), %zmm17, %zmm19 {k1}
+vpaddq            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddq            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpaddw            %zmm16, %zmm17, %zmm19
+vpaddw            (%rax), %zmm17, %zmm19
+vpaddw            %zmm16, %zmm17, %zmm19 {k1}
+vpaddw            (%rax), %zmm17, %zmm19 {k1}
+vpaddw            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddw            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsubb            %zmm16, %zmm17, %zmm19
+vpsubb            (%rax), %zmm17, %zmm19
+vpsubb            %zmm16, %zmm17, %zmm19 {k1}
+vpsubb            (%rax), %zmm17, %zmm19 {k1}
+vpsubb            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubb            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsubd            %zmm16, %zmm17, %zmm19
+vpsubd            (%rax), %zmm17, %zmm19
+vpsubd            %zmm16, %zmm17, %zmm19 {k1}
+vpsubd            (%rax), %zmm17, %zmm19 {k1}
+vpsubd            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubd            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsubq            %zmm16, %zmm17, %zmm19
+vpsubq            (%rax), %zmm17, %zmm19
+vpsubq            %zmm16, %zmm17, %zmm19 {k1}
+vpsubq            (%rax), %zmm17, %zmm19 {k1}
+vpsubq            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubq            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsubw            %zmm16, %zmm17, %zmm19
+vpsubw            (%rax), %zmm17, %zmm19
+vpsubw            %zmm16, %zmm17, %zmm19 {k1}
+vpsubw            (%rax), %zmm17, %zmm19 {k1}
+vpsubw            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubw            (%rax), %zmm17, %zmm19 {z}{k1}
+
 vsubpd            %zmm16, %zmm17, %zmm19
 vsubpd            (%rax), %zmm17, %zmm19
 vsubpd            %zmm16, %zmm17, %zmm19 {k1}
@@ -102,6 +172,66 @@ vsubps            (%rax), %zmm17, %zmm19 {z}{k1}
 # CHECK-NEXT:  2      12    1.00    *                   vmulps (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  1      5     1.00                        vmulps %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      12    1.00    *                   vmulps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpabsd %zmm16, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpabsd (%rax), %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpabsd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpabsd (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpabsd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpabsd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpabsq %zmm16, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpabsq (%rax), %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpabsq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpabsq (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpabsq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpabsq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddb (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddd (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddq (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddq (%rax), %zmm17, %zmm19 {%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:  1      1     0.50                        vpaddw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddw %zmm16, %zmm17, %zmm19 {%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     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}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubb (%rax), %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:  1      1     0.50                        vpsubd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubq (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpsubq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpsubw %zmm16, %zmm17, %zmm19 {%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      3     1.00                        vsubpd %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      10    1.00    *                   vsubpd (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      3     1.00                        vsubpd %zmm16, %zmm17, %zmm19 {%k1}
@@ -127,7 +257,7 @@ vsubps            (%rax), %zmm17, %zmm19 {z}{k1}
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -     432.00 42.00  24.00   -     6.00   12.00  12.00
+# CHECK-NEXT:  -     432.00 42.00  54.00   -     36.00  27.00  27.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
@@ -167,6 +297,66 @@ vsubps            (%rax), %zmm17, %zmm19 {z}{k1}
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vmulps   (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vmulps   %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vmulps   (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsd   %zmm16, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsd   (%rax), %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsd   %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsd   (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsd   %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsd   (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsq   %zmm16, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsq   (%rax), %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsq   %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsq   (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsq   %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsq   (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddb   %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddb   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddb   %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddb   (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddb   %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddb   (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddd   %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddd   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddd   %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddd   (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddd   %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddd   (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddq   %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddq   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddq   %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddq   (%rax), %zmm17, %zmm19 {%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    -      -     vpaddw   %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddw   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddw   %zmm16, %zmm17, %zmm19 {%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:  -      -      -     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}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubb   (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubb   %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubb   (%rax), %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    -      -     vpsubd   %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubd   (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubd   %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubd   (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubq   %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubq   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubq   %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubq   (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubq   %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubq   (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubw   %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubw   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubw   %zmm16, %zmm17, %zmm19 {%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    -      -      -      -     vsubpd   %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vsubpd   (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vsubpd   %zmm16, %zmm17, %zmm19 {%k1}
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
new file mode 100644 (file)
index 0000000..a941c0a
--- /dev/null
@@ -0,0 +1,373 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 -instruction-tables < %s | FileCheck %s
+
+vaddpd            %zmm16, %zmm17, %zmm19
+vaddpd            (%rax), %zmm17, %zmm19
+vaddpd            %zmm16, %zmm17, %zmm19 {k1}
+vaddpd            (%rax), %zmm17, %zmm19 {k1}
+vaddpd            %zmm16, %zmm17, %zmm19 {z}{k1}
+vaddpd            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vaddps            %zmm16, %zmm17, %zmm19
+vaddps            (%rax), %zmm17, %zmm19
+vaddps            %zmm16, %zmm17, %zmm19 {k1}
+vaddps            (%rax), %zmm17, %zmm19 {k1}
+vaddps            %zmm16, %zmm17, %zmm19 {z}{k1}
+vaddps            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vdivpd            %zmm16, %zmm17, %zmm19
+vdivpd            (%rax), %zmm17, %zmm19
+vdivpd            %zmm16, %zmm17, %zmm19 {k1}
+vdivpd            (%rax), %zmm17, %zmm19 {k1}
+vdivpd            %zmm16, %zmm17, %zmm19 {z}{k1}
+vdivpd            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vdivps            %zmm16, %zmm17, %zmm19
+vdivps            (%rax), %zmm17, %zmm19
+vdivps            %zmm16, %zmm17, %zmm19 {k1}
+vdivps            (%rax), %zmm17, %zmm19 {k1}
+vdivps            %zmm16, %zmm17, %zmm19 {z}{k1}
+vdivps            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vmulpd            %zmm16, %zmm17, %zmm19
+vmulpd            (%rax), %zmm17, %zmm19
+vmulpd            %zmm16, %zmm17, %zmm19 {k1}
+vmulpd            (%rax), %zmm17, %zmm19 {k1}
+vmulpd            %zmm16, %zmm17, %zmm19 {z}{k1}
+vmulpd            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vmulps            %zmm16, %zmm17, %zmm19
+vmulps            (%rax), %zmm17, %zmm19
+vmulps            %zmm16, %zmm17, %zmm19 {k1}
+vmulps            (%rax), %zmm17, %zmm19 {k1}
+vmulps            %zmm16, %zmm17, %zmm19 {z}{k1}
+vmulps            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpabsd            %zmm16, %zmm19
+vpabsd            (%rax), %zmm19
+vpabsd            %zmm16, %zmm19 {k1}
+vpabsd            (%rax), %zmm19 {k1}
+vpabsd            %zmm16, %zmm19 {z}{k1}
+vpabsd            (%rax), %zmm19 {z}{k1}
+
+vpabsq            %zmm16, %zmm19
+vpabsq            (%rax), %zmm19
+vpabsq            %zmm16, %zmm19 {k1}
+vpabsq            (%rax), %zmm19 {k1}
+vpabsq            %zmm16, %zmm19 {z}{k1}
+vpabsq            (%rax), %zmm19 {z}{k1}
+
+vpaddb            %zmm16, %zmm17, %zmm19
+vpaddb            (%rax), %zmm17, %zmm19
+vpaddb            %zmm16, %zmm17, %zmm19 {k1}
+vpaddb            (%rax), %zmm17, %zmm19 {k1}
+vpaddb            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddb            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpaddd            %zmm16, %zmm17, %zmm19
+vpaddd            (%rax), %zmm17, %zmm19
+vpaddd            %zmm16, %zmm17, %zmm19 {k1}
+vpaddd            (%rax), %zmm17, %zmm19 {k1}
+vpaddd            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddd            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpaddq            %zmm16, %zmm17, %zmm19
+vpaddq            (%rax), %zmm17, %zmm19
+vpaddq            %zmm16, %zmm17, %zmm19 {k1}
+vpaddq            (%rax), %zmm17, %zmm19 {k1}
+vpaddq            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddq            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpaddw            %zmm16, %zmm17, %zmm19
+vpaddw            (%rax), %zmm17, %zmm19
+vpaddw            %zmm16, %zmm17, %zmm19 {k1}
+vpaddw            (%rax), %zmm17, %zmm19 {k1}
+vpaddw            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddw            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsubb            %zmm16, %zmm17, %zmm19
+vpsubb            (%rax), %zmm17, %zmm19
+vpsubb            %zmm16, %zmm17, %zmm19 {k1}
+vpsubb            (%rax), %zmm17, %zmm19 {k1}
+vpsubb            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubb            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsubd            %zmm16, %zmm17, %zmm19
+vpsubd            (%rax), %zmm17, %zmm19
+vpsubd            %zmm16, %zmm17, %zmm19 {k1}
+vpsubd            (%rax), %zmm17, %zmm19 {k1}
+vpsubd            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubd            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsubq            %zmm16, %zmm17, %zmm19
+vpsubq            (%rax), %zmm17, %zmm19
+vpsubq            %zmm16, %zmm17, %zmm19 {k1}
+vpsubq            (%rax), %zmm17, %zmm19 {k1}
+vpsubq            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubq            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsubw            %zmm16, %zmm17, %zmm19
+vpsubw            (%rax), %zmm17, %zmm19
+vpsubw            %zmm16, %zmm17, %zmm19 {k1}
+vpsubw            (%rax), %zmm17, %zmm19 {k1}
+vpsubw            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubw            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vsubpd            %zmm16, %zmm17, %zmm19
+vsubpd            (%rax), %zmm17, %zmm19
+vsubpd            %zmm16, %zmm17, %zmm19 {k1}
+vsubpd            (%rax), %zmm17, %zmm19 {k1}
+vsubpd            %zmm16, %zmm17, %zmm19 {z}{k1}
+vsubpd            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vsubps            %zmm16, %zmm17, %zmm19
+vsubps            (%rax), %zmm17, %zmm19
+vsubps            %zmm16, %zmm17, %zmm19 {k1}
+vsubps            (%rax), %zmm17, %zmm19 {k1}
+vsubps            %zmm16, %zmm17, %zmm19 {z}{k1}
+vsubps            (%rax), %zmm17, %zmm19 {z}{k1}
+
+# CHECK:      Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects (U)
+
+# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
+# CHECK-NEXT:  1      4     0.50                        vaddpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      11    0.50    *                   vaddpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      4     0.50                        vaddpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vaddpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      4     0.50                        vaddpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vaddpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      4     0.50                        vaddps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      11    0.50    *                   vaddps (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      4     0.50                        vaddps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vaddps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      4     0.50                        vaddps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vaddps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  3      23    16.00                       vdivpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  4      30    16.00   *                   vdivpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  3      23    16.00                       vdivpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  4      30    16.00   *                   vdivpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  3      23    16.00                       vdivpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  4      30    16.00   *                   vdivpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  3      18    10.00                       vdivps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  4      25    10.00   *                   vdivps (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  3      18    10.00                       vdivps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  4      25    10.00   *                   vdivps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  3      18    10.00                       vdivps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  4      25    10.00   *                   vdivps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      4     0.50                        vmulpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      11    0.50    *                   vmulpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      4     0.50                        vmulpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vmulpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      4     0.50                        vmulpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vmulpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      4     0.50                        vmulps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      11    0.50    *                   vmulps (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      4     0.50                        vmulps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vmulps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      4     0.50                        vmulps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vmulps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpabsd %zmm16, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpabsd (%rax), %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpabsd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpabsd (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpabsd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpabsd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpabsq %zmm16, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpabsq (%rax), %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpabsq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpabsq (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpabsq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpabsq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.33                        vpaddb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddb (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.33                        vpaddb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.33                        vpaddb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.33                        vpaddd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddd (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.33                        vpaddd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.33                        vpaddd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.33                        vpaddq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddq (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.33                        vpaddq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddq (%rax), %zmm17, %zmm19 {%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:  1      1     0.33                        vpaddw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.33                        vpaddw %zmm16, %zmm17, %zmm19 {%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:  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}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.33                        vpsubb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubb (%rax), %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:  1      1     0.33                        vpsubd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.33                        vpsubd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.33                        vpsubq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubq (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.33                        vpsubq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.33                        vpsubq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.33                        vpsubw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.33                        vpsubw %zmm16, %zmm17, %zmm19 {%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      4     0.50                        vsubpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      11    0.50    *                   vsubpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      4     0.50                        vsubpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vsubpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      4     0.50                        vsubpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vsubpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      4     0.50                        vsubps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      11    0.50    *                   vsubps (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      4     0.50                        vsubps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vsubps (%rax), %zmm17, %zmm19 {%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:      Resources:
+# CHECK-NEXT: [0]   - SKXDivider
+# CHECK-NEXT: [1]   - SKXFPDivider
+# CHECK-NEXT: [2]   - SKXPort0
+# CHECK-NEXT: [3]   - SKXPort1
+# CHECK-NEXT: [4]   - SKXPort2
+# CHECK-NEXT: [5]   - SKXPort3
+# CHECK-NEXT: [6]   - SKXPort4
+# CHECK-NEXT: [7]   - SKXPort5
+# CHECK-NEXT: [8]   - SKXPort6
+# CHECK-NEXT: [9]   - SKXPort7
+
+# CHECK:      Resource pressure per iteration:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
+# CHECK-NEXT:  -     156.00 70.00  16.00  27.00  27.00   -     46.00   -      -
+
+# CHECK:      Resource pressure by instruction:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vaddpd     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vaddpd     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vaddpd     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vaddpd     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vaddpd     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vaddpd     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vaddps     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vaddps     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vaddps     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vaddps     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vaddps     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vaddps     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -     16.00  2.00    -      -      -      -     1.00    -      -     vdivpd     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -     16.00  2.00    -     0.50   0.50    -     1.00    -      -     vdivpd     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -     16.00  2.00    -      -      -      -     1.00    -      -     vdivpd     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -     16.00  2.00    -     0.50   0.50    -     1.00    -      -     vdivpd     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -     16.00  2.00    -      -      -      -     1.00    -      -     vdivpd     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -     16.00  2.00    -     0.50   0.50    -     1.00    -      -     vdivpd     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -     10.00  2.00    -      -      -      -     1.00    -      -     vdivps     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -     10.00  2.00    -     0.50   0.50    -     1.00    -      -     vdivps     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -     10.00  2.00    -      -      -      -     1.00    -      -     vdivps     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -     10.00  2.00    -     0.50   0.50    -     1.00    -      -     vdivps     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -     10.00  2.00    -      -      -      -     1.00    -      -     vdivps     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -     10.00  2.00    -     0.50   0.50    -     1.00    -      -     vdivps     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vmulpd     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vmulpd     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vmulpd     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vmulpd     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vmulpd     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vmulpd     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vmulps     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vmulps     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vmulps     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vmulps     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vmulps     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vmulps     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpabsd     %zmm16, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpabsd     (%rax), %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpabsd     %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpabsd     (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpabsd     %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpabsd     (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpabsq     %zmm16, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpabsq     (%rax), %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpabsq     %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpabsq     (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpabsq     %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpabsq     (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpaddb     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpaddb     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpaddb     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpaddb     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpaddb     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpaddb     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpaddd     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpaddd     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpaddd     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpaddd     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpaddd     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpaddd     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpaddq     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpaddq     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpaddq     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpaddq     (%rax), %zmm17, %zmm19 {%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.33    -      -     vpaddw     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpaddw     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpaddw     %zmm16, %zmm17, %zmm19 {%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:  -      -     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}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubb     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubb     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubb     (%rax), %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.33    -      -     vpsubd     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubd     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubd     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubd     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubq     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubq     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubq     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubq     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubq     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubq     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubw     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubw     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubw     %zmm16, %zmm17, %zmm19 {%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:  -      -     0.50    -      -      -      -     0.50    -      -     vsubpd     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vsubpd     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vsubpd     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vsubpd     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vsubpd     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vsubpd     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vsubps     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vsubps     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vsubps     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vsubps     (%rax), %zmm17, %zmm19 {%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}
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
new file mode 100644 (file)
index 0000000..888601a
--- /dev/null
@@ -0,0 +1,335 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 -instruction-tables < %s | FileCheck %s
+
+vaddpd            %xmm16, %xmm17, %xmm19
+vaddpd            (%rax), %xmm17, %xmm19
+vaddpd            %xmm16, %xmm17, %xmm19 {k1}
+vaddpd            (%rax), %xmm17, %xmm19 {k1}
+vaddpd            %xmm16, %xmm17, %xmm19 {z}{k1}
+vaddpd            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vaddpd            %ymm16, %ymm17, %ymm19
+vaddpd            (%rax), %ymm17, %ymm19
+vaddpd            %ymm16, %ymm17, %ymm19 {k1}
+vaddpd            (%rax), %ymm17, %ymm19 {k1}
+vaddpd            %ymm16, %ymm17, %ymm19 {z}{k1}
+vaddpd            (%rax), %ymm17, %ymm19 {z}{k1}
+
+vaddps            %xmm16, %xmm17, %xmm19
+vaddps            (%rax), %xmm17, %xmm19
+vaddps            %xmm16, %xmm17, %xmm19 {k1}
+vaddps            (%rax), %xmm17, %xmm19 {k1}
+vaddps            %xmm16, %xmm17, %xmm19 {z}{k1}
+vaddps            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vaddps            %ymm16, %ymm17, %ymm19
+vaddps            (%rax), %ymm17, %ymm19
+vaddps            %ymm16, %ymm17, %ymm19 {k1}
+vaddps            (%rax), %ymm17, %ymm19 {k1}
+vaddps            %ymm16, %ymm17, %ymm19 {z}{k1}
+vaddps            (%rax), %ymm17, %ymm19 {z}{k1}
+
+vdivpd            %xmm16, %xmm17, %xmm19
+vdivpd            (%rax), %xmm17, %xmm19
+vdivpd            %xmm16, %xmm17, %xmm19 {k1}
+vdivpd            (%rax), %xmm17, %xmm19 {k1}
+vdivpd            %xmm16, %xmm17, %xmm19 {z}{k1}
+vdivpd            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vdivpd            %ymm16, %ymm17, %ymm19
+vdivpd            (%rax), %ymm17, %ymm19
+vdivpd            %ymm16, %ymm17, %ymm19 {k1}
+vdivpd            (%rax), %ymm17, %ymm19 {k1}
+vdivpd            %ymm16, %ymm17, %ymm19 {z}{k1}
+vdivpd            (%rax), %ymm17, %ymm19 {z}{k1}
+
+vdivps            %xmm16, %xmm17, %xmm19
+vdivps            (%rax), %xmm17, %xmm19
+vdivps            %xmm16, %xmm17, %xmm19 {k1}
+vdivps            (%rax), %xmm17, %xmm19 {k1}
+vdivps            %xmm16, %xmm17, %xmm19 {z}{k1}
+vdivps            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vdivps            %ymm16, %ymm17, %ymm19
+vdivps            (%rax), %ymm17, %ymm19
+vdivps            %ymm16, %ymm17, %ymm19 {k1}
+vdivps            (%rax), %ymm17, %ymm19 {k1}
+vdivps            %ymm16, %ymm17, %ymm19 {z}{k1}
+vdivps            (%rax), %ymm17, %ymm19 {z}{k1}
+
+vmulpd            %xmm16, %xmm17, %xmm19
+vmulpd            (%rax), %xmm17, %xmm19
+vmulpd            %xmm16, %xmm17, %xmm19 {k1}
+vmulpd            (%rax), %xmm17, %xmm19 {k1}
+vmulpd            %xmm16, %xmm17, %xmm19 {z}{k1}
+vmulpd            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vmulpd            %ymm16, %ymm17, %ymm19
+vmulpd            (%rax), %ymm17, %ymm19
+vmulpd            %ymm16, %ymm17, %ymm19 {k1}
+vmulpd            (%rax), %ymm17, %ymm19 {k1}
+vmulpd            %ymm16, %ymm17, %ymm19 {z}{k1}
+vmulpd            (%rax), %ymm17, %ymm19 {z}{k1}
+
+vmulps            %xmm16, %xmm17, %xmm19
+vmulps            (%rax), %xmm17, %xmm19
+vmulps            %xmm16, %xmm17, %xmm19 {k1}
+vmulps            (%rax), %xmm17, %xmm19 {k1}
+vmulps            %xmm16, %xmm17, %xmm19 {z}{k1}
+vmulps            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vmulps            %ymm16, %ymm17, %ymm19
+vmulps            (%rax), %ymm17, %ymm19
+vmulps            %ymm16, %ymm17, %ymm19 {k1}
+vmulps            (%rax), %ymm17, %ymm19 {k1}
+vmulps            %ymm16, %ymm17, %ymm19 {z}{k1}
+vmulps            (%rax), %ymm17, %ymm19 {z}{k1}
+
+vsubpd            %xmm16, %xmm17, %xmm19
+vsubpd            (%rax), %xmm17, %xmm19
+vsubpd            %xmm16, %xmm17, %xmm19 {k1}
+vsubpd            (%rax), %xmm17, %xmm19 {k1}
+vsubpd            %xmm16, %xmm17, %xmm19 {z}{k1}
+vsubpd            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vsubpd            %ymm16, %ymm17, %ymm19
+vsubpd            (%rax), %ymm17, %ymm19
+vsubpd            %ymm16, %ymm17, %ymm19 {k1}
+vsubpd            (%rax), %ymm17, %ymm19 {k1}
+vsubpd            %ymm16, %ymm17, %ymm19 {z}{k1}
+vsubpd            (%rax), %ymm17, %ymm19 {z}{k1}
+
+vsubps            %xmm16, %xmm17, %xmm19
+vsubps            (%rax), %xmm17, %xmm19
+vsubps            %xmm16, %xmm17, %xmm19 {k1}
+vsubps            (%rax), %xmm17, %xmm19 {k1}
+vsubps            %xmm16, %xmm17, %xmm19 {z}{k1}
+vsubps            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vsubps            %ymm16, %ymm17, %ymm19
+vsubps            (%rax), %ymm17, %ymm19
+vsubps            %ymm16, %ymm17, %ymm19 {k1}
+vsubps            (%rax), %ymm17, %ymm19 {k1}
+vsubps            %ymm16, %ymm17, %ymm19 {z}{k1}
+vsubps            (%rax), %ymm17, %ymm19 {z}{k1}
+
+# CHECK:      Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects (U)
+
+# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
+# CHECK-NEXT:  1      4     0.50                        vaddpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      10    0.50    *                   vaddpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      4     0.50                        vaddpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      10    0.50    *                   vaddpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      4     0.50                        vaddpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      10    0.50    *                   vaddpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      4     0.50                        vaddpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      11    0.50    *                   vaddpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      4     0.50                        vaddpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vaddpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      4     0.50                        vaddpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vaddpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      4     0.50                        vaddps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      10    0.50    *                   vaddps (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      4     0.50                        vaddps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      10    0.50    *                   vaddps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      4     0.50                        vaddps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      10    0.50    *                   vaddps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      4     0.50                        vaddps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      11    0.50    *                   vaddps (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      4     0.50                        vaddps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vaddps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      4     0.50                        vaddps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vaddps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      14    3.00                        vdivpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      20    4.00    *                   vdivpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      14    3.00                        vdivpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      20    4.00    *                   vdivpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      14    3.00                        vdivpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      20    4.00    *                   vdivpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      14    5.00                        vdivpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      21    8.00    *                   vdivpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      14    5.00                        vdivpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      21    8.00    *                   vdivpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      14    5.00                        vdivpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      21    8.00    *                   vdivpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      11    3.00                        vdivps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      17    5.00    *                   vdivps (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      11    3.00                        vdivps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      17    5.00    *                   vdivps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      11    3.00                        vdivps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      17    5.00    *                   vdivps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      11    5.00                        vdivps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      18    5.00    *                   vdivps (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      11    5.00                        vdivps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      18    5.00    *                   vdivps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      11    5.00                        vdivps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      18    5.00    *                   vdivps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      4     0.50                        vmulpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      10    0.50    *                   vmulpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      4     0.50                        vmulpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      10    0.50    *                   vmulpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      4     0.50                        vmulpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      10    0.50    *                   vmulpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      4     0.50                        vmulpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      11    0.50    *                   vmulpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      4     0.50                        vmulpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vmulpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      4     0.50                        vmulpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vmulpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      4     0.50                        vmulps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      10    0.50    *                   vmulps (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      4     0.50                        vmulps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      10    0.50    *                   vmulps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      4     0.50                        vmulps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      10    0.50    *                   vmulps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      4     0.50                        vmulps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      11    0.50    *                   vmulps (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      4     0.50                        vmulps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vmulps (%rax), %ymm17, %ymm19 {%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:  1      4     0.50                        vsubpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      10    0.50    *                   vsubpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      4     0.50                        vsubpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      10    0.50    *                   vsubpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      4     0.50                        vsubpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      10    0.50    *                   vsubpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      4     0.50                        vsubpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      11    0.50    *                   vsubpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      4     0.50                        vsubpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vsubpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      4     0.50                        vsubpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vsubpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      4     0.50                        vsubps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      10    0.50    *                   vsubps (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      4     0.50                        vsubps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      10    0.50    *                   vsubps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      4     0.50                        vsubps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      10    0.50    *                   vsubps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      4     0.50                        vsubps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      11    0.50    *                   vsubps (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      4     0.50                        vsubps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vsubps (%rax), %ymm17, %ymm19 {%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:      Resources:
+# CHECK-NEXT: [0]   - SKXDivider
+# CHECK-NEXT: [1]   - SKXFPDivider
+# CHECK-NEXT: [2]   - SKXPort0
+# CHECK-NEXT: [3]   - SKXPort1
+# CHECK-NEXT: [4]   - SKXPort2
+# CHECK-NEXT: [5]   - SKXPort3
+# CHECK-NEXT: [6]   - SKXPort4
+# CHECK-NEXT: [7]   - SKXPort5
+# CHECK-NEXT: [8]   - SKXPort6
+# CHECK-NEXT: [9]   - SKXPort7
+
+# CHECK:      Resource pressure per iteration:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
+# CHECK-NEXT:  -     114.00 60.00  36.00  24.00  24.00   -      -      -      -
+
+# CHECK:      Resource pressure by instruction:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vaddpd     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vaddpd     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vaddpd     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vaddpd     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vaddpd     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vaddpd     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vaddpd     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vaddpd     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vaddpd     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vaddpd     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vaddpd     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vaddpd     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vaddps     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vaddps     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vaddps     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vaddps     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vaddps     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vaddps     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vaddps     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vaddps     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vaddps     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vaddps     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vaddps     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vaddps     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -     3.00   1.00    -      -      -      -      -      -      -     vdivpd     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -     4.00   1.00    -     0.50   0.50    -      -      -      -     vdivpd     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -     3.00   1.00    -      -      -      -      -      -      -     vdivpd     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -     4.00   1.00    -     0.50   0.50    -      -      -      -     vdivpd     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -     3.00   1.00    -      -      -      -      -      -      -     vdivpd     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -     4.00   1.00    -     0.50   0.50    -      -      -      -     vdivpd     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -     5.00   1.00    -      -      -      -      -      -      -     vdivpd     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -     8.00   1.00    -     0.50   0.50    -      -      -      -     vdivpd     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -     5.00   1.00    -      -      -      -      -      -      -     vdivpd     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -     8.00   1.00    -     0.50   0.50    -      -      -      -     vdivpd     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -     5.00   1.00    -      -      -      -      -      -      -     vdivpd     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -     8.00   1.00    -     0.50   0.50    -      -      -      -     vdivpd     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -     3.00   1.00    -      -      -      -      -      -      -     vdivps     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -     5.00   1.00    -     0.50   0.50    -      -      -      -     vdivps     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -     3.00   1.00    -      -      -      -      -      -      -     vdivps     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -     5.00   1.00    -     0.50   0.50    -      -      -      -     vdivps     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -     3.00   1.00    -      -      -      -      -      -      -     vdivps     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -     5.00   1.00    -     0.50   0.50    -      -      -      -     vdivps     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -     5.00   1.00    -      -      -      -      -      -      -     vdivps     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -     5.00   1.00    -     0.50   0.50    -      -      -      -     vdivps     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -     5.00   1.00    -      -      -      -      -      -      -     vdivps     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -     5.00   1.00    -     0.50   0.50    -      -      -      -     vdivps     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -     5.00   1.00    -      -      -      -      -      -      -     vdivps     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -     5.00   1.00    -     0.50   0.50    -      -      -      -     vdivps     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vmulpd     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vmulpd     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vmulpd     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vmulpd     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vmulpd     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vmulpd     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vmulpd     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vmulpd     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vmulpd     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vmulpd     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vmulpd     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vmulpd     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vmulps     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vmulps     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vmulps     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vmulps     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vmulps     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vmulps     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vmulps     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vmulps     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vmulps     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vmulps     (%rax), %ymm17, %ymm19 {%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    -      -      -      -      -      -     vsubpd     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vsubpd     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vsubpd     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vsubpd     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vsubpd     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vsubpd     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vsubpd     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vsubpd     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vsubpd     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vsubpd     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vsubpd     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vsubpd     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vsubps     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vsubps     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vsubps     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vsubps     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vsubps     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vsubps     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vsubps     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vsubps     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vsubps     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vsubps     (%rax), %ymm17, %ymm19 {%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}