[llvm] c02f979 - [X86][AVX512] Remove xmm->xmm vpmovsx/vpmovzx rm overrides
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sun Dec 12 08:09:09 PST 2021
Author: Simon Pilgrim
Date: 2021-12-12T16:08:10Z
New Revision: c02f9791c65a8a01567c5bc5312c168d2bb7168b
URL: https://github.com/llvm/llvm-project/commit/c02f9791c65a8a01567c5bc5312c168d2bb7168b
DIFF: https://github.com/llvm/llvm-project/commit/c02f9791c65a8a01567c5bc5312c168d2bb7168b.diff
LOG: [X86][AVX512] Remove xmm->xmm vpmovsx/vpmovzx rm overrides
The XMM evex cases have the same behaviour as the SSE41 versions, which already uses WriteShuffleX.Folded
Added:
Modified:
llvm/lib/Target/X86/X86SchedIceLake.td
llvm/lib/Target/X86/X86SchedSkylakeServer.td
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86SchedIceLake.td b/llvm/lib/Target/X86/X86SchedIceLake.td
index 889b9b7fa6666..a7b0db24df092 100644
--- a/llvm/lib/Target/X86/X86SchedIceLake.td
+++ b/llvm/lib/Target/X86/X86SchedIceLake.td
@@ -1709,19 +1709,7 @@ def: InstRW<[ICXWriteResGroup136], (instregex "VALIGN(D|Q)Z128rm(b?)i",
"VPMAXSQZ128rm(b?)",
"VPMAXUQZ128rm(b?)",
"VPMINSQZ128rm(b?)",
- "VPMINUQZ128rm(b?)",
- "VPMOVSXBDZ128rm(b?)",
- "VPMOVSXBQZ128rm(b?)",
- "VPMOVSXBWZ128rm(b?)",
- "VPMOVSXDQZ128rm(b?)",
- "VPMOVSXWDZ128rm(b?)",
- "VPMOVSXWQZ128rm(b?)",
- "VPMOVZXBDZ128rm(b?)",
- "VPMOVZXBQZ128rm(b?)",
- "VPMOVZXBWZ128rm(b?)",
- "VPMOVZXDQZ128rm(b?)",
- "VPMOVZXWDZ128rm(b?)",
- "VPMOVZXWQZ128rm(b?)")>;
+ "VPMINUQZ128rm(b?)")>;
def ICXWriteResGroup136_2 : SchedWriteRes<[ICXPort5,ICXPort23]> {
let Latency = 10;
diff --git a/llvm/lib/Target/X86/X86SchedSkylakeServer.td b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
index 1d8417aef41e3..db32d032aa07f 100644
--- a/llvm/lib/Target/X86/X86SchedSkylakeServer.td
+++ b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
@@ -1701,19 +1701,7 @@ def: InstRW<[SKXWriteResGroup136], (instregex "VALIGN(D|Q)Z128rm(b?)i",
"VPMAXSQZ128rm(b?)",
"VPMAXUQZ128rm(b?)",
"VPMINSQZ128rm(b?)",
- "VPMINUQZ128rm(b?)",
- "VPMOVSXBDZ128rm(b?)",
- "VPMOVSXBQZ128rm(b?)",
- "VPMOVSXBWZ128rm(b?)",
- "VPMOVSXDQZ128rm(b?)",
- "VPMOVSXWDZ128rm(b?)",
- "VPMOVSXWQZ128rm(b?)",
- "VPMOVZXBDZ128rm(b?)",
- "VPMOVZXBQZ128rm(b?)",
- "VPMOVZXBWZ128rm(b?)",
- "VPMOVZXDQZ128rm(b?)",
- "VPMOVZXWDZ128rm(b?)",
- "VPMOVZXWQZ128rm(b?)")>;
+ "VPMINUQZ128rm(b?)")>;
def SKXWriteResGroup136_2 : SchedWriteRes<[SKXPort5,SKXPort23]> {
let Latency = 10;
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
index 9932946228eac..8b2300ef2da5c 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
@@ -633,11 +633,11 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: 2 6 2.00 vpermw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 3 13 2.00 * vpermw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovsxbw (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxbw (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxbw (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxbw (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm16, %ymm19 {%k1}
@@ -645,11 +645,11 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxbw (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovzxbw (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovzxbw (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxbw (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxbw (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxbw (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxbw (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxbw (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm16, %ymm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
index 95db8f148b21d..4e4668d2d5eba 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
@@ -1697,11 +1697,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 5 17 1.00 * vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 5 17 1.00 * vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovsxbd (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovsxbd (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxbd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxbd (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxbd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxbd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxbd (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %ymm19 {%k1}
@@ -1709,11 +1709,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxbd (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovsxbq (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovsxbq (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxbq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxbq (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxbq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxbq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxbq (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm16, %ymm19 {%k1}
@@ -1721,11 +1721,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxbq (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovsxdq (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxdq (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxdq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxdq (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm16, %ymm19 {%k1}
@@ -1733,11 +1733,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxdq (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovsxwd (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxwd (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxwd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxwd (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm16, %ymm19 {%k1}
@@ -1745,11 +1745,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxwd (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovsxwq (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovsxwq (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxwq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxwq (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxwq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxwq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxwq (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %ymm19 {%k1}
@@ -1757,11 +1757,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxwq (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovzxbd (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovzxbd (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxbd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxbd (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxbd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxbd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %ymm19 {%k1}
@@ -1769,11 +1769,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovzxbq (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovzxbq (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxbq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxbq (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxbq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxbq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm16, %ymm19 {%k1}
@@ -1781,11 +1781,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovzxdq (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovzxdq (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxdq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxdq (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxdq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxdq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm16, %ymm19 {%k1}
@@ -1793,11 +1793,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovzxwd (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxwd (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxwd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxwd (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm16, %ymm19 {%k1}
@@ -1805,11 +1805,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovzxwd (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovzxwq (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovzxwq (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxwq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxwq (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxwq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxwq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxwq (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm16, %ymm19 {%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 9e7b1d500f53b..45179307e96c1 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
@@ -633,11 +633,11 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: 2 6 2.00 vpermw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 3 13 2.00 * vpermw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovsxbw (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxbw (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxbw (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxbw (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm16, %ymm19 {%k1}
@@ -645,11 +645,11 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxbw (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovzxbw (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovzxbw (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxbw (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxbw (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxbw (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxbw (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxbw (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm16, %ymm19 {%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 f67a40d2a22bc..98f92d0acc4c5 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
@@ -1697,11 +1697,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 5 17 1.00 * vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 5 17 1.00 * vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovsxbd (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovsxbd (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxbd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxbd (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxbd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxbd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxbd (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %ymm19 {%k1}
@@ -1709,11 +1709,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxbd (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovsxbq (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovsxbq (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxbq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxbq (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxbq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxbq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxbq (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm16, %ymm19 {%k1}
@@ -1721,11 +1721,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxbq (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovsxdq (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxdq (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxdq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxdq (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm16, %ymm19 {%k1}
@@ -1733,11 +1733,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxdq (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovsxwd (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxwd (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxwd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxwd (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm16, %ymm19 {%k1}
@@ -1745,11 +1745,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxwd (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovsxwq (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovsxwq (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxwq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxwq (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovsxwq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovsxwq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxwq (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %ymm19 {%k1}
@@ -1757,11 +1757,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxwq (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovzxbd (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovzxbd (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxbd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxbd (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxbd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxbd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %ymm19 {%k1}
@@ -1769,11 +1769,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovzxbq (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovzxbq (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxbq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxbq (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxbq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxbq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm16, %ymm19 {%k1}
@@ -1781,11 +1781,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovzxdq (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovzxdq (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxdq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxdq (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxdq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxdq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm16, %ymm19 {%k1}
@@ -1793,11 +1793,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovzxwd (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxwd (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxwd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxwd (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm16, %ymm19 {%k1}
@@ -1805,11 +1805,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovzxwd (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm16, %xmm19
-# CHECK-NEXT: 2 9 1.00 * vpmovzxwq (%rax), %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpmovzxwq (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxwq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxwq (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 9 1.00 * vpmovzxwq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vpmovzxwq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxwq (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm16, %ymm19 {%k1}
More information about the llvm-commits
mailing list