[llvm] 20c5968 - [X86] Increase latency of port5 masked compares and kshift/kadd/kunpck instructions in SKX scheduler model

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 16 17:12:27 PST 2020


Author: Craig Topper
Date: 2020-02-16T16:59:37-08:00
New Revision: 20c5968e0953d978be4d9d1062801e8758c393b5

URL: https://github.com/llvm/llvm-project/commit/20c5968e0953d978be4d9d1062801e8758c393b5
DIFF: https://github.com/llvm/llvm-project/commit/20c5968e0953d978be4d9d1062801e8758c393b5.diff

LOG: [X86] Increase latency of port5 masked compares and kshift/kadd/kunpck instructions in SKX scheduler model

Uops.info shows these as 4 cycle latency.

Added: 
    

Modified: 
    llvm/lib/Target/X86/X86SchedSkylakeServer.td
    llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
    llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s
    llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
    llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s
    llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s
    llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/X86/X86SchedSkylakeServer.td b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
index 55893945638e..a58a67c8efc6 100644
--- a/llvm/lib/Target/X86/X86SchedSkylakeServer.td
+++ b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
@@ -817,19 +817,26 @@ def SKXWriteResGroup32 : SchedWriteRes<[SKXPort5]> {
 }
 def: InstRW<[SKXWriteResGroup32], (instrs VPSADBWZrr)>; // TODO: 512-bit ops require ports 0/1 to be joined.
 def: InstRW<[SKXWriteResGroup32], (instregex "(ADD|SUB|SUBR)_(FPrST0|FST0r|FrST0)",
-                                             "KADD(B|D|Q|W)rr",
+                                             "VALIGND(Z|Z128|Z256)rri",
+                                             "VALIGNQ(Z|Z128|Z256)rri",
+                                             "VDBPSADBWZrri", // TODO: 512-bit ops require ports 0/1 to be joined.
+                                             "VPBROADCAST(B|W)rr",
+                                             "VP(MAX|MIN)(S|U)Q(Z|Z128|Z256)rr")>;
+
+def SKXWriteResGroup33 : SchedWriteRes<[SKXPort5]> {
+  let Latency = 4;
+  let NumMicroOps = 1;
+  let ResourceCycles = [1];
+}
+def: InstRW<[SKXWriteResGroup33], (instregex "KADD(B|D|Q|W)rr",
                                              "KSHIFTL(B|D|Q|W)ri",
                                              "KSHIFTR(B|D|Q|W)ri",
                                              "KUNPCK(BW|DQ|WD)rr",
-                                             "VALIGND(Z|Z128|Z256)rri",
-                                             "VALIGNQ(Z|Z128|Z256)rri",
                                              "VCMPPD(Z|Z128|Z256)rri",
                                              "VCMPPS(Z|Z128|Z256)rri",
                                              "VCMP(SD|SS)Zrr",
-                                             "VDBPSADBWZrri", // TODO: 512-bit ops require ports 0/1 to be joined.
                                              "VFPCLASS(PD|PS)(Z|Z128|Z256)rr",
                                              "VFPCLASS(SD|SS)Zrr",
-                                             "VPBROADCAST(B|W)rr",
                                              "VPCMPB(Z|Z128|Z256)rri",
                                              "VPCMPD(Z|Z128|Z256)rri",
                                              "VPCMPEQ(B|D|Q|W)(Z|Z128|Z256)rr",
@@ -837,7 +844,6 @@ def: InstRW<[SKXWriteResGroup32], (instregex "(ADD|SUB|SUBR)_(FPrST0|FST0r|FrST0
                                              "VPCMPQ(Z|Z128|Z256)rri",
                                              "VPCMPU(B|D|Q|W)(Z|Z128|Z256)rri",
                                              "VPCMPW(Z|Z128|Z256)rri",
-                                             "VP(MAX|MIN)(S|U)Q(Z|Z128|Z256)rr",
                                              "VPTEST(N?)M(B|D|Q|W)(Z|Z128|Z256)rr")>;
 
 def SKXWriteResGroup34 : SchedWriteRes<[SKXPort0,SKXPort0156]> {
@@ -1519,7 +1525,6 @@ def SKXWriteResGroup119 : SchedWriteRes<[SKXPort5,SKXPort23]> {
   let ResourceCycles = [1,1];
 }
 def: InstRW<[SKXWriteResGroup119], (instregex "FCOM(P?)(32|64)m",
-                                              "VFPCLASSSDZrm(b?)",
                                               "VPBROADCASTB(Z|Z256)rm(b?)",
                                               "VPBROADCASTW(Z|Z256)rm(b?)")>;
 def: InstRW<[SKXWriteResGroup119], (instrs VPBROADCASTBYrm,
@@ -1670,17 +1675,9 @@ def: InstRW<[SKXWriteResGroup136], (instrs VPMOVSXBWYrm,
                                            VPMOVSXWDYrm,
                                            VPMOVZXWDYrm)>;
 def: InstRW<[SKXWriteResGroup136], (instregex "VALIGN(D|Q)Z128rm(b?)i",
-                                              "VCMP(PD|PS)Z128rm(b?)i",
-                                              "VCMP(SD|SS)Zrm",
+                                              "VFPCLASSSDZrm(b?)",
                                               "VFPCLASSSSZrm(b?)",
-                                              "VPCMPBZ128rmi(b?)",
-                                              "VPCMPDZ128rmi(b?)",
-                                              "VPCMPEQ(B|D|Q|W)Z128rm(b?)",
-                                              "VPCMPGT(B|D|Q|W)Z128rm(b?)",
                                               "(V?)PCMPGTQrm",
-                                              "VPCMPQZ128rmi(b?)",
-                                              "VPCMPU(B|D|Q|W)Z128rmi(b?)",
-                                              "VPCMPWZ128rmi(b?)",
                                               "VPERMI2D128rm(b?)",
                                               "VPERMI2PD128rm(b?)",
                                               "VPERMI2PS128rm(b?)",
@@ -1704,15 +1701,32 @@ def: InstRW<[SKXWriteResGroup136], (instregex "VALIGN(D|Q)Z128rm(b?)i",
                                               "VPMOVZXBWZ128rm(b?)",
                                               "VPMOVZXDQZ128rm(b?)",
                                               "VPMOVZXWDZ128rm(b?)",
-                                              "VPMOVZXWQZ128rm(b?)",
-                                              "VPTESTMBZ128rm(b?)",
-                                              "VPTESTMDZ128rm(b?)",
-                                              "VPTESTMQZ128rm(b?)",
-                                              "VPTESTMWZ128rm(b?)",
-                                              "VPTESTNMBZ128rm(b?)",
-                                              "VPTESTNMDZ128rm(b?)",
-                                              "VPTESTNMQZ128rm(b?)",
-                                              "VPTESTNMWZ128rm(b?)")>;
+                                              "VPMOVZXWQZ128rm(b?)")>;
+
+def SKXWriteResGroup136_2 : SchedWriteRes<[SKXPort5,SKXPort23]> {
+  let Latency = 10;
+  let NumMicroOps = 2;
+  let ResourceCycles = [1,1];
+}
+def: InstRW<[SKXWriteResGroup136_2], (instregex "VCMP(PD|PS)Z128rm(b?)i",
+                                                "VCMP(SD|SS)Zrm",
+                                                "VFPCLASSPDZ128rm(b?)",
+                                                "VFPCLASSPSZ128rm(b?)",
+                                                "VPCMPBZ128rmi(b?)",
+                                                "VPCMPDZ128rmi(b?)",
+                                                "VPCMPEQ(B|D|Q|W)Z128rm(b?)",
+                                                "VPCMPGT(B|D|Q|W)Z128rm(b?)",
+                                                "VPCMPQZ128rmi(b?)",
+                                                "VPCMPU(B|D|Q|W)Z128rmi(b?)",
+                                                "VPCMPWZ128rmi(b?)",
+                                                "VPTESTMBZ128rm(b?)",
+                                                "VPTESTMDZ128rm(b?)",
+                                                "VPTESTMQZ128rm(b?)",
+                                                "VPTESTMWZ128rm(b?)",
+                                                "VPTESTNMBZ128rm(b?)",
+                                                "VPTESTNMDZ128rm(b?)",
+                                                "VPTESTNMQZ128rm(b?)",
+                                                "VPTESTNMWZ128rm(b?)")>;
 
 def SKXWriteResGroup137 : SchedWriteRes<[SKXPort23,SKXPort015]> {
   let Latency = 9;
@@ -1748,30 +1762,38 @@ def: InstRW<[SKXWriteResGroup148], (instregex "(ADD|SUB|SUBR)_F(32|64)m",
                                               "ILD_F(16|32|64)m",
                                               "VALIGND(Z|Z256)rm(b?)i",
                                               "VALIGNQ(Z|Z256)rm(b?)i",
-                                              "VCMPPD(Z|Z256)rm(b?)i",
-                                              "VCMPPS(Z|Z256)rm(b?)i",
-                                              "VPCMPB(Z|Z256)rmi(b?)",
-                                              "VPCMPD(Z|Z256)rmi(b?)",
-                                              "VPCMPEQB(Z|Z256)rm(b?)",
-                                              "VPCMPEQD(Z|Z256)rm(b?)",
-                                              "VPCMPEQQ(Z|Z256)rm(b?)",
-                                              "VPCMPEQW(Z|Z256)rm(b?)",
-                                              "VPCMPGTB(Z|Z256)rm(b?)",
-                                              "VPCMPGTD(Z|Z256)rm(b?)",
-                                              "VPCMPGTQ(Z|Z256)rm(b?)",
-                                              "VPCMPGTW(Z|Z256)rm(b?)",
-                                              "VPCMPQ(Z|Z256)rmi(b?)",
-                                              "VPCMPU(B|D|Q|W)Z256rmi(b?)",
-                                              "VPCMPU(B|D|Q|W)Zrmi(b?)",
-                                              "VPCMPW(Z|Z256)rmi(b?)",
                                               "VPMAXSQ(Z|Z256)rm(b?)",
                                               "VPMAXUQ(Z|Z256)rm(b?)",
                                               "VPMINSQ(Z|Z256)rm(b?)",
-                                              "VPMINUQ(Z|Z256)rm(b?)",
-                                              "VPTESTM(B|D|Q|W)Z256rm(b?)",
-                                              "VPTESTM(B|D|Q|W)Zrm(b?)",
-                                              "VPTESTNM(B|D|Q|W)Z256rm(b?)",
-                                              "VPTESTNM(B|D|Q|W)Zrm(b?)")>;
+                                              "VPMINUQ(Z|Z256)rm(b?)")>;
+
+def SKXWriteResGroup148_2 : SchedWriteRes<[SKXPort5,SKXPort23]> {
+  let Latency = 11;
+  let NumMicroOps = 2;
+  let ResourceCycles = [1,1];
+}
+def: InstRW<[SKXWriteResGroup148_2], (instregex "VCMPPD(Z|Z256)rm(b?)i",
+                                                "VCMPPS(Z|Z256)rm(b?)i",
+                                                "VFPCLASSPD(Z|Z256)rm(b?)",
+                                                "VFPCLASSPS(Z|Z256)rm(b?)",
+                                                "VPCMPB(Z|Z256)rmi(b?)",
+                                                "VPCMPD(Z|Z256)rmi(b?)",
+                                                "VPCMPEQB(Z|Z256)rm(b?)",
+                                                "VPCMPEQD(Z|Z256)rm(b?)",
+                                                "VPCMPEQQ(Z|Z256)rm(b?)",
+                                                "VPCMPEQW(Z|Z256)rm(b?)",
+                                                "VPCMPGTB(Z|Z256)rm(b?)",
+                                                "VPCMPGTD(Z|Z256)rm(b?)",
+                                                "VPCMPGTQ(Z|Z256)rm(b?)",
+                                                "VPCMPGTW(Z|Z256)rm(b?)",
+                                                "VPCMPQ(Z|Z256)rmi(b?)",
+                                                "VPCMPU(B|D|Q|W)Z256rmi(b?)",
+                                                "VPCMPU(B|D|Q|W)Zrmi(b?)",
+                                                "VPCMPW(Z|Z256)rmi(b?)",
+                                                "VPTESTM(B|D|Q|W)Z256rm(b?)",
+                                                "VPTESTM(B|D|Q|W)Zrm(b?)",
+                                                "VPTESTNM(B|D|Q|W)Z256rm(b?)",
+                                                "VPTESTNM(B|D|Q|W)Zrm(b?)")>;
 
 def SKXWriteResGroup149 : SchedWriteRes<[SKXPort23,SKXPort015]> {
   let Latency = 10;

diff  --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
index c18ed71b15a5..db6b849ed716 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
@@ -662,9 +662,9 @@ vunpcklps         (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
 # CHECK-NEXT:  1      1     1.00                        korw	%k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        kxnorw	%k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        kxorw	%k0, %k1, %k2
-# CHECK-NEXT:  1      3     1.00                        kshiftlw	$2, %k1, %k2
-# CHECK-NEXT:  1      3     1.00                        kshiftrw	$2, %k1, %k2
-# CHECK-NEXT:  1      3     1.00                        kunpckbw	%k0, %k1, %k2
+# CHECK-NEXT:  1      4     1.00                        kshiftlw	$2, %k1, %k2
+# CHECK-NEXT:  1      4     1.00                        kshiftrw	$2, %k1, %k2
+# CHECK-NEXT:  1      4     1.00                        kunpckbw	%k0, %k1, %k2
 # CHECK-NEXT:  1      4     0.50                        vaddpd	%zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      11    0.50    *                   vaddpd	(%rax), %zmm17, %zmm19
 # CHECK-NEXT:  2      11    0.50    *                   vaddpd	(%rax){1to8}, %zmm17, %zmm19
@@ -683,26 +683,26 @@ vunpcklps         (%rax){1to16}, %zmm17, %zmm19 {z}{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:  2      11    0.50    *                   vaddps	(%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT:  1      3     1.00                        vcmpeqpd	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vcmpeqpd	(%rax), %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vcmpeqpd	(%rax){1to8}, %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vcmpeqpd	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vcmpeqpd	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vcmpeqpd	(%rax){1to8}, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vcmpeqps	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vcmpeqps	(%rax), %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vcmpeqps	(%rax){1to16}, %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vcmpeqps	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vcmpeqps	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vcmpeqps	(%rax){1to16}, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vcmpeqsd	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vcmpeqsd	(%rax), %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vcmpeqsd	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vcmpeqsd	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vcmpeqss	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vcmpeqss	(%rax), %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vcmpeqss	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vcmpeqss	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vcmpeqpd	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vcmpeqpd	(%rax), %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vcmpeqpd	(%rax){1to8}, %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vcmpeqpd	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vcmpeqpd	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vcmpeqpd	(%rax){1to8}, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vcmpeqps	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vcmpeqps	(%rax), %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vcmpeqps	(%rax){1to16}, %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vcmpeqps	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vcmpeqps	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vcmpeqps	(%rax){1to16}, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vcmpeqsd	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vcmpeqsd	(%rax), %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vcmpeqsd	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vcmpeqsd	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vcmpeqss	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vcmpeqss	(%rax), %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vcmpeqss	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vcmpeqss	(%rax), %xmm1, %k2 {%k3}
 # CHECK-NEXT:  1      2     1.00                        vcomiss	%xmm16, %xmm17
 # CHECK-NEXT:  2      7     1.00    *                   vcomiss	(%rax), %xmm17
 # CHECK-NEXT:  2      7     1.00                        vcvtdq2pd	%ymm16, %zmm19
@@ -853,54 +853,54 @@ vunpcklps         (%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                        vpcmpeqd	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax), %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax){1to16}, %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqd	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax){1to16}, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqd	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax), %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax){1to16}, %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqd	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax){1to16}, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqq	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax), %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax){1to8}, %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqq	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax){1to8}, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtd	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtd	(%rax), %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtd	(%rax){1to16}, %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtd	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtd	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtd	(%rax){1to16}, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtq	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtq	(%rax), %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtq	(%rax){1to8}, %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtq	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtq	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtq	(%rax){1to8}, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqq	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax), %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax){1to8}, %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqq	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax){1to8}, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpequd	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequd	(%rax), %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequd	(%rax){1to16}, %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpequd	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequd	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequd	(%rax){1to16}, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpequq	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequq	(%rax), %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequq	(%rax){1to8}, %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpequq	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequq	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequq	(%rax){1to8}, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqd	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqd	(%rax), %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqd	(%rax){1to16}, %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqd	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqd	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqd	(%rax){1to16}, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqd	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqd	(%rax), %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqd	(%rax){1to16}, %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqd	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqd	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqd	(%rax){1to16}, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqq	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqq	(%rax), %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqq	(%rax){1to8}, %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqq	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqq	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqq	(%rax){1to8}, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtd	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtd	(%rax), %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtd	(%rax){1to16}, %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtd	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtd	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtd	(%rax){1to16}, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtq	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtq	(%rax), %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtq	(%rax){1to8}, %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtq	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtq	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtq	(%rax){1to8}, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqq	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqq	(%rax), %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqq	(%rax){1to8}, %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqq	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqq	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqq	(%rax){1to8}, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpequd	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequd	(%rax), %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequd	(%rax){1to16}, %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpequd	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequd	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequd	(%rax){1to16}, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpequq	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequq	(%rax), %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequq	(%rax){1to8}, %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpequq	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequq	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequq	(%rax){1to8}, %zmm1, %k2 {%k3}
 # CHECK-NEXT:  5      21    4.00    *                   vpgatherdq	(%rax,%ymm1,2), %zmm2 {%k1}
 # CHECK-NEXT:  5      25    8.00    *                   vpgatherdd	(%rax,%zmm1,2), %zmm2 {%k1}
 # CHECK-NEXT:  5      21    4.00    *                   vpgatherqq	(%rax,%zmm1,2), %zmm2 {%k1}
@@ -1151,30 +1151,30 @@ vunpcklps         (%rax){1to16}, %zmm17, %zmm19 {z}{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:  2      8     0.50    *                   vpsubq	(%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT:  1      3     1.00                        vptestmd	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestmd	(%rax), %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestmd	(%rax){1to16}, %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestmd	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestmd	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestmd	(%rax){1to16}, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestmq	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestmq	(%rax), %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestmq	(%rax){1to8}, %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestmq	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestmq	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestmq	(%rax){1to8}, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestnmd	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmd	(%rax), %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmd	(%rax){1to16}, %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestnmd	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmd	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmd	(%rax){1to16}, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestnmq	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmq	(%rax), %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmq	(%rax){1to8}, %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestnmq	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmq	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmq	(%rax){1to8}, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestmd	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestmd	(%rax), %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestmd	(%rax){1to16}, %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestmd	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestmd	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestmd	(%rax){1to16}, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestmq	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestmq	(%rax), %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestmq	(%rax){1to8}, %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestmq	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestmq	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestmq	(%rax){1to8}, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestnmd	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmd	(%rax), %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmd	(%rax){1to16}, %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestnmd	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmd	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmd	(%rax){1to16}, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestnmq	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmq	(%rax), %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmq	(%rax){1to8}, %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestnmq	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmq	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmq	(%rax){1to8}, %zmm1, %k2 {%k3}
 # CHECK-NEXT:  1      4     0.50                        vsubpd	%zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      11    0.50    *                   vsubpd	(%rax), %zmm17, %zmm19
 # CHECK-NEXT:  2      11    0.50    *                   vsubpd	(%rax){1to8}, %zmm17, %zmm19

diff  --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s
index 048f0767a27f..91d31ddfa1de 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s
@@ -187,8 +187,8 @@ vpunpcklwd        (%rax), %zmm17, %zmm19 {z}{k1}
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      3     1.00                        kaddd	%k0, %k1, %k2
-# CHECK-NEXT:  1      3     1.00                        kaddq	%k0, %k1, %k2
+# CHECK-NEXT:  1      4     1.00                        kaddd	%k0, %k1, %k2
+# CHECK-NEXT:  1      4     1.00                        kaddq	%k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        kandd	%k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        kandq	%k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        kandnd	%k0, %k1, %k2
@@ -199,12 +199,12 @@ vpunpcklwd        (%rax), %zmm17, %zmm19 {z}{k1}
 # CHECK-NEXT:  1      1     1.00                        kxnorq	%k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        kxord	%k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        kxorq	%k0, %k1, %k2
-# CHECK-NEXT:  1      3     1.00                        kshiftld	$2, %k1, %k2
-# CHECK-NEXT:  1      3     1.00                        kshiftlq	$2, %k1, %k2
-# CHECK-NEXT:  1      3     1.00                        kshiftrd	$2, %k1, %k2
-# CHECK-NEXT:  1      3     1.00                        kshiftrq	$2, %k1, %k2
-# CHECK-NEXT:  1      3     1.00                        kunpckdq	%k0, %k1, %k2
-# CHECK-NEXT:  1      3     1.00                        kunpckwd	%k0, %k1, %k2
+# CHECK-NEXT:  1      4     1.00                        kshiftld	$2, %k1, %k2
+# CHECK-NEXT:  1      4     1.00                        kshiftlq	$2, %k1, %k2
+# CHECK-NEXT:  1      4     1.00                        kshiftrd	$2, %k1, %k2
+# CHECK-NEXT:  1      4     1.00                        kshiftrq	$2, %k1, %k2
+# CHECK-NEXT:  1      4     1.00                        kunpckdq	%k0, %k1, %k2
+# CHECK-NEXT:  1      4     1.00                        kunpckwd	%k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        vpabsb	%zmm16, %zmm19
 # CHECK-NEXT:  2      8     1.00    *                   vpabsb	(%rax), %zmm19
 # CHECK-NEXT:  1      1     1.00                        vpabsb	%zmm16, %zmm19 {%k1}
@@ -229,38 +229,38 @@ vpunpcklwd        (%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:  1      3     1.00                        vpcmpeqb	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqb	(%rax), %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqb	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqb	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqb	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqb	(%rax), %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqb	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqb	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqw	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqw	(%rax), %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqw	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqw	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtb	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtb	(%rax), %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtb	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtb	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtw	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtw	(%rax), %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtw	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtw	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpequb	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequb	(%rax), %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpequb	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequb	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpequw	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequw	(%rax), %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpequw	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequw	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqw	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqw	(%rax), %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqw	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqw	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqb	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqb	(%rax), %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqb	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqb	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqb	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqb	(%rax), %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqb	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqb	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqw	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqw	(%rax), %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqw	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqw	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtb	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtb	(%rax), %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtb	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtb	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtw	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtw	(%rax), %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtw	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtw	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpequb	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequb	(%rax), %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpequb	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequb	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpequw	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequw	(%rax), %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpequw	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequw	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqw	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqw	(%rax), %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqw	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqw	(%rax), %zmm1, %k2 {%k3}
 # 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}
@@ -297,22 +297,22 @@ vpunpcklwd        (%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      3     1.00                        vptestmb	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestmb	(%rax), %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestmb	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestmb	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestmw	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestmw	(%rax), %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestmw	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestmw	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestnmb	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmb	(%rax), %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestnmb	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmb	(%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestnmw	%zmm0, %zmm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmw	(%rax), %zmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestnmw	%zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmw	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestmb	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestmb	(%rax), %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestmb	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestmb	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestmw	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestmw	(%rax), %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestmw	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestmw	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestnmb	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmb	(%rax), %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestnmb	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmb	(%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestnmw	%zmm0, %zmm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmw	(%rax), %zmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestnmw	%zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmw	(%rax), %zmm1, %k2 {%k3}
 # 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}

diff  --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
index be35aae60ba3..ec914fb13663 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
@@ -360,70 +360,70 @@ vpunpcklwd         (%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:  1      3     1.00                        vpcmpeqb	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqb	(%rax), %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqb	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqb	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqb	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqb	(%rax), %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqb	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqb	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqb	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqb	(%rax), %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqb	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqb	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqb	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqb	(%rax), %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqb	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqb	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqw	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqw	(%rax), %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqw	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqw	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqw	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqw	(%rax), %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqw	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqw	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtb	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpgtb	(%rax), %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtb	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpgtb	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtb	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtb	(%rax), %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtb	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtb	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtw	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpgtw	(%rax), %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtw	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpgtw	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtw	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtw	(%rax), %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtw	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtw	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpequb	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpequb	(%rax), %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpequb	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpequb	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpequb	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequb	(%rax), %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpequb	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequb	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpequw	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpequw	(%rax), %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpequw	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpequw	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpequw	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequw	(%rax), %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpequw	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequw	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqw	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqw	(%rax), %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqw	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqw	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqw	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqw	(%rax), %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqw	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqw	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqb	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqb	(%rax), %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqb	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqb	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqb	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqb	(%rax), %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqb	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqb	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqb	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqb	(%rax), %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqb	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqb	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqb	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqb	(%rax), %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqb	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqb	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqw	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqw	(%rax), %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqw	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqw	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqw	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqw	(%rax), %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqw	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqw	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtb	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtb	(%rax), %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtb	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtb	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtb	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtb	(%rax), %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtb	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtb	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtw	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtw	(%rax), %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtw	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtw	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtw	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtw	(%rax), %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtw	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtw	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpequb	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpequb	(%rax), %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpequb	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpequb	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpequb	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequb	(%rax), %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpequb	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequb	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpequw	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpequw	(%rax), %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpequw	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpequw	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpequw	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequw	(%rax), %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpequw	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequw	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqw	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqw	(%rax), %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqw	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqw	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqw	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqw	(%rax), %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqw	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqw	(%rax), %ymm1, %k2 {%k3}
 # 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}
@@ -484,38 +484,38 @@ vpunpcklwd         (%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      3     1.00                        vptestmb	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vptestmb	(%rax), %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestmb	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vptestmb	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestmb	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestmb	(%rax), %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestmb	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestmb	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestmw	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vptestmw	(%rax), %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestmw	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vptestmw	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestmw	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestmw	(%rax), %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestmw	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestmw	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestnmb	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vptestnmb	(%rax), %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestnmb	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vptestnmb	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestnmb	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmb	(%rax), %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestnmb	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmb	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestnmw	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vptestnmw	(%rax), %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestnmw	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vptestnmw	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestnmw	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmw	(%rax), %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestnmw	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmw	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestmb	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vptestmb	(%rax), %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestmb	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vptestmb	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestmb	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestmb	(%rax), %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestmb	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestmb	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestmw	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vptestmw	(%rax), %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestmw	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vptestmw	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestmw	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestmw	(%rax), %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestmw	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestmw	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestnmb	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vptestnmb	(%rax), %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestnmb	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vptestnmb	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestnmb	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmb	(%rax), %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestnmb	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmb	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestnmw	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vptestnmw	(%rax), %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestnmw	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vptestnmw	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestnmw	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmw	(%rax), %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestnmw	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmw	(%rax), %ymm1, %k2 {%k3}
 # 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}

diff  --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s
index 8bbc0777e0cb..95f49ffe4496 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s
@@ -151,15 +151,15 @@ vxorps            (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      3     1.00                        kaddb	%k0, %k1, %k2
-# CHECK-NEXT:  1      3     1.00                        kaddw	%k0, %k1, %k2
+# CHECK-NEXT:  1      4     1.00                        kaddb	%k0, %k1, %k2
+# CHECK-NEXT:  1      4     1.00                        kaddw	%k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        kandb	%k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        kandnb	%k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        korb	%k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        kxnorb	%k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        kxorb	%k0, %k1, %k2
-# CHECK-NEXT:  1      3     1.00                        kshiftlb	$2, %k1, %k2
-# CHECK-NEXT:  1      3     1.00                        kshiftrb	$2, %k1, %k2
+# CHECK-NEXT:  1      4     1.00                        kshiftlb	$2, %k1, %k2
+# CHECK-NEXT:  1      4     1.00                        kshiftrb	$2, %k1, %k2
 # CHECK-NEXT:  1      1     0.50                        vandnpd	%zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      8     0.50    *                   vandnpd	(%rax), %zmm17, %zmm19
 # CHECK-NEXT:  2      8     0.50    *                   vandnpd	(%rax){1to8}, %zmm17, %zmm19
@@ -232,25 +232,25 @@ vxorps            (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
 # CHECK-NEXT:  1      1     0.50                        vorps	%zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vorps	(%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vorps	(%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT:  1      3     1.00                        vfpclasspd	$171, %zmm16, %k1
-# CHECK-NEXT:  2      11    0.50    *                   vfpclasspdz	$171, (%rax), %k1
-# CHECK-NEXT:  2      11    0.50    *                   vfpclasspd	$171, (%rax){1to8}, %k1
-# CHECK-NEXT:  1      3     1.00                        vfpclasspd	$171, %zmm16, %k1 {%k2}
-# CHECK-NEXT:  2      11    0.50    *                   vfpclasspdz	$171, (%rax), %k1 {%k2}
-# CHECK-NEXT:  2      11    0.50    *                   vfpclasspd	$171, (%rax){1to8}, %k1 {%k2}
-# CHECK-NEXT:  1      3     1.00                        vfpclassps	$171, %zmm16, %k1
-# CHECK-NEXT:  2      11    0.50    *                   vfpclasspsz	$171, (%rax), %k1
-# CHECK-NEXT:  2      11    0.50    *                   vfpclassps	$171, (%rax){1to16}, %k1
-# CHECK-NEXT:  1      3     1.00                        vfpclassps	$171, %zmm16, %k1 {%k2}
-# CHECK-NEXT:  2      11    0.50    *                   vfpclasspsz	$171, (%rax), %k1 {%k2}
-# CHECK-NEXT:  2      11    0.50    *                   vfpclassps	$171, (%rax){1to16}, %k1 {%k2}
-# CHECK-NEXT:  1      3     1.00                        vfpclasssd	$171, %xmm16, %k1
-# CHECK-NEXT:  2      8     1.00    *                   vfpclasssd	$171, (%rax), %k1
-# CHECK-NEXT:  1      3     1.00                        vfpclasssd	$171, %xmm16, %k1 {%k2}
-# CHECK-NEXT:  2      8     1.00    *                   vfpclasssd	$171, (%rax), %k1 {%k2}
-# CHECK-NEXT:  1      3     1.00                        vfpclassss	$171, %xmm16, %k1
+# CHECK-NEXT:  1      4     1.00                        vfpclasspd	$171, %zmm16, %k1
+# CHECK-NEXT:  2      11    1.00    *                   vfpclasspdz	$171, (%rax), %k1
+# CHECK-NEXT:  2      11    1.00    *                   vfpclasspd	$171, (%rax){1to8}, %k1
+# CHECK-NEXT:  1      4     1.00                        vfpclasspd	$171, %zmm16, %k1 {%k2}
+# CHECK-NEXT:  2      11    1.00    *                   vfpclasspdz	$171, (%rax), %k1 {%k2}
+# CHECK-NEXT:  2      11    1.00    *                   vfpclasspd	$171, (%rax){1to8}, %k1 {%k2}
+# CHECK-NEXT:  1      4     1.00                        vfpclassps	$171, %zmm16, %k1
+# CHECK-NEXT:  2      11    1.00    *                   vfpclasspsz	$171, (%rax), %k1
+# CHECK-NEXT:  2      11    1.00    *                   vfpclassps	$171, (%rax){1to16}, %k1
+# CHECK-NEXT:  1      4     1.00                        vfpclassps	$171, %zmm16, %k1 {%k2}
+# CHECK-NEXT:  2      11    1.00    *                   vfpclasspsz	$171, (%rax), %k1 {%k2}
+# CHECK-NEXT:  2      11    1.00    *                   vfpclassps	$171, (%rax){1to16}, %k1 {%k2}
+# CHECK-NEXT:  1      4     1.00                        vfpclasssd	$171, %xmm16, %k1
+# CHECK-NEXT:  2      9     1.00    *                   vfpclasssd	$171, (%rax), %k1
+# CHECK-NEXT:  1      4     1.00                        vfpclasssd	$171, %xmm16, %k1 {%k2}
+# CHECK-NEXT:  2      9     1.00    *                   vfpclasssd	$171, (%rax), %k1 {%k2}
+# CHECK-NEXT:  1      4     1.00                        vfpclassss	$171, %xmm16, %k1
 # CHECK-NEXT:  2      9     1.00    *                   vfpclassss	$171, (%rax), %k1
-# CHECK-NEXT:  1      3     1.00                        vfpclassss	$171, %xmm16, %k1 {%k2}
+# CHECK-NEXT:  1      4     1.00                        vfpclassss	$171, %xmm16, %k1 {%k2}
 # CHECK-NEXT:  2      9     1.00    *                   vfpclassss	$171, (%rax), %k1 {%k2}
 # CHECK-NEXT:  3      12    1.50                        vpmullq	%zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  4      19    1.00    *                   vpmullq	(%rax), %zmm17, %zmm19
@@ -291,7 +291,7 @@ vxorps            (%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:  -      -     59.50  7.00   37.50  37.50   -     77.50   -      -
+# CHECK-NEXT:  -      -     55.50  7.00   37.50  37.50   -     81.50   -      -
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -377,17 +377,17 @@ vxorps            (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vorps	(%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vorps	(%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vfpclasspd	$171, %zmm16, %k1
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vfpclasspdz	$171, (%rax), %k1
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vfpclasspd	$171, (%rax){1to8}, %k1
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclasspdz	$171, (%rax), %k1
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclasspd	$171, (%rax){1to8}, %k1
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vfpclasspd	$171, %zmm16, %k1 {%k2}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vfpclasspdz	$171, (%rax), %k1 {%k2}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vfpclasspd	$171, (%rax){1to8}, %k1 {%k2}
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclasspdz	$171, (%rax), %k1 {%k2}
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclasspd	$171, (%rax){1to8}, %k1 {%k2}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vfpclassps	$171, %zmm16, %k1
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vfpclasspsz	$171, (%rax), %k1
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vfpclassps	$171, (%rax){1to16}, %k1
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclasspsz	$171, (%rax), %k1
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclassps	$171, (%rax){1to16}, %k1
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vfpclassps	$171, %zmm16, %k1 {%k2}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vfpclasspsz	$171, (%rax), %k1 {%k2}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vfpclassps	$171, (%rax){1to16}, %k1 {%k2}
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclasspsz	$171, (%rax), %k1 {%k2}
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclassps	$171, (%rax){1to16}, %k1 {%k2}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vfpclasssd	$171, %xmm16, %k1
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclasssd	$171, (%rax), %k1
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vfpclasssd	$171, %xmm16, %k1 {%k2}

diff  --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s
index 8968d576b6fd..cff188701926 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s
@@ -320,30 +320,30 @@ vxorps            (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
 # CHECK-NEXT:  1      1     0.33                        vorps	%ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vorps	(%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vorps	(%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT:  1      3     1.00                        vfpclasspd	$171, %xmm16, %k1
-# CHECK-NEXT:  2      10    0.50    *                   vfpclasspdx	$171, (%rax), %k1
-# CHECK-NEXT:  2      10    0.50    *                   vfpclasspd	$171, (%rax){1to2}, %k1
-# CHECK-NEXT:  1      3     1.00                        vfpclasspd	$171, %xmm16, %k1 {%k2}
-# CHECK-NEXT:  2      10    0.50    *                   vfpclasspdx	$171, (%rax), %k1 {%k2}
-# CHECK-NEXT:  2      10    0.50    *                   vfpclasspd	$171, (%rax){1to2}, %k1 {%k2}
-# CHECK-NEXT:  1      3     1.00                        vfpclasspd	$171, %ymm16, %k1
-# CHECK-NEXT:  2      11    0.50    *                   vfpclasspdy	$171, (%rax), %k1
-# CHECK-NEXT:  2      11    0.50    *                   vfpclasspd	$171, (%rax){1to4}, %k1
-# CHECK-NEXT:  1      3     1.00                        vfpclasspd	$171, %ymm16, %k1 {%k2}
-# CHECK-NEXT:  2      11    0.50    *                   vfpclasspdy	$171, (%rax), %k1 {%k2}
-# CHECK-NEXT:  2      11    0.50    *                   vfpclasspd	$171, (%rax){1to4}, %k1 {%k2}
-# CHECK-NEXT:  1      3     1.00                        vfpclassps	$171, %xmm16, %k1
-# CHECK-NEXT:  2      10    0.50    *                   vfpclasspsx	$171, (%rax), %k1
-# CHECK-NEXT:  2      10    0.50    *                   vfpclassps	$171, (%rax){1to4}, %k1
-# CHECK-NEXT:  1      3     1.00                        vfpclassps	$171, %xmm16, %k1 {%k2}
-# CHECK-NEXT:  2      10    0.50    *                   vfpclasspsx	$171, (%rax), %k1 {%k2}
-# CHECK-NEXT:  2      10    0.50    *                   vfpclassps	$171, (%rax){1to4}, %k1 {%k2}
-# CHECK-NEXT:  1      3     1.00                        vfpclassps	$171, %ymm16, %k1
-# CHECK-NEXT:  2      11    0.50    *                   vfpclasspsy	$171, (%rax), %k1
-# CHECK-NEXT:  2      11    0.50    *                   vfpclassps	$171, (%rax){1to8}, %k1
-# CHECK-NEXT:  1      3     1.00                        vfpclassps	$171, %ymm16, %k1 {%k2}
-# CHECK-NEXT:  2      11    0.50    *                   vfpclasspsy	$171, (%rax), %k1 {%k2}
-# CHECK-NEXT:  2      11    0.50    *                   vfpclassps	$171, (%rax){1to8}, %k1 {%k2}
+# CHECK-NEXT:  1      4     1.00                        vfpclasspd	$171, %xmm16, %k1
+# CHECK-NEXT:  2      10    1.00    *                   vfpclasspdx	$171, (%rax), %k1
+# CHECK-NEXT:  2      10    1.00    *                   vfpclasspd	$171, (%rax){1to2}, %k1
+# CHECK-NEXT:  1      4     1.00                        vfpclasspd	$171, %xmm16, %k1 {%k2}
+# CHECK-NEXT:  2      10    1.00    *                   vfpclasspdx	$171, (%rax), %k1 {%k2}
+# CHECK-NEXT:  2      10    1.00    *                   vfpclasspd	$171, (%rax){1to2}, %k1 {%k2}
+# CHECK-NEXT:  1      4     1.00                        vfpclasspd	$171, %ymm16, %k1
+# CHECK-NEXT:  2      11    1.00    *                   vfpclasspdy	$171, (%rax), %k1
+# CHECK-NEXT:  2      11    1.00    *                   vfpclasspd	$171, (%rax){1to4}, %k1
+# CHECK-NEXT:  1      4     1.00                        vfpclasspd	$171, %ymm16, %k1 {%k2}
+# CHECK-NEXT:  2      11    1.00    *                   vfpclasspdy	$171, (%rax), %k1 {%k2}
+# CHECK-NEXT:  2      11    1.00    *                   vfpclasspd	$171, (%rax){1to4}, %k1 {%k2}
+# CHECK-NEXT:  1      4     1.00                        vfpclassps	$171, %xmm16, %k1
+# CHECK-NEXT:  2      10    1.00    *                   vfpclasspsx	$171, (%rax), %k1
+# CHECK-NEXT:  2      10    1.00    *                   vfpclassps	$171, (%rax){1to4}, %k1
+# CHECK-NEXT:  1      4     1.00                        vfpclassps	$171, %xmm16, %k1 {%k2}
+# CHECK-NEXT:  2      10    1.00    *                   vfpclasspsx	$171, (%rax), %k1 {%k2}
+# CHECK-NEXT:  2      10    1.00    *                   vfpclassps	$171, (%rax){1to4}, %k1 {%k2}
+# CHECK-NEXT:  1      4     1.00                        vfpclassps	$171, %ymm16, %k1
+# CHECK-NEXT:  2      11    1.00    *                   vfpclasspsy	$171, (%rax), %k1
+# CHECK-NEXT:  2      11    1.00    *                   vfpclassps	$171, (%rax){1to8}, %k1
+# CHECK-NEXT:  1      4     1.00                        vfpclassps	$171, %ymm16, %k1 {%k2}
+# CHECK-NEXT:  2      11    1.00    *                   vfpclasspsy	$171, (%rax), %k1 {%k2}
+# CHECK-NEXT:  2      11    1.00    *                   vfpclassps	$171, (%rax){1to8}, %k1 {%k2}
 # CHECK-NEXT:  3      12    1.50                        vpmullq	%xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  4      18    1.00    *                   vpmullq	(%rax), %xmm17, %xmm19
 # CHECK-NEXT:  3      12    1.50                        vpmullq	%xmm16, %xmm17, %xmm19 {%k1}
@@ -407,7 +407,7 @@ vxorps            (%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:  -      -     72.00  72.00  59.00  59.00   -     60.00   -      -
+# CHECK-NEXT:  -      -     64.00  64.00  59.00  59.00   -     76.00   -      -
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -520,29 +520,29 @@ vxorps            (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vorps	(%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vorps	(%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vfpclasspd	$171, %xmm16, %k1
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vfpclasspdx	$171, (%rax), %k1
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vfpclasspd	$171, (%rax){1to2}, %k1
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclasspdx	$171, (%rax), %k1
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclasspd	$171, (%rax){1to2}, %k1
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vfpclasspd	$171, %xmm16, %k1 {%k2}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vfpclasspdx	$171, (%rax), %k1 {%k2}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vfpclasspd	$171, (%rax){1to2}, %k1 {%k2}
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclasspdx	$171, (%rax), %k1 {%k2}
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclasspd	$171, (%rax){1to2}, %k1 {%k2}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vfpclasspd	$171, %ymm16, %k1
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vfpclasspdy	$171, (%rax), %k1
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vfpclasspd	$171, (%rax){1to4}, %k1
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclasspdy	$171, (%rax), %k1
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclasspd	$171, (%rax){1to4}, %k1
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vfpclasspd	$171, %ymm16, %k1 {%k2}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vfpclasspdy	$171, (%rax), %k1 {%k2}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vfpclasspd	$171, (%rax){1to4}, %k1 {%k2}
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclasspdy	$171, (%rax), %k1 {%k2}
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclasspd	$171, (%rax){1to4}, %k1 {%k2}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vfpclassps	$171, %xmm16, %k1
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vfpclasspsx	$171, (%rax), %k1
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vfpclassps	$171, (%rax){1to4}, %k1
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclasspsx	$171, (%rax), %k1
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclassps	$171, (%rax){1to4}, %k1
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vfpclassps	$171, %xmm16, %k1 {%k2}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vfpclasspsx	$171, (%rax), %k1 {%k2}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vfpclassps	$171, (%rax){1to4}, %k1 {%k2}
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclasspsx	$171, (%rax), %k1 {%k2}
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclassps	$171, (%rax){1to4}, %k1 {%k2}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vfpclassps	$171, %ymm16, %k1
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vfpclasspsy	$171, (%rax), %k1
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vfpclassps	$171, (%rax){1to8}, %k1
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclasspsy	$171, (%rax), %k1
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclassps	$171, (%rax){1to8}, %k1
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vfpclassps	$171, %ymm16, %k1 {%k2}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vfpclasspsy	$171, (%rax), %k1 {%k2}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vfpclassps	$171, (%rax){1to8}, %k1 {%k2}
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclasspsy	$171, (%rax), %k1 {%k2}
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vfpclassps	$171, (%rax){1to8}, %k1 {%k2}
 # CHECK-NEXT:  -      -     1.50   1.50    -      -      -      -      -      -     vpmullq	%xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -     1.00    -      -     vpmullq	(%rax), %xmm17, %xmm19
 # CHECK-NEXT:  -      -     1.50   1.50    -      -      -      -      -      -     vpmullq	%xmm16, %xmm17, %xmm19 {%k1}

diff  --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
index b31524dbacb2..0c1b8ac8581b 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
@@ -1002,30 +1002,30 @@ vunpcklps         (%rax){1to8}, %ymm17, %ymm19 {z}{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:  2      11    0.50    *                   vaddps	(%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT:  1      3     1.00                        vcmpeqpd	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vcmpeqpd	(%rax), %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vcmpeqpd	(%rax){1to2}, %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vcmpeqpd	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vcmpeqpd	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vcmpeqpd	(%rax){1to2}, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vcmpeqpd	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vcmpeqpd	(%rax), %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vcmpeqpd	(%rax){1to4}, %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vcmpeqpd	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vcmpeqpd	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vcmpeqpd	(%rax){1to4}, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vcmpeqps	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vcmpeqps	(%rax), %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vcmpeqps	(%rax){1to4}, %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vcmpeqps	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vcmpeqps	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vcmpeqps	(%rax){1to4}, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vcmpeqps	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vcmpeqps	(%rax), %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vcmpeqps	(%rax){1to8}, %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vcmpeqps	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vcmpeqps	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vcmpeqps	(%rax){1to8}, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vcmpeqpd	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vcmpeqpd	(%rax), %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vcmpeqpd	(%rax){1to2}, %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vcmpeqpd	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vcmpeqpd	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vcmpeqpd	(%rax){1to2}, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vcmpeqpd	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vcmpeqpd	(%rax), %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vcmpeqpd	(%rax){1to4}, %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vcmpeqpd	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vcmpeqpd	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vcmpeqpd	(%rax){1to4}, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vcmpeqps	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vcmpeqps	(%rax), %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vcmpeqps	(%rax){1to4}, %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vcmpeqps	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vcmpeqps	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vcmpeqps	(%rax){1to4}, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vcmpeqps	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vcmpeqps	(%rax), %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vcmpeqps	(%rax){1to8}, %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vcmpeqps	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vcmpeqps	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vcmpeqps	(%rax){1to8}, %ymm1, %k2 {%k3}
 # CHECK-NEXT:  2      5     1.00                        vcvtdq2pd	%xmm16, %xmm19
 # CHECK-NEXT:  2      10    0.50    *                   vcvtdq2pd	(%rax), %xmm19
 # CHECK-NEXT:  2      10    0.50    *                   vcvtdq2pd	(%rax){1to2}, %xmm19
@@ -1250,102 +1250,102 @@ vunpcklps         (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
 # CHECK-NEXT:  1      1     0.33                        vpaddq	%ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vpaddq	(%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vpaddq	(%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqd	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqd	(%rax), %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqd	(%rax){1to4}, %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqd	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqd	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqd	(%rax){1to4}, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqd	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax), %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax){1to8}, %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqd	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax){1to8}, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqd	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqd	(%rax), %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqd	(%rax){1to4}, %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqd	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqd	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqd	(%rax){1to4}, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqd	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax), %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax){1to8}, %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqd	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax){1to8}, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqq	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqq	(%rax), %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqq	(%rax){1to2}, %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqq	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqq	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqq	(%rax){1to2}, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqq	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax), %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax){1to4}, %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqq	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax){1to4}, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtd	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpgtd	(%rax), %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpgtd	(%rax){1to4}, %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtd	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpgtd	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpgtd	(%rax){1to4}, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtd	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtd	(%rax), %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtd	(%rax){1to8}, %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtd	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtd	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtd	(%rax){1to8}, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtq	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpgtq	(%rax), %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpgtq	(%rax){1to2}, %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtq	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpgtq	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpgtq	(%rax){1to2}, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtq	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtq	(%rax), %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtq	(%rax){1to4}, %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpgtq	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtq	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtq	(%rax){1to4}, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqq	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqq	(%rax), %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqq	(%rax){1to2}, %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqq	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqq	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpeqq	(%rax){1to2}, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqq	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax), %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax){1to4}, %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpeqq	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax){1to4}, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpequd	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpequd	(%rax), %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpequd	(%rax){1to4}, %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpequd	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpequd	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpequd	(%rax){1to4}, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpequd	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequd	(%rax), %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequd	(%rax){1to8}, %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpequd	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequd	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequd	(%rax){1to8}, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpequq	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpequq	(%rax), %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpequq	(%rax){1to2}, %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpequq	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpequq	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vpcmpequq	(%rax){1to2}, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vpcmpequq	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequq	(%rax), %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequq	(%rax){1to4}, %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vpcmpequq	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequq	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vpcmpequq	(%rax){1to4}, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqd	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax), %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax){1to4}, %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqd	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax){1to4}, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqd	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqd	(%rax), %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqd	(%rax){1to8}, %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqd	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqd	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqd	(%rax){1to8}, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqd	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax), %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax){1to4}, %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqd	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqd	(%rax){1to4}, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqd	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqd	(%rax), %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqd	(%rax){1to8}, %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqd	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqd	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqd	(%rax){1to8}, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqq	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax), %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax){1to2}, %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqq	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax){1to2}, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqq	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqq	(%rax), %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqq	(%rax){1to4}, %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqq	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqq	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqq	(%rax){1to4}, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtd	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtd	(%rax), %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtd	(%rax){1to4}, %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtd	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtd	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtd	(%rax){1to4}, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtd	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtd	(%rax), %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtd	(%rax){1to8}, %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtd	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtd	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtd	(%rax){1to8}, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtq	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtq	(%rax), %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtq	(%rax){1to2}, %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtq	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtq	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtq	(%rax){1to2}, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtq	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtq	(%rax), %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtq	(%rax){1to4}, %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpgtq	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtq	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtq	(%rax){1to4}, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqq	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax), %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax){1to2}, %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqq	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpeqq	(%rax){1to2}, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqq	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqq	(%rax), %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqq	(%rax){1to4}, %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpeqq	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqq	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpeqq	(%rax){1to4}, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpequd	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpequd	(%rax), %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpequd	(%rax){1to4}, %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpequd	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpequd	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpequd	(%rax){1to4}, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpequd	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequd	(%rax), %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequd	(%rax){1to8}, %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpequd	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequd	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequd	(%rax){1to8}, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpequq	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpequq	(%rax), %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpequq	(%rax){1to2}, %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpequq	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpequq	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vpcmpequq	(%rax){1to2}, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vpcmpequq	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequq	(%rax), %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequq	(%rax){1to4}, %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vpcmpequq	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequq	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vpcmpequq	(%rax){1to4}, %ymm1, %k2 {%k3}
 # 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
@@ -1552,54 +1552,54 @@ vunpcklps         (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
 # CHECK-NEXT:  1      1     0.33                        vpsubq	%ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vpsubq	(%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vpsubq	(%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT:  1      3     1.00                        vptestmd	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vptestmd	(%rax), %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vptestmd	(%rax){1to4}, %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestmd	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vptestmd	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vptestmd	(%rax){1to4}, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestmd	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestmd	(%rax), %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestmd	(%rax){1to8}, %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestmd	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestmd	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestmd	(%rax){1to8}, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestmq	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vptestmq	(%rax), %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vptestmq	(%rax){1to2}, %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestmq	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vptestmq	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vptestmq	(%rax){1to2}, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestmq	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestmq	(%rax), %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestmq	(%rax){1to4}, %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestmq	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestmq	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestmq	(%rax){1to4}, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestnmd	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vptestnmd	(%rax), %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vptestnmd	(%rax){1to4}, %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestnmd	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vptestnmd	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vptestnmd	(%rax){1to4}, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestnmd	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmd	(%rax), %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmd	(%rax){1to8}, %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestnmd	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmd	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmd	(%rax){1to8}, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestnmq	%xmm0, %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vptestnmq	(%rax), %xmm1, %k2
-# CHECK-NEXT:  2      9     1.00    *                   vptestnmq	(%rax){1to2}, %xmm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestnmq	%xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vptestnmq	(%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT:  2      9     1.00    *                   vptestnmq	(%rax){1to2}, %xmm1, %k2 {%k3}
-# CHECK-NEXT:  1      3     1.00                        vptestnmq	%ymm0, %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmq	(%rax), %ymm1, %k2
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmq	(%rax){1to4}, %ymm1, %k2
-# CHECK-NEXT:  1      3     1.00                        vptestnmq	%ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmq	(%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT:  2      10    1.00    *                   vptestnmq	(%rax){1to4}, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestmd	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vptestmd	(%rax), %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vptestmd	(%rax){1to4}, %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestmd	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vptestmd	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vptestmd	(%rax){1to4}, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestmd	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestmd	(%rax), %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestmd	(%rax){1to8}, %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestmd	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestmd	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestmd	(%rax){1to8}, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestmq	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vptestmq	(%rax), %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vptestmq	(%rax){1to2}, %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestmq	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vptestmq	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vptestmq	(%rax){1to2}, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestmq	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestmq	(%rax), %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestmq	(%rax){1to4}, %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestmq	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestmq	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestmq	(%rax){1to4}, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestnmd	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vptestnmd	(%rax), %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vptestnmd	(%rax){1to4}, %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestnmd	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vptestnmd	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vptestnmd	(%rax){1to4}, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestnmd	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmd	(%rax), %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmd	(%rax){1to8}, %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestnmd	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmd	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmd	(%rax){1to8}, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestnmq	%xmm0, %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vptestnmq	(%rax), %xmm1, %k2
+# CHECK-NEXT:  2      10    1.00    *                   vptestnmq	(%rax){1to2}, %xmm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestnmq	%xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vptestnmq	(%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT:  2      10    1.00    *                   vptestnmq	(%rax){1to2}, %xmm1, %k2 {%k3}
+# CHECK-NEXT:  1      4     1.00                        vptestnmq	%ymm0, %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmq	(%rax), %ymm1, %k2
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmq	(%rax){1to4}, %ymm1, %k2
+# CHECK-NEXT:  1      4     1.00                        vptestnmq	%ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmq	(%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT:  2      11    1.00    *                   vptestnmq	(%rax){1to4}, %ymm1, %k2 {%k3}
 # 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


        


More information about the llvm-commits mailing list