[llvm] 1df34f1 - [MCA][X86] Add avx512 test coverage for VPMOV truncation instructions
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 25 14:01:45 PST 2024
Author: Simon Pilgrim
Date: 2024-11-25T22:01:27Z
New Revision: 1df34f12421317a365db96de9b713342c32c13b7
URL: https://github.com/llvm/llvm-project/commit/1df34f12421317a365db96de9b713342c32c13b7
DIFF: https://github.com/llvm/llvm-project/commit/1df34f12421317a365db96de9b713342c32c13b7.diff
LOG: [MCA][X86] Add avx512 test coverage for VPMOV truncation instructions
We only had partial VPMOVWB test coverage
Added:
Modified:
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s
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/SapphireRapids/resources-avx512.s
llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512bw.s
llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512bwvl.s
llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512vl.s
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-avx512vl.s
llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s
llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bwvl.s
llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
Removed:
################################################################################
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
index 7cd1d3fc35ee67..9ca3b9a7b46083 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
@@ -636,6 +636,66 @@ vpgatherdd (%rax,%zmm1,2), %zmm2 {k1}
vpgatherqq (%rax,%zmm1,2), %zmm2 {k1}
vpgatherqd (%rax,%zmm1,2), %ymm2 {k1}
+vpmovdb %zmm19, %xmm16
+vpmovdb %zmm19, (%rax)
+vpmovdb %zmm19, %xmm16 {k1}
+vpmovdb %zmm19, (%rax) {k1}
+vpmovdb %zmm19, %xmm16 {k1}{z}
+
+vpmovdw %zmm19, %ymm16
+vpmovdw %zmm19, (%rax)
+vpmovdw %zmm19, %ymm16 {k1}
+vpmovdw %zmm19, (%rax) {k1}
+vpmovdw %zmm19, %ymm16 {k1}{z}
+
+vpmovqb %zmm19, %xmm16
+vpmovqb %zmm19, (%rax)
+vpmovqb %zmm19, %xmm16 {k1}
+vpmovqb %zmm19, (%rax) {k1}
+vpmovqb %zmm19, %xmm16 {k1}{z}
+
+vpmovqd %zmm19, %ymm16
+vpmovqd %zmm19, (%rax)
+vpmovqd %zmm19, %ymm16 {k1}
+vpmovqd %zmm19, (%rax) {k1}
+vpmovqd %zmm19, %ymm16 {k1}{z}
+
+vpmovqw %zmm19, %xmm16
+vpmovqw %zmm19, (%rax)
+vpmovqw %zmm19, %xmm16 {k1}
+vpmovqw %zmm19, (%rax) {k1}
+vpmovqw %zmm19, %xmm16 {k1}{z}
+
+vpmovsdb %zmm19, %xmm16
+vpmovsdb %zmm19, (%rax)
+vpmovsdb %zmm19, %xmm16 {k1}
+vpmovsdb %zmm19, (%rax) {k1}
+vpmovsdb %zmm19, %xmm16 {k1}{z}
+
+vpmovsdw %zmm19, %ymm16
+vpmovsdw %zmm19, (%rax)
+vpmovsdw %zmm19, %ymm16 {k1}
+vpmovsdw %zmm19, (%rax) {k1}
+vpmovsdw %zmm19, %ymm16 {k1}{z}
+
+vpmovsqb %zmm19, %xmm16
+vpmovsqb %zmm19, (%rax)
+vpmovsqb %zmm19, %xmm16 {k1}
+vpmovsqb %zmm19, (%rax) {k1}
+vpmovsqb %zmm19, %xmm16 {k1}{z}
+
+vpmovsqd %zmm19, %ymm16
+vpmovsqd %zmm19, (%rax)
+vpmovsqd %zmm19, %ymm16 {k1}
+vpmovsqd %zmm19, (%rax) {k1}
+vpmovsqd %zmm19, %ymm16 {k1}{z}
+
+vpmovsqw %zmm19, %xmm16
+vpmovsqw %zmm19, (%rax)
+vpmovsqw %zmm19, %xmm16 {k1}
+vpmovsqw %zmm19, (%rax) {k1}
+vpmovsqw %zmm19, %xmm16 {k1}{z}
+
vpmovsxbd %xmm16, %zmm19
vpmovsxbd (%rax), %zmm19
vpmovsxbd %xmm16, %zmm19 {k1}
@@ -671,6 +731,36 @@ vpmovsxwq (%rax), %zmm19 {k1}
vpmovsxwq %xmm16, %zmm19 {z}{k1}
vpmovsxwq (%rax), %zmm19 {z}{k1}
+vpmovusdb %zmm19, %xmm16
+vpmovusdb %zmm19, (%rax)
+vpmovusdb %zmm19, %xmm16 {k1}
+vpmovusdb %zmm19, (%rax) {k1}
+vpmovusdb %zmm19, %xmm16 {k1}{z}
+
+vpmovusdw %zmm19, %ymm16
+vpmovusdw %zmm19, (%rax)
+vpmovusdw %zmm19, %ymm16 {k1}
+vpmovusdw %zmm19, (%rax) {k1}
+vpmovusdw %zmm19, %ymm16 {k1}{z}
+
+vpmovusqb %zmm19, %xmm16
+vpmovusqb %zmm19, (%rax)
+vpmovusqb %zmm19, %xmm16 {k1}
+vpmovusqb %zmm19, (%rax) {k1}
+vpmovusqb %zmm19, %xmm16 {k1}{z}
+
+vpmovusqd %zmm19, %ymm16
+vpmovusqd %zmm19, (%rax)
+vpmovusqd %zmm19, %ymm16 {k1}
+vpmovusqd %zmm19, (%rax) {k1}
+vpmovusqd %zmm19, %ymm16 {k1}{z}
+
+vpmovusqw %zmm19, %xmm16
+vpmovusqw %zmm19, (%rax)
+vpmovusqw %zmm19, %xmm16 {k1}
+vpmovusqw %zmm19, (%rax) {k1}
+vpmovusqw %zmm19, %xmm16 {k1}{z}
+
vpmovzxbd %xmm16, %zmm19
vpmovzxbd (%rax), %zmm19
vpmovzxbd %xmm16, %zmm19 {k1}
@@ -1646,6 +1736,56 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 5 0.50 * vpgatherdd (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 1 5 0.50 * vpgatherqq (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 1 5 0.50 * vpgatherqd (%rax,%zmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovdb %zmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovdb %zmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovdw %zmm19, %ymm16
+# CHECK-NEXT: 2 8 1.00 * vpmovdw %zmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovqb %zmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovqb %zmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovqd %zmm19, %ymm16
+# CHECK-NEXT: 2 8 1.00 * vpmovqd %zmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovqw %zmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovqw %zmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovqw %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsdb %zmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovsdb %zmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovsdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovsdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsdw %zmm19, %ymm16
+# CHECK-NEXT: 2 8 1.00 * vpmovsdw %zmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovsdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovsdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsqb %zmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovsqb %zmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovsqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovsqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsqd %zmm19, %ymm16
+# CHECK-NEXT: 2 8 1.00 * vpmovsqd %zmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovsqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovsqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsqw %zmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovsqw %zmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovsqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovsqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %zmm19
# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %zmm19 {%k1}
@@ -1676,6 +1816,31 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovusdb %zmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovusdb %zmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovusdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovusdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovusdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovusdw %zmm19, %ymm16
+# CHECK-NEXT: 2 8 1.00 * vpmovusdw %zmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovusdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovusdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovusdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovusqb %zmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovusqb %zmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovusqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovusqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovusqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovusqd %zmm19, %ymm16
+# CHECK-NEXT: 2 8 1.00 * vpmovusqd %zmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovusqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovusqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovusqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovusqw %zmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovusqw %zmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovusqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovusqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovusqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpmovzxbd (%rax), %zmm19
# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %zmm19 {%k1}
@@ -2053,7 +2218,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - 1506.00 198.00 335.00 25.00 529.00 304.50 304.50
+# CHECK-NEXT: - 1506.00 198.00 335.00 25.00 604.00 319.50 319.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -2613,6 +2778,56 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - - 0.50 0.50 vpgatherdd (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: - - - - - - 0.50 0.50 vpgatherqq (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: - - - - - - 0.50 0.50 vpgatherqd (%rax,%zmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovdb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovdw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovqb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovqd %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovqw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqw %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsdb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsdw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsqb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsqd %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsqw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbd %xmm16, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbd (%rax), %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbd %xmm16, %zmm19 {%k1}
@@ -2643,6 +2858,31 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxwq (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxwq %xmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxwq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusdb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusdw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusqb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusqd %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusqw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbd %xmm16, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbd (%rax), %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbd %xmm16, %zmm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
index f028580f1a4ba1..2cdd65ab43f10c 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
@@ -373,16 +373,19 @@ vpmovswb %zmm16, %ymm19
vpmovswb %zmm16, (%rax)
vpmovswb %zmm16, %ymm19 {k1}
vpmovswb %zmm16, (%rax) {k1}
+vpmovswb %zmm16, %ymm19 {z}{k1}
vpmovuswb %zmm16, %ymm19
vpmovuswb %zmm16, (%rax)
vpmovuswb %zmm16, %ymm19 {k1}
vpmovuswb %zmm16, (%rax) {k1}
+vpmovuswb %zmm16, %ymm19 {z}{k1}
vpmovwb %zmm16, %ymm19
vpmovwb %zmm16, (%rax)
vpmovwb %zmm16, %ymm19 {k1}
vpmovwb %zmm16, (%rax) {k1}
+vpmovwb %zmm16, %ymm19 {z}{k1}
vpmovzxbw %ymm16, %zmm19
vpmovzxbw (%rax), %zmm19
@@ -919,14 +922,17 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 8 1.00 * vpmovswb %zmm16, (%rax)
# CHECK-NEXT: 1 1 1.00 vpmovswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpmovswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovuswb %zmm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpmovuswb %zmm16, (%rax)
# CHECK-NEXT: 1 1 1.00 vpmovuswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpmovuswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovuswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovwb %zmm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpmovwb %zmm16, (%rax)
# CHECK-NEXT: 1 1 1.00 vpmovwb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpmovwb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovwb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxbw %ymm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpmovzxbw (%rax), %zmm19
# CHECK-NEXT: 1 1 1.00 vpmovzxbw %ymm16, %zmm19 {%k1}
@@ -1124,7 +1130,7 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - 118.00 130.00 8.00 272.00 117.00 117.00
+# CHECK-NEXT: - - 118.00 130.00 8.00 275.00 117.00 117.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -1436,14 +1442,17 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovswb %zmm16, (%rax)
# CHECK-NEXT: - - - - - 1.00 - - vpmovswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovuswb %zmm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovuswb %zmm16, (%rax)
# CHECK-NEXT: - - - - - 1.00 - - vpmovuswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovuswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovuswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovwb %zmm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovwb %zmm16, (%rax)
# CHECK-NEXT: - - - - - 1.00 - - vpmovwb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovwb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovwb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbw %ymm16, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbw (%rax), %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbw %ymm16, %zmm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s
index 946335bf7c9805..35ca69ea7aa722 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s
@@ -621,31 +621,37 @@ vpmovswb %xmm16, %xmm19
vpmovswb %xmm16, (%rax)
vpmovswb %xmm16, %xmm19 {k1}
vpmovswb %xmm16, (%rax) {k1}
+vpmovswb %xmm16, %xmm19 {z}{k1}
vpmovswb %ymm16, %xmm19
vpmovswb %ymm16, (%rax)
vpmovswb %ymm16, %xmm19 {k1}
vpmovswb %ymm16, (%rax) {k1}
+vpmovswb %ymm16, %xmm19 {z}{k1}
vpmovuswb %xmm16, %xmm19
vpmovuswb %xmm16, (%rax)
vpmovuswb %xmm16, %xmm19 {k1}
vpmovuswb %xmm16, (%rax) {k1}
+vpmovuswb %xmm16, %xmm19 {z}{k1}
vpmovuswb %ymm16, %xmm19
vpmovuswb %ymm16, (%rax)
vpmovuswb %ymm16, %xmm19 {k1}
vpmovuswb %ymm16, (%rax) {k1}
+vpmovuswb %ymm16, %xmm19 {z}{k1}
vpmovwb %xmm16, %xmm19
vpmovwb %xmm16, (%rax)
vpmovwb %xmm16, %xmm19 {k1}
vpmovwb %xmm16, (%rax) {k1}
+vpmovwb %xmm16, %xmm19 {z}{k1}
vpmovwb %ymm16, %xmm19
vpmovwb %ymm16, (%rax)
vpmovwb %ymm16, %xmm19 {k1}
vpmovwb %ymm16, (%rax) {k1}
+vpmovwb %ymm16, %xmm19 {z}{k1}
vpmovzxbw %xmm16, %xmm19
vpmovzxbw (%rax), %xmm19
@@ -1620,26 +1626,32 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 8 1.00 * vpmovswb %xmm16, (%rax)
# CHECK-NEXT: 1 1 1.00 vpmovswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpmovswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovswb %ymm16, %xmm19
# CHECK-NEXT: 2 8 1.00 * vpmovswb %ymm16, (%rax)
# CHECK-NEXT: 1 1 1.00 vpmovswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpmovswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovuswb %xmm16, %xmm19
# CHECK-NEXT: 2 8 1.00 * vpmovuswb %xmm16, (%rax)
# CHECK-NEXT: 1 1 1.00 vpmovuswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpmovuswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovuswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovuswb %ymm16, %xmm19
# CHECK-NEXT: 2 8 1.00 * vpmovuswb %ymm16, (%rax)
# CHECK-NEXT: 1 1 1.00 vpmovuswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpmovuswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovuswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovwb %xmm16, %xmm19
# CHECK-NEXT: 2 8 1.00 * vpmovwb %xmm16, (%rax)
# CHECK-NEXT: 1 1 1.00 vpmovwb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpmovwb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovwb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovwb %ymm16, %xmm19
# CHECK-NEXT: 2 8 1.00 * vpmovwb %ymm16, (%rax)
# CHECK-NEXT: 1 1 1.00 vpmovwb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpmovwb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovwb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpmovzxbw %xmm16, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpmovzxbw (%rax), %xmm19
# CHECK-NEXT: 1 1 0.50 vpmovzxbw %xmm16, %xmm19 {%k1}
@@ -2021,7 +2033,7 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - 214.67 282.67 8.00 458.67 226.00 226.00
+# CHECK-NEXT: - - 214.67 282.67 8.00 464.67 226.00 226.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -2553,26 +2565,32 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovswb %xmm16, (%rax)
# CHECK-NEXT: - - - - - 1.00 - - vpmovswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovswb %ymm16, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovswb %ymm16, (%rax)
# CHECK-NEXT: - - - - - 1.00 - - vpmovswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovuswb %xmm16, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovuswb %xmm16, (%rax)
# CHECK-NEXT: - - - - - 1.00 - - vpmovuswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovuswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovuswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovuswb %ymm16, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovuswb %ymm16, (%rax)
# CHECK-NEXT: - - - - - 1.00 - - vpmovuswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovuswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovuswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovwb %xmm16, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovwb %xmm16, (%rax)
# CHECK-NEXT: - - - - - 1.00 - - vpmovwb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovwb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovwb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovwb %ymm16, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovwb %ymm16, (%rax)
# CHECK-NEXT: - - - - - 1.00 - - vpmovwb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovwb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovwb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxbw %xmm16, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxbw (%rax), %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxbw %xmm16, %xmm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
index 9587c40ede68be..6bf257299b9f7c 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
@@ -1187,6 +1187,126 @@ vpgatherdd (%rax,%xmm1,2), %xmm2 {k1}
vpgatherqq (%rax,%xmm1,2), %xmm2 {k1}
vpgatherqd (%rax,%xmm1,2), %xmm2 {k1}
+vpmovdb %xmm19, %xmm16
+vpmovdb %xmm19, (%rax)
+vpmovdb %xmm19, %xmm16 {k1}
+vpmovdb %xmm19, (%rax) {k1}
+vpmovdb %xmm19, %xmm16 {k1}{z}
+
+vpmovdb %ymm19, %xmm16
+vpmovdb %ymm19, (%rax)
+vpmovdb %ymm19, %xmm16 {k1}
+vpmovdb %ymm19, (%rax) {k1}
+vpmovdb %ymm19, %xmm16 {k1}{z}
+
+vpmovdw %xmm19, %xmm16
+vpmovdw %xmm19, (%rax)
+vpmovdw %xmm19, %xmm16 {k1}
+vpmovdw %xmm19, (%rax) {k1}
+vpmovdw %xmm19, %xmm16 {k1}{z}
+
+vpmovdw %ymm19, %xmm16
+vpmovdw %ymm19, (%rax)
+vpmovdw %ymm19, %xmm16 {k1}
+vpmovdw %ymm19, (%rax) {k1}
+vpmovdw %ymm19, %xmm16 {k1}{z}
+
+vpmovqb %xmm19, %xmm16
+vpmovqb %xmm19, (%rax)
+vpmovqb %xmm19, %xmm16 {k1}
+vpmovqb %xmm19, (%rax) {k1}
+vpmovqb %xmm19, %xmm16 {k1}{z}
+
+vpmovqb %ymm19, %xmm16
+vpmovqb %ymm19, (%rax)
+vpmovqb %ymm19, %xmm16 {k1}
+vpmovqb %ymm19, (%rax) {k1}
+vpmovqb %ymm19, %xmm16 {k1}{z}
+
+vpmovqd %xmm19, %xmm16
+vpmovqd %xmm19, (%rax)
+vpmovqd %xmm19, %xmm16 {k1}
+vpmovqd %xmm19, (%rax) {k1}
+vpmovqd %xmm19, %xmm16 {k1}{z}
+
+vpmovqd %ymm19, %xmm16
+vpmovqd %ymm19, (%rax)
+vpmovqd %ymm19, %xmm16 {k1}
+vpmovqd %ymm19, (%rax) {k1}
+vpmovqd %ymm19, %xmm16 {k1}{z}
+
+vpmovqw %xmm19, %xmm16
+vpmovqw %xmm19, (%rax)
+vpmovqw %xmm19, %xmm16 {k1}
+vpmovqw %xmm19, (%rax) {k1}
+vpmovqw %xmm19, %xmm16 {k1}{z}
+
+vpmovqw %ymm19, %xmm16
+vpmovqw %ymm19, (%rax)
+vpmovqw %ymm19, %xmm16 {k1}
+vpmovqw %ymm19, (%rax) {k1}
+vpmovqw %ymm19, %xmm16 {k1}{z}
+
+vpmovsdb %xmm19, %xmm16
+vpmovsdb %xmm19, (%rax)
+vpmovsdb %xmm19, %xmm16 {k1}
+vpmovsdb %xmm19, (%rax) {k1}
+vpmovsdb %xmm19, %xmm16 {k1}{z}
+
+vpmovsdb %ymm19, %xmm16
+vpmovsdb %ymm19, (%rax)
+vpmovsdb %ymm19, %xmm16 {k1}
+vpmovsdb %ymm19, (%rax) {k1}
+vpmovsdb %ymm19, %xmm16 {k1}{z}
+
+vpmovsdw %xmm19, %xmm16
+vpmovsdw %xmm19, (%rax)
+vpmovsdw %xmm19, %xmm16 {k1}
+vpmovsdw %xmm19, (%rax) {k1}
+vpmovsdw %xmm19, %xmm16 {k1}{z}
+
+vpmovsdw %ymm19, %xmm16
+vpmovsdw %ymm19, (%rax)
+vpmovsdw %ymm19, %xmm16 {k1}
+vpmovsdw %ymm19, (%rax) {k1}
+vpmovsdw %ymm19, %xmm16 {k1}{z}
+
+vpmovsqb %xmm19, %xmm16
+vpmovsqb %xmm19, (%rax)
+vpmovsqb %xmm19, %xmm16 {k1}
+vpmovsqb %xmm19, (%rax) {k1}
+vpmovsqb %xmm19, %xmm16 {k1}{z}
+
+vpmovsqb %ymm19, %xmm16
+vpmovsqb %ymm19, (%rax)
+vpmovsqb %ymm19, %xmm16 {k1}
+vpmovsqb %ymm19, (%rax) {k1}
+vpmovsqb %ymm19, %xmm16 {k1}{z}
+
+vpmovsqd %xmm19, %xmm16
+vpmovsqd %xmm19, (%rax)
+vpmovsqd %xmm19, %xmm16 {k1}
+vpmovsqd %xmm19, (%rax) {k1}
+vpmovsqd %xmm19, %xmm16 {k1}{z}
+
+vpmovsqd %ymm19, %xmm16
+vpmovsqd %ymm19, (%rax)
+vpmovsqd %ymm19, %xmm16 {k1}
+vpmovsqd %ymm19, (%rax) {k1}
+vpmovsqd %ymm19, %xmm16 {k1}{z}
+
+vpmovsqw %xmm19, %xmm16
+vpmovsqw %xmm19, (%rax)
+vpmovsqw %xmm19, %xmm16 {k1}
+vpmovsqw %xmm19, (%rax) {k1}
+vpmovsqw %xmm19, %xmm16 {k1}{z}
+
+vpmovsqw %ymm19, %xmm16
+vpmovsqw %ymm19, (%rax)
+vpmovsqw %ymm19, %xmm16 {k1}
+vpmovsqw %ymm19, (%rax) {k1}
+vpmovsqw %ymm19, %xmm16 {k1}{z}
+
vpmovsxbd %xmm16, %xmm19
vpmovsxbd (%rax), %xmm19
vpmovsxbd %xmm16, %xmm19 {k1}
@@ -1257,6 +1377,66 @@ vpmovsxwq (%rax), %ymm19 {k1}
vpmovsxwq %xmm16, %ymm19 {z}{k1}
vpmovsxwq (%rax), %ymm19 {z}{k1}
+vpmovusdb %xmm19, %xmm16
+vpmovusdb %xmm19, (%rax)
+vpmovusdb %xmm19, %xmm16 {k1}
+vpmovusdb %xmm19, (%rax) {k1}
+vpmovusdb %xmm19, %xmm16 {k1}{z}
+
+vpmovusdb %ymm19, %xmm16
+vpmovusdb %ymm19, (%rax)
+vpmovusdb %ymm19, %xmm16 {k1}
+vpmovusdb %ymm19, (%rax) {k1}
+vpmovusdb %ymm19, %xmm16 {k1}{z}
+
+vpmovusdw %xmm19, %xmm16
+vpmovusdw %xmm19, (%rax)
+vpmovusdw %xmm19, %xmm16 {k1}
+vpmovusdw %xmm19, (%rax) {k1}
+vpmovusdw %xmm19, %xmm16 {k1}{z}
+
+vpmovusdw %ymm19, %xmm16
+vpmovusdw %ymm19, (%rax)
+vpmovusdw %ymm19, %xmm16 {k1}
+vpmovusdw %ymm19, (%rax) {k1}
+vpmovusdw %ymm19, %xmm16 {k1}{z}
+
+vpmovusqb %xmm19, %xmm16
+vpmovusqb %xmm19, (%rax)
+vpmovusqb %xmm19, %xmm16 {k1}
+vpmovusqb %xmm19, (%rax) {k1}
+vpmovusqb %xmm19, %xmm16 {k1}{z}
+
+vpmovusqb %ymm19, %xmm16
+vpmovusqb %ymm19, (%rax)
+vpmovusqb %ymm19, %xmm16 {k1}
+vpmovusqb %ymm19, (%rax) {k1}
+vpmovusqb %ymm19, %xmm16 {k1}{z}
+
+vpmovusqd %xmm19, %xmm16
+vpmovusqd %xmm19, (%rax)
+vpmovusqd %xmm19, %xmm16 {k1}
+vpmovusqd %xmm19, (%rax) {k1}
+vpmovusqd %xmm19, %xmm16 {k1}{z}
+
+vpmovusqd %ymm19, %xmm16
+vpmovusqd %ymm19, (%rax)
+vpmovusqd %ymm19, %xmm16 {k1}
+vpmovusqd %ymm19, (%rax) {k1}
+vpmovusqd %ymm19, %xmm16 {k1}{z}
+
+vpmovusqw %xmm19, %xmm16
+vpmovusqw %xmm19, (%rax)
+vpmovusqw %xmm19, %xmm16 {k1}
+vpmovusqw %xmm19, (%rax) {k1}
+vpmovusqw %xmm19, %xmm16 {k1}{z}
+
+vpmovusqw %ymm19, %xmm16
+vpmovusqw %ymm19, (%rax)
+vpmovusqw %ymm19, %xmm16 {k1}
+vpmovusqw %ymm19, (%rax) {k1}
+vpmovusqw %ymm19, %xmm16 {k1}{z}
+
vpmovzxbd %xmm16, %xmm19
vpmovzxbd (%rax), %xmm19
vpmovzxbd %xmm16, %xmm19 {k1}
@@ -2784,6 +2964,106 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 5 0.50 * vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 1 5 0.50 * vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 1 5 0.50 * vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovdb %xmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovdb %xmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovdb %ymm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovdb %ymm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovdw %xmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovdw %xmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovdw %ymm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovdw %ymm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovqb %xmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovqb %xmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovqb %ymm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovqb %ymm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovqd %xmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovqd %xmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovqd %ymm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovqd %ymm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovqw %xmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovqw %xmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovqw %ymm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovqw %ymm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovqw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsdb %xmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovsdb %xmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovsdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovsdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsdb %ymm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovsdb %ymm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovsdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovsdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsdw %xmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovsdw %xmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovsdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovsdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsdw %ymm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovsdw %ymm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovsdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovsdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsqb %xmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovsqb %xmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovsqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovsqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsqb %ymm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovsqb %ymm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovsqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovsqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsqd %xmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovsqd %xmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovsqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovsqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsqd %ymm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovsqd %ymm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovsqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovsqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsqw %xmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovsqw %xmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovsqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovsqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsqw %ymm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovsqw %ymm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovsqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovsqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpmovsxbd %xmm16, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpmovsxbd (%rax), %xmm19
# CHECK-NEXT: 1 1 0.50 vpmovsxbd %xmm16, %xmm19 {%k1}
@@ -2844,6 +3124,56 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovusdb %xmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovusdb %xmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovusdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovusdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovusdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovusdb %ymm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovusdb %ymm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovusdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovusdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovusdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovusdw %xmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovusdw %xmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovusdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovusdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovusdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovusdw %ymm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovusdw %ymm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovusdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovusdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovusdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovusqb %xmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovusqb %xmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovusqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovusqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovusqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovusqb %ymm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovusqb %ymm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovusqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovusqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovusqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovusqd %xmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovusqd %xmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovusqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovusqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovusqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovusqd %ymm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovusqd %ymm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovusqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovusqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovusqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovusqw %xmm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovusqw %xmm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovusqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovusqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovusqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovusqw %ymm19, %xmm16
+# CHECK-NEXT: 2 8 1.00 * vpmovusqw %ymm19, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpmovusqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpmovusqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovusqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpmovzxbd %xmm16, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpmovzxbd (%rax), %xmm19
# CHECK-NEXT: 1 1 0.50 vpmovzxbd %xmm16, %xmm19 {%k1}
@@ -3269,7 +3599,7 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - 1935.00 278.00 579.50 48.00 744.50 495.50 495.50
+# CHECK-NEXT: - 1935.00 278.00 579.50 48.00 894.50 525.50 525.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -4325,6 +4655,106 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - - - 0.50 0.50 vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: - - - - - - 0.50 0.50 vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: - - - - - - 0.50 0.50 vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovdb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovdb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovdb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovdb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovdw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovdw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovdw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovdw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovqb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovqb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqd %xmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovqd %xmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqd %ymm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovqd %ymm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovqw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovqw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovqw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsdb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsdb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsdb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsdb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsdw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsdw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsdw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsdw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsqb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsqb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqd %xmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsqd %xmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqd %ymm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsqd %ymm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsqw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsqw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovsqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxbd %xmm16, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovsxbd (%rax), %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxbd %xmm16, %xmm19 {%k1}
@@ -4385,6 +4815,56 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxwq (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxwq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxwq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusdb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusdb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusdb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusdb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusdw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusdw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusdw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusdw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusqb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusqb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqd %xmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusqd %xmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqd %ymm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusqd %ymm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusqw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusqw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovusqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpmovusqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxbd %xmm16, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxbd (%rax), %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxbd %xmm16, %xmm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
index 8b495d6ee268e5..a5c47bec8daa24 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
@@ -636,6 +636,66 @@ vpgatherdd (%rax,%zmm1,2), %zmm2 {k1}
vpgatherqq (%rax,%zmm1,2), %zmm2 {k1}
vpgatherqd (%rax,%zmm1,2), %ymm2 {k1}
+vpmovdb %zmm19, %xmm16
+vpmovdb %zmm19, (%rax)
+vpmovdb %zmm19, %xmm16 {k1}
+vpmovdb %zmm19, (%rax) {k1}
+vpmovdb %zmm19, %xmm16 {k1}{z}
+
+vpmovdw %zmm19, %ymm16
+vpmovdw %zmm19, (%rax)
+vpmovdw %zmm19, %ymm16 {k1}
+vpmovdw %zmm19, (%rax) {k1}
+vpmovdw %zmm19, %ymm16 {k1}{z}
+
+vpmovqb %zmm19, %xmm16
+vpmovqb %zmm19, (%rax)
+vpmovqb %zmm19, %xmm16 {k1}
+vpmovqb %zmm19, (%rax) {k1}
+vpmovqb %zmm19, %xmm16 {k1}{z}
+
+vpmovqd %zmm19, %ymm16
+vpmovqd %zmm19, (%rax)
+vpmovqd %zmm19, %ymm16 {k1}
+vpmovqd %zmm19, (%rax) {k1}
+vpmovqd %zmm19, %ymm16 {k1}{z}
+
+vpmovqw %zmm19, %xmm16
+vpmovqw %zmm19, (%rax)
+vpmovqw %zmm19, %xmm16 {k1}
+vpmovqw %zmm19, (%rax) {k1}
+vpmovqw %zmm19, %xmm16 {k1}{z}
+
+vpmovsdb %zmm19, %xmm16
+vpmovsdb %zmm19, (%rax)
+vpmovsdb %zmm19, %xmm16 {k1}
+vpmovsdb %zmm19, (%rax) {k1}
+vpmovsdb %zmm19, %xmm16 {k1}{z}
+
+vpmovsdw %zmm19, %ymm16
+vpmovsdw %zmm19, (%rax)
+vpmovsdw %zmm19, %ymm16 {k1}
+vpmovsdw %zmm19, (%rax) {k1}
+vpmovsdw %zmm19, %ymm16 {k1}{z}
+
+vpmovsqb %zmm19, %xmm16
+vpmovsqb %zmm19, (%rax)
+vpmovsqb %zmm19, %xmm16 {k1}
+vpmovsqb %zmm19, (%rax) {k1}
+vpmovsqb %zmm19, %xmm16 {k1}{z}
+
+vpmovsqd %zmm19, %ymm16
+vpmovsqd %zmm19, (%rax)
+vpmovsqd %zmm19, %ymm16 {k1}
+vpmovsqd %zmm19, (%rax) {k1}
+vpmovsqd %zmm19, %ymm16 {k1}{z}
+
+vpmovsqw %zmm19, %xmm16
+vpmovsqw %zmm19, (%rax)
+vpmovsqw %zmm19, %xmm16 {k1}
+vpmovsqw %zmm19, (%rax) {k1}
+vpmovsqw %zmm19, %xmm16 {k1}{z}
+
vpmovsxbd %xmm16, %zmm19
vpmovsxbd (%rax), %zmm19
vpmovsxbd %xmm16, %zmm19 {k1}
@@ -671,6 +731,36 @@ vpmovsxwq (%rax), %zmm19 {k1}
vpmovsxwq %xmm16, %zmm19 {z}{k1}
vpmovsxwq (%rax), %zmm19 {z}{k1}
+vpmovusdb %zmm19, %xmm16
+vpmovusdb %zmm19, (%rax)
+vpmovusdb %zmm19, %xmm16 {k1}
+vpmovusdb %zmm19, (%rax) {k1}
+vpmovusdb %zmm19, %xmm16 {k1}{z}
+
+vpmovusdw %zmm19, %ymm16
+vpmovusdw %zmm19, (%rax)
+vpmovusdw %zmm19, %ymm16 {k1}
+vpmovusdw %zmm19, (%rax) {k1}
+vpmovusdw %zmm19, %ymm16 {k1}{z}
+
+vpmovusqb %zmm19, %xmm16
+vpmovusqb %zmm19, (%rax)
+vpmovusqb %zmm19, %xmm16 {k1}
+vpmovusqb %zmm19, (%rax) {k1}
+vpmovusqb %zmm19, %xmm16 {k1}{z}
+
+vpmovusqd %zmm19, %ymm16
+vpmovusqd %zmm19, (%rax)
+vpmovusqd %zmm19, %ymm16 {k1}
+vpmovusqd %zmm19, (%rax) {k1}
+vpmovusqd %zmm19, %ymm16 {k1}{z}
+
+vpmovusqw %zmm19, %xmm16
+vpmovusqw %zmm19, (%rax)
+vpmovusqw %zmm19, %xmm16 {k1}
+vpmovusqw %zmm19, (%rax) {k1}
+vpmovusqw %zmm19, %xmm16 {k1}{z}
+
vpmovzxbd %xmm16, %zmm19
vpmovzxbd (%rax), %zmm19
vpmovzxbd %xmm16, %zmm19 {k1}
@@ -1646,6 +1736,56 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{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}
# CHECK-NEXT: 5 21 4.00 * vpgatherqd (%rax,%zmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovdb %zmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovdb %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovdw %zmm19, %ymm16
+# CHECK-NEXT: 4 5 2.00 * vpmovdw %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovqb %zmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovqb %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vpmovqd %zmm19, %ymm16
+# CHECK-NEXT: 3 4 1.00 * vpmovqd %zmm19, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpmovqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 3 4 1.00 * vpmovqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpmovqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovqw %zmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovqw %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovqw %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsdb %zmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsdb %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsdw %zmm19, %ymm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsdw %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqb %zmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsqb %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %zmm19, %ymm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsqd %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqw %zmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsqw %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %zmm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxbd (%rax), %zmm19
# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %zmm19 {%k1}
@@ -1676,6 +1816,31 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovsxwq (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxwq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusdb %zmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusdb %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusdw %zmm19, %ymm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusdw %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusqb %zmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusqb %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %zmm19, %ymm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusqd %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vpmovusqw %zmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusqw %zmm19, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpmovusqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpmovusqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %zmm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %zmm19
# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %zmm19 {%k1}
@@ -2057,7 +2222,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - 612.00 411.50 104.00 328.00 328.00 48.50 593.50 6.00 48.50 48.50 48.50
+# CHECK-NEXT: - 612.00 411.50 104.00 328.00 328.00 63.50 735.50 6.00 63.50 63.50 63.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -2617,6 +2782,56 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 1.58 0.58 8.00 8.00 - 0.58 0.25 - - - vpgatherdd (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: - - 1.58 0.58 4.00 4.00 - 0.58 0.25 - - - vpgatherqq (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: - - 1.58 0.58 4.00 4.00 - 0.58 0.25 - - - vpgatherqd (%rax,%zmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovdb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovdw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovqb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - 0.50 1.00 - 0.50 0.50 0.50 vpmovqd %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 1.00 - 0.50 0.50 0.50 vpmovqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovqw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovqw %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsdb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsdw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsqb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsqd %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsqw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovsxbd %xmm16, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpmovsxbd (%rax), %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovsxbd %xmm16, %zmm19 {%k1}
@@ -2647,6 +2862,31 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpmovsxwq (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovsxwq %xmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpmovsxwq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusdb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusdw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusqb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusqd %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovusqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusqw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovusqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovusqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovzxbd %xmm16, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpmovzxbd (%rax), %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovzxbd %xmm16, %zmm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s
index 3bcc961c70e2a3..ad81aeae31e4cc 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s
@@ -373,16 +373,19 @@ vpmovswb %zmm16, %ymm19
vpmovswb %zmm16, (%rax)
vpmovswb %zmm16, %ymm19 {k1}
vpmovswb %zmm16, (%rax) {k1}
+vpmovswb %zmm16, %ymm19 {z}{k1}
vpmovuswb %zmm16, %ymm19
vpmovuswb %zmm16, (%rax)
vpmovuswb %zmm16, %ymm19 {k1}
vpmovuswb %zmm16, (%rax) {k1}
+vpmovuswb %zmm16, %ymm19 {z}{k1}
vpmovwb %zmm16, %ymm19
vpmovwb %zmm16, (%rax)
vpmovwb %zmm16, %ymm19 {k1}
vpmovwb %zmm16, (%rax) {k1}
+vpmovwb %zmm16, %ymm19 {z}{k1}
vpmovzxbw %ymm16, %zmm19
vpmovzxbw (%rax), %zmm19
@@ -919,14 +922,17 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 4 5 2.00 * vpmovswb %zmm16, (%rax)
# CHECK-NEXT: 2 4 2.00 vpmovswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 4 5 2.00 * vpmovswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 4 2.00 vpmovuswb %zmm16, %ymm19
# CHECK-NEXT: 4 5 2.00 * vpmovuswb %zmm16, (%rax)
# CHECK-NEXT: 2 4 2.00 vpmovuswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 4 5 2.00 * vpmovuswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovuswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 4 2.00 vpmovwb %zmm16, %ymm19
# CHECK-NEXT: 4 5 2.00 * vpmovwb %zmm16, (%rax)
# CHECK-NEXT: 2 4 2.00 vpmovwb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 4 5 2.00 * vpmovwb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovwb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxbw %ymm16, %zmm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxbw (%rax), %zmm19
# CHECK-NEXT: 1 3 1.00 vpmovzxbw %ymm16, %zmm19 {%k1}
@@ -1128,7 +1134,7 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - - 239.50 19.50 110.00 110.00 8.00 293.50 0.50 8.00 8.00 8.00
+# CHECK-NEXT: - - 239.50 19.50 110.00 110.00 8.00 299.50 0.50 8.00 8.00 8.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -1440,14 +1446,17 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovswb %zmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovuswb %zmm16, %ymm19
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovuswb %zmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovuswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovuswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovuswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovwb %zmm16, %ymm19
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovwb %zmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovwb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovwb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovwb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovzxbw %ymm16, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpmovzxbw (%rax), %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovzxbw %ymm16, %zmm19 {%k1}
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 ee095f0d3bfc15..cec13a1096d528 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
@@ -621,31 +621,37 @@ vpmovswb %xmm16, %xmm19
vpmovswb %xmm16, (%rax)
vpmovswb %xmm16, %xmm19 {k1}
vpmovswb %xmm16, (%rax) {k1}
+vpmovswb %xmm16, %xmm19 {z}{k1}
vpmovswb %ymm16, %xmm19
vpmovswb %ymm16, (%rax)
vpmovswb %ymm16, %xmm19 {k1}
vpmovswb %ymm16, (%rax) {k1}
+vpmovswb %ymm16, %xmm19 {z}{k1}
vpmovuswb %xmm16, %xmm19
vpmovuswb %xmm16, (%rax)
vpmovuswb %xmm16, %xmm19 {k1}
vpmovuswb %xmm16, (%rax) {k1}
+vpmovuswb %xmm16, %xmm19 {z}{k1}
vpmovuswb %ymm16, %xmm19
vpmovuswb %ymm16, (%rax)
vpmovuswb %ymm16, %xmm19 {k1}
vpmovuswb %ymm16, (%rax) {k1}
+vpmovuswb %ymm16, %xmm19 {z}{k1}
vpmovwb %xmm16, %xmm19
vpmovwb %xmm16, (%rax)
vpmovwb %xmm16, %xmm19 {k1}
vpmovwb %xmm16, (%rax) {k1}
+vpmovwb %xmm16, %xmm19 {z}{k1}
vpmovwb %ymm16, %xmm19
vpmovwb %ymm16, (%rax)
vpmovwb %ymm16, %xmm19 {k1}
vpmovwb %ymm16, (%rax) {k1}
+vpmovwb %ymm16, %xmm19 {z}{k1}
vpmovzxbw %xmm16, %xmm19
vpmovzxbw (%rax), %xmm19
@@ -1620,26 +1626,32 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 4 5 2.00 * vpmovswb %xmm16, (%rax)
# CHECK-NEXT: 2 4 2.00 vpmovswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 4 5 2.00 * vpmovswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 4 2.00 vpmovswb %ymm16, %xmm19
# CHECK-NEXT: 4 5 2.00 * vpmovswb %ymm16, (%rax)
# CHECK-NEXT: 2 4 2.00 vpmovswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 4 5 2.00 * vpmovswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 4 2.00 vpmovuswb %xmm16, %xmm19
# CHECK-NEXT: 4 5 2.00 * vpmovuswb %xmm16, (%rax)
# CHECK-NEXT: 2 4 2.00 vpmovuswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 4 5 2.00 * vpmovuswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovuswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 4 2.00 vpmovuswb %ymm16, %xmm19
# CHECK-NEXT: 4 5 2.00 * vpmovuswb %ymm16, (%rax)
# CHECK-NEXT: 2 4 2.00 vpmovuswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 4 5 2.00 * vpmovuswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovuswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 4 2.00 vpmovwb %xmm16, %xmm19
# CHECK-NEXT: 4 5 2.00 * vpmovwb %xmm16, (%rax)
# CHECK-NEXT: 2 4 2.00 vpmovwb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 4 5 2.00 * vpmovwb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovwb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 4 2.00 vpmovwb %ymm16, %xmm19
# CHECK-NEXT: 4 5 2.00 * vpmovwb %ymm16, (%rax)
# CHECK-NEXT: 2 4 2.00 vpmovwb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 4 5 2.00 * vpmovwb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovwb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpmovzxbw %xmm16, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpmovzxbw (%rax), %xmm19
# CHECK-NEXT: 1 1 0.50 vpmovzxbw %xmm16, %xmm19 {%k1}
@@ -2025,7 +2037,7 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - - 255.33 307.83 216.00 216.00 10.00 446.83 - 10.00 10.00 10.00
+# CHECK-NEXT: - - 255.33 307.83 216.00 216.00 10.00 458.83 - 10.00 10.00 10.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -2557,26 +2569,32 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovswb %xmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovswb %ymm16, %xmm19
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovswb %ymm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovuswb %xmm16, %xmm19
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovuswb %xmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovuswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovuswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovuswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovuswb %ymm16, %xmm19
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovuswb %ymm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovuswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovuswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovuswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovwb %xmm16, %xmm19
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovwb %xmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovwb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovwb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovwb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovwb %ymm16, %xmm19
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovwb %ymm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovwb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovwb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovwb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - - - vpmovzxbw %xmm16, %xmm19
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - - - vpmovzxbw (%rax), %xmm19
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - - - vpmovzxbw %xmm16, %xmm19 {%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 a57ed444f794e8..3a0efa584cad49 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
@@ -1187,6 +1187,126 @@ vpgatherdd (%rax,%xmm1,2), %xmm2 {k1}
vpgatherqq (%rax,%xmm1,2), %xmm2 {k1}
vpgatherqd (%rax,%xmm1,2), %xmm2 {k1}
+vpmovdb %xmm19, %xmm16
+vpmovdb %xmm19, (%rax)
+vpmovdb %xmm19, %xmm16 {k1}
+vpmovdb %xmm19, (%rax) {k1}
+vpmovdb %xmm19, %xmm16 {k1}{z}
+
+vpmovdb %ymm19, %xmm16
+vpmovdb %ymm19, (%rax)
+vpmovdb %ymm19, %xmm16 {k1}
+vpmovdb %ymm19, (%rax) {k1}
+vpmovdb %ymm19, %xmm16 {k1}{z}
+
+vpmovdw %xmm19, %xmm16
+vpmovdw %xmm19, (%rax)
+vpmovdw %xmm19, %xmm16 {k1}
+vpmovdw %xmm19, (%rax) {k1}
+vpmovdw %xmm19, %xmm16 {k1}{z}
+
+vpmovdw %ymm19, %xmm16
+vpmovdw %ymm19, (%rax)
+vpmovdw %ymm19, %xmm16 {k1}
+vpmovdw %ymm19, (%rax) {k1}
+vpmovdw %ymm19, %xmm16 {k1}{z}
+
+vpmovqb %xmm19, %xmm16
+vpmovqb %xmm19, (%rax)
+vpmovqb %xmm19, %xmm16 {k1}
+vpmovqb %xmm19, (%rax) {k1}
+vpmovqb %xmm19, %xmm16 {k1}{z}
+
+vpmovqb %ymm19, %xmm16
+vpmovqb %ymm19, (%rax)
+vpmovqb %ymm19, %xmm16 {k1}
+vpmovqb %ymm19, (%rax) {k1}
+vpmovqb %ymm19, %xmm16 {k1}{z}
+
+vpmovqd %xmm19, %xmm16
+vpmovqd %xmm19, (%rax)
+vpmovqd %xmm19, %xmm16 {k1}
+vpmovqd %xmm19, (%rax) {k1}
+vpmovqd %xmm19, %xmm16 {k1}{z}
+
+vpmovqd %ymm19, %xmm16
+vpmovqd %ymm19, (%rax)
+vpmovqd %ymm19, %xmm16 {k1}
+vpmovqd %ymm19, (%rax) {k1}
+vpmovqd %ymm19, %xmm16 {k1}{z}
+
+vpmovqw %xmm19, %xmm16
+vpmovqw %xmm19, (%rax)
+vpmovqw %xmm19, %xmm16 {k1}
+vpmovqw %xmm19, (%rax) {k1}
+vpmovqw %xmm19, %xmm16 {k1}{z}
+
+vpmovqw %ymm19, %xmm16
+vpmovqw %ymm19, (%rax)
+vpmovqw %ymm19, %xmm16 {k1}
+vpmovqw %ymm19, (%rax) {k1}
+vpmovqw %ymm19, %xmm16 {k1}{z}
+
+vpmovsdb %xmm19, %xmm16
+vpmovsdb %xmm19, (%rax)
+vpmovsdb %xmm19, %xmm16 {k1}
+vpmovsdb %xmm19, (%rax) {k1}
+vpmovsdb %xmm19, %xmm16 {k1}{z}
+
+vpmovsdb %ymm19, %xmm16
+vpmovsdb %ymm19, (%rax)
+vpmovsdb %ymm19, %xmm16 {k1}
+vpmovsdb %ymm19, (%rax) {k1}
+vpmovsdb %ymm19, %xmm16 {k1}{z}
+
+vpmovsdw %xmm19, %xmm16
+vpmovsdw %xmm19, (%rax)
+vpmovsdw %xmm19, %xmm16 {k1}
+vpmovsdw %xmm19, (%rax) {k1}
+vpmovsdw %xmm19, %xmm16 {k1}{z}
+
+vpmovsdw %ymm19, %xmm16
+vpmovsdw %ymm19, (%rax)
+vpmovsdw %ymm19, %xmm16 {k1}
+vpmovsdw %ymm19, (%rax) {k1}
+vpmovsdw %ymm19, %xmm16 {k1}{z}
+
+vpmovsqb %xmm19, %xmm16
+vpmovsqb %xmm19, (%rax)
+vpmovsqb %xmm19, %xmm16 {k1}
+vpmovsqb %xmm19, (%rax) {k1}
+vpmovsqb %xmm19, %xmm16 {k1}{z}
+
+vpmovsqb %ymm19, %xmm16
+vpmovsqb %ymm19, (%rax)
+vpmovsqb %ymm19, %xmm16 {k1}
+vpmovsqb %ymm19, (%rax) {k1}
+vpmovsqb %ymm19, %xmm16 {k1}{z}
+
+vpmovsqd %xmm19, %xmm16
+vpmovsqd %xmm19, (%rax)
+vpmovsqd %xmm19, %xmm16 {k1}
+vpmovsqd %xmm19, (%rax) {k1}
+vpmovsqd %xmm19, %xmm16 {k1}{z}
+
+vpmovsqd %ymm19, %xmm16
+vpmovsqd %ymm19, (%rax)
+vpmovsqd %ymm19, %xmm16 {k1}
+vpmovsqd %ymm19, (%rax) {k1}
+vpmovsqd %ymm19, %xmm16 {k1}{z}
+
+vpmovsqw %xmm19, %xmm16
+vpmovsqw %xmm19, (%rax)
+vpmovsqw %xmm19, %xmm16 {k1}
+vpmovsqw %xmm19, (%rax) {k1}
+vpmovsqw %xmm19, %xmm16 {k1}{z}
+
+vpmovsqw %ymm19, %xmm16
+vpmovsqw %ymm19, (%rax)
+vpmovsqw %ymm19, %xmm16 {k1}
+vpmovsqw %ymm19, (%rax) {k1}
+vpmovsqw %ymm19, %xmm16 {k1}{z}
+
vpmovsxbd %xmm16, %xmm19
vpmovsxbd (%rax), %xmm19
vpmovsxbd %xmm16, %xmm19 {k1}
@@ -1257,6 +1377,66 @@ vpmovsxwq (%rax), %ymm19 {k1}
vpmovsxwq %xmm16, %ymm19 {z}{k1}
vpmovsxwq (%rax), %ymm19 {z}{k1}
+vpmovusdb %xmm19, %xmm16
+vpmovusdb %xmm19, (%rax)
+vpmovusdb %xmm19, %xmm16 {k1}
+vpmovusdb %xmm19, (%rax) {k1}
+vpmovusdb %xmm19, %xmm16 {k1}{z}
+
+vpmovusdb %ymm19, %xmm16
+vpmovusdb %ymm19, (%rax)
+vpmovusdb %ymm19, %xmm16 {k1}
+vpmovusdb %ymm19, (%rax) {k1}
+vpmovusdb %ymm19, %xmm16 {k1}{z}
+
+vpmovusdw %xmm19, %xmm16
+vpmovusdw %xmm19, (%rax)
+vpmovusdw %xmm19, %xmm16 {k1}
+vpmovusdw %xmm19, (%rax) {k1}
+vpmovusdw %xmm19, %xmm16 {k1}{z}
+
+vpmovusdw %ymm19, %xmm16
+vpmovusdw %ymm19, (%rax)
+vpmovusdw %ymm19, %xmm16 {k1}
+vpmovusdw %ymm19, (%rax) {k1}
+vpmovusdw %ymm19, %xmm16 {k1}{z}
+
+vpmovusqb %xmm19, %xmm16
+vpmovusqb %xmm19, (%rax)
+vpmovusqb %xmm19, %xmm16 {k1}
+vpmovusqb %xmm19, (%rax) {k1}
+vpmovusqb %xmm19, %xmm16 {k1}{z}
+
+vpmovusqb %ymm19, %xmm16
+vpmovusqb %ymm19, (%rax)
+vpmovusqb %ymm19, %xmm16 {k1}
+vpmovusqb %ymm19, (%rax) {k1}
+vpmovusqb %ymm19, %xmm16 {k1}{z}
+
+vpmovusqd %xmm19, %xmm16
+vpmovusqd %xmm19, (%rax)
+vpmovusqd %xmm19, %xmm16 {k1}
+vpmovusqd %xmm19, (%rax) {k1}
+vpmovusqd %xmm19, %xmm16 {k1}{z}
+
+vpmovusqd %ymm19, %xmm16
+vpmovusqd %ymm19, (%rax)
+vpmovusqd %ymm19, %xmm16 {k1}
+vpmovusqd %ymm19, (%rax) {k1}
+vpmovusqd %ymm19, %xmm16 {k1}{z}
+
+vpmovusqw %xmm19, %xmm16
+vpmovusqw %xmm19, (%rax)
+vpmovusqw %xmm19, %xmm16 {k1}
+vpmovusqw %xmm19, (%rax) {k1}
+vpmovusqw %xmm19, %xmm16 {k1}{z}
+
+vpmovusqw %ymm19, %xmm16
+vpmovusqw %ymm19, (%rax)
+vpmovusqw %ymm19, %xmm16 {k1}
+vpmovusqw %ymm19, (%rax) {k1}
+vpmovusqw %ymm19, %xmm16 {k1}{z}
+
vpmovzxbd %xmm16, %xmm19
vpmovzxbd (%rax), %xmm19
vpmovzxbd %xmm16, %xmm19 {k1}
@@ -2784,6 +2964,106 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 5 19 2.00 * vpgatherdd (%rax,%xmm1,2), %xmm2 {%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: 2 4 2.00 vpmovdb %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovdb %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovdb %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovdb %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovdw %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovdw %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovdw %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovdw %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovqb %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovqb %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovqb %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovqb %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vpmovqd %xmm19, %xmm16
+# CHECK-NEXT: 3 4 1.00 * vpmovqd %xmm19, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpmovqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 3 4 1.00 * vpmovqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpmovqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vpmovqd %ymm19, %xmm16
+# CHECK-NEXT: 3 4 1.00 * vpmovqd %ymm19, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpmovqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 3 4 1.00 * vpmovqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpmovqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovqw %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovqw %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovqw %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovqw %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovqw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsdb %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsdb %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsdb %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsdb %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsdw %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsdw %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsdw %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsdw %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqb %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsqb %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqb %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsqb %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsqd %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsqd %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqw %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsqw %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqw %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsqw %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpmovsxbd %xmm16, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpmovsxbd (%rax), %xmm19
# CHECK-NEXT: 1 1 0.50 vpmovsxbd %xmm16, %xmm19 {%k1}
@@ -2844,6 +3124,56 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovsxwq (%rax), %ymm19 {%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: 2 4 2.00 vpmovusdb %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusdb %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusdb %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusdb %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusdw %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusdw %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusdw %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusdw %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusqb %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusqb %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusqb %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusqb %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusqd %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusqd %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vpmovusqw %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusqw %xmm19, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpmovusqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpmovusqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vpmovusqw %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusqw %ymm19, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpmovusqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpmovusqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpmovzxbd %xmm16, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpmovzxbd (%rax), %xmm19
# CHECK-NEXT: 1 1 0.50 vpmovzxbd %xmm16, %xmm19 {%k1}
@@ -3273,7 +3603,7 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - 423.00 463.00 422.00 493.50 493.50 44.00 739.00 12.00 44.00 44.00 44.00
+# CHECK-NEXT: - 423.00 463.00 422.00 493.50 493.50 74.00 1023.00 12.00 74.00 74.00 74.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -4329,6 +4659,106 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - 1.58 0.58 2.00 2.00 - 0.58 0.25 - - - vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: - - 1.58 0.58 1.00 1.00 - 0.58 0.25 - - - vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: - - 1.58 0.58 1.00 1.00 - 0.58 0.25 - - - vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovdb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovdb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovdb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovdb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovdw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovdw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovdw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovdw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovqb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovqb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovqb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovqb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovqd %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 1.00 - 0.50 0.50 0.50 vpmovqd %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 1.00 - 0.50 0.50 0.50 vpmovqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovqd %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 1.00 - 0.50 0.50 0.50 vpmovqd %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 1.00 - 0.50 0.50 0.50 vpmovqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovqw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovqw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovqw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovqw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovqw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsdb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsdb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsdb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsdb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsdw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsdw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsdw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsdw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsqb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsqb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqd %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsqd %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqd %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsqd %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsqw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsqw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovsqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovsqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - - - vpmovsxbd %xmm16, %xmm19
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - - - vpmovsxbd (%rax), %xmm19
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - - - vpmovsxbd %xmm16, %xmm19 {%k1}
@@ -4389,6 +4819,56 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpmovsxwq (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovsxwq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpmovsxwq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusdb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusdb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusdb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusdb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusdw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusdw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusdw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusdw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusqb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusqb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusqb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusqb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusqd %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusqd %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusqd %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusqd %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovusqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovusqw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusqw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovusqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovusqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovusqw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusqw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovusqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovusqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovusqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - - - vpmovzxbd %xmm16, %xmm19
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - - - vpmovzxbd (%rax), %xmm19
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - - - vpmovzxbd %xmm16, %xmm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512.s
index d5f8448abe1bac..3b0ec774b513ca 100644
--- a/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512.s
@@ -636,6 +636,66 @@ vpgatherdd (%rax,%zmm1,2), %zmm2 {k1}
vpgatherqq (%rax,%zmm1,2), %zmm2 {k1}
vpgatherqd (%rax,%zmm1,2), %ymm2 {k1}
+vpmovdb %zmm19, %xmm16
+vpmovdb %zmm19, (%rax)
+vpmovdb %zmm19, %xmm16 {k1}
+vpmovdb %zmm19, (%rax) {k1}
+vpmovdb %zmm19, %xmm16 {k1}{z}
+
+vpmovdw %zmm19, %ymm16
+vpmovdw %zmm19, (%rax)
+vpmovdw %zmm19, %ymm16 {k1}
+vpmovdw %zmm19, (%rax) {k1}
+vpmovdw %zmm19, %ymm16 {k1}{z}
+
+vpmovqb %zmm19, %xmm16
+vpmovqb %zmm19, (%rax)
+vpmovqb %zmm19, %xmm16 {k1}
+vpmovqb %zmm19, (%rax) {k1}
+vpmovqb %zmm19, %xmm16 {k1}{z}
+
+vpmovqd %zmm19, %ymm16
+vpmovqd %zmm19, (%rax)
+vpmovqd %zmm19, %ymm16 {k1}
+vpmovqd %zmm19, (%rax) {k1}
+vpmovqd %zmm19, %ymm16 {k1}{z}
+
+vpmovqw %zmm19, %xmm16
+vpmovqw %zmm19, (%rax)
+vpmovqw %zmm19, %xmm16 {k1}
+vpmovqw %zmm19, (%rax) {k1}
+vpmovqw %zmm19, %xmm16 {k1}{z}
+
+vpmovsdb %zmm19, %xmm16
+vpmovsdb %zmm19, (%rax)
+vpmovsdb %zmm19, %xmm16 {k1}
+vpmovsdb %zmm19, (%rax) {k1}
+vpmovsdb %zmm19, %xmm16 {k1}{z}
+
+vpmovsdw %zmm19, %ymm16
+vpmovsdw %zmm19, (%rax)
+vpmovsdw %zmm19, %ymm16 {k1}
+vpmovsdw %zmm19, (%rax) {k1}
+vpmovsdw %zmm19, %ymm16 {k1}{z}
+
+vpmovsqb %zmm19, %xmm16
+vpmovsqb %zmm19, (%rax)
+vpmovsqb %zmm19, %xmm16 {k1}
+vpmovsqb %zmm19, (%rax) {k1}
+vpmovsqb %zmm19, %xmm16 {k1}{z}
+
+vpmovsqd %zmm19, %ymm16
+vpmovsqd %zmm19, (%rax)
+vpmovsqd %zmm19, %ymm16 {k1}
+vpmovsqd %zmm19, (%rax) {k1}
+vpmovsqd %zmm19, %ymm16 {k1}{z}
+
+vpmovsqw %zmm19, %xmm16
+vpmovsqw %zmm19, (%rax)
+vpmovsqw %zmm19, %xmm16 {k1}
+vpmovsqw %zmm19, (%rax) {k1}
+vpmovsqw %zmm19, %xmm16 {k1}{z}
+
vpmovsxbd %xmm16, %zmm19
vpmovsxbd (%rax), %zmm19
vpmovsxbd %xmm16, %zmm19 {k1}
@@ -671,6 +731,36 @@ vpmovsxwq (%rax), %zmm19 {k1}
vpmovsxwq %xmm16, %zmm19 {z}{k1}
vpmovsxwq (%rax), %zmm19 {z}{k1}
+vpmovusdb %zmm19, %xmm16
+vpmovusdb %zmm19, (%rax)
+vpmovusdb %zmm19, %xmm16 {k1}
+vpmovusdb %zmm19, (%rax) {k1}
+vpmovusdb %zmm19, %xmm16 {k1}{z}
+
+vpmovusdw %zmm19, %ymm16
+vpmovusdw %zmm19, (%rax)
+vpmovusdw %zmm19, %ymm16 {k1}
+vpmovusdw %zmm19, (%rax) {k1}
+vpmovusdw %zmm19, %ymm16 {k1}{z}
+
+vpmovusqb %zmm19, %xmm16
+vpmovusqb %zmm19, (%rax)
+vpmovusqb %zmm19, %xmm16 {k1}
+vpmovusqb %zmm19, (%rax) {k1}
+vpmovusqb %zmm19, %xmm16 {k1}{z}
+
+vpmovusqd %zmm19, %ymm16
+vpmovusqd %zmm19, (%rax)
+vpmovusqd %zmm19, %ymm16 {k1}
+vpmovusqd %zmm19, (%rax) {k1}
+vpmovusqd %zmm19, %ymm16 {k1}{z}
+
+vpmovusqw %zmm19, %xmm16
+vpmovusqw %zmm19, (%rax)
+vpmovusqw %zmm19, %xmm16 {k1}
+vpmovusqw %zmm19, (%rax) {k1}
+vpmovusqw %zmm19, %xmm16 {k1}{z}
+
vpmovzxbd %xmm16, %zmm19
vpmovzxbd (%rax), %zmm19
vpmovzxbd %xmm16, %zmm19 {k1}
@@ -1646,6 +1736,56 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 19 30 5.33 * vpgatherdd (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 11 28 2.67 * vpgatherqq (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 11 28 2.67 * vpgatherqd (%rax,%zmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovdb %zmm19, %xmm16
+# CHECK-NEXT: 4 12 2.00 * vpmovdb %zmm19, (%rax)
+# CHECK-NEXT: 2 6 2.00 vpmovdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 2.00 * vpmovdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 2.00 vpmovdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovdw %zmm19, %ymm16
+# CHECK-NEXT: 4 12 2.00 * vpmovdw %zmm19, (%rax)
+# CHECK-NEXT: 2 6 2.00 vpmovdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 4 15 2.00 * vpmovdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 2.00 vpmovdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovqb %zmm19, %xmm16
+# CHECK-NEXT: 4 12 2.00 * vpmovqb %zmm19, (%rax)
+# CHECK-NEXT: 2 6 2.00 vpmovqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 2.00 * vpmovqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 2.00 vpmovqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vpmovqd %zmm19, %ymm16
+# CHECK-NEXT: 3 12 1.00 * vpmovqd %zmm19, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpmovqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vpmovqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpmovqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovqw %zmm19, %xmm16
+# CHECK-NEXT: 4 12 2.00 * vpmovqw %zmm19, (%rax)
+# CHECK-NEXT: 2 6 2.00 vpmovqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 2.00 * vpmovqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 2.00 vpmovqw %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsdb %zmm19, %xmm16
+# CHECK-NEXT: 4 12 2.00 * vpmovsdb %zmm19, (%rax)
+# CHECK-NEXT: 2 6 2.00 vpmovsdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 2.00 * vpmovsdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 2.00 vpmovsdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsdw %zmm19, %ymm16
+# CHECK-NEXT: 4 12 2.00 * vpmovsdw %zmm19, (%rax)
+# CHECK-NEXT: 2 6 2.00 vpmovsdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 4 15 2.00 * vpmovsdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 2.00 vpmovsdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqb %zmm19, %xmm16
+# CHECK-NEXT: 4 12 2.00 * vpmovsqb %zmm19, (%rax)
+# CHECK-NEXT: 2 6 2.00 vpmovsqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 2.00 * vpmovsqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 2.00 vpmovsqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %zmm19, %ymm16
+# CHECK-NEXT: 4 12 2.00 * vpmovsqd %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 4 15 2.00 * vpmovsqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqw %zmm19, %xmm16
+# CHECK-NEXT: 4 12 2.00 * vpmovsqw %zmm19, (%rax)
+# CHECK-NEXT: 2 6 2.00 vpmovsqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 2.00 * vpmovsqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 2.00 vpmovsqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %zmm19
# CHECK-NEXT: 2 11 1.00 * vpmovsxbd (%rax), %zmm19
# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %zmm19 {%k1}
@@ -1676,6 +1816,31 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 11 1.00 * vpmovsxwq (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 1.00 * vpmovsxwq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusdb %zmm19, %xmm16
+# CHECK-NEXT: 4 12 2.00 * vpmovusdb %zmm19, (%rax)
+# CHECK-NEXT: 2 6 2.00 vpmovusdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 2.00 * vpmovusdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 2.00 vpmovusdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusdw %zmm19, %ymm16
+# CHECK-NEXT: 4 12 2.00 * vpmovusdw %zmm19, (%rax)
+# CHECK-NEXT: 2 6 2.00 vpmovusdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 4 15 2.00 * vpmovusdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 2.00 vpmovusdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusqb %zmm19, %xmm16
+# CHECK-NEXT: 4 12 2.00 * vpmovusqb %zmm19, (%rax)
+# CHECK-NEXT: 2 6 2.00 vpmovusqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 2.00 * vpmovusqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 2.00 vpmovusqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %zmm19, %ymm16
+# CHECK-NEXT: 4 12 2.00 * vpmovusqd %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 4 15 2.00 * vpmovusqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusqw %zmm19, %xmm16
+# CHECK-NEXT: 4 12 2.00 * vpmovusqw %zmm19, (%rax)
+# CHECK-NEXT: 2 6 2.00 vpmovusqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 2.00 * vpmovusqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 2.00 vpmovusqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %zmm19
# CHECK-NEXT: 2 11 1.00 * vpmovzxbd (%rax), %zmm19
# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %zmm19 {%k1}
@@ -2058,7 +2223,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 508.60 13.60 218.67 218.67 48.50 578.60 1.60 48.50 48.50 48.50 218.67 1.60 -
+# CHECK-NEXT: 508.60 13.60 218.67 218.67 63.50 723.60 1.60 63.50 63.50 63.50 218.67 1.60 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -2618,6 +2783,56 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1.00 - 5.33 5.33 - 2.00 - - - - 5.33 - - vpgatherdd (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 1.00 - 2.67 2.67 - 2.00 - - - - 2.67 - - vpgatherqq (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 1.00 - 2.67 2.67 - 2.00 - - - - 2.67 - - vpgatherqd (%rax,%zmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovdb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovdw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovqb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - vpmovqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - 0.50 1.00 - 0.50 0.50 0.50 - - - vpmovqd %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - vpmovqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - 0.50 1.00 - 0.50 0.50 0.50 - - - vpmovqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - vpmovqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovqw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovqw %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovsdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovsdb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovsdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovsdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovsdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovsdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovsdw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovsdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovsdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovsdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovsqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovsqb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovsqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovsqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovsqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovsqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovsqd %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovsqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovsqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovsqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovsqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovsqw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovsqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovsqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovsqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - - - - - - vpmovsxbd %xmm16, %zmm19
# CHECK-NEXT: - - 0.33 0.33 - 1.00 - - - - 0.33 - - vpmovsxbd (%rax), %zmm19
# CHECK-NEXT: - - - - - 1.00 - - - - - - - vpmovsxbd %xmm16, %zmm19 {%k1}
@@ -2648,6 +2863,31 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 0.33 0.33 - 1.00 - - - - 0.33 - - vpmovsxwq (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - - - - - - vpmovsxwq %xmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 - 1.00 - - - - 0.33 - - vpmovsxwq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovusdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovusdb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovusdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovusdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovusdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovusdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovusdw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovusdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovusdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovusdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovusqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovusqb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovusqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovusqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovusqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovusqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovusqd %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovusqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovusqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovusqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovusqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovusqw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovusqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovusqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovusqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - - - - - - vpmovzxbd %xmm16, %zmm19
# CHECK-NEXT: - - 0.33 0.33 - 1.00 - - - - 0.33 - - vpmovzxbd (%rax), %zmm19
# CHECK-NEXT: - - - - - 1.00 - - - - - - - vpmovzxbd %xmm16, %zmm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512bw.s b/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512bw.s
index 54b9e367c12709..f865b679db3f20 100644
--- a/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512bw.s
+++ b/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512bw.s
@@ -373,16 +373,19 @@ vpmovswb %zmm16, %ymm19
vpmovswb %zmm16, (%rax)
vpmovswb %zmm16, %ymm19 {k1}
vpmovswb %zmm16, (%rax) {k1}
+vpmovswb %zmm16, %ymm19 {z}{k1}
vpmovuswb %zmm16, %ymm19
vpmovuswb %zmm16, (%rax)
vpmovuswb %zmm16, %ymm19 {k1}
vpmovuswb %zmm16, (%rax) {k1}
+vpmovuswb %zmm16, %ymm19 {z}{k1}
vpmovwb %zmm16, %ymm19
vpmovwb %zmm16, (%rax)
vpmovwb %zmm16, %ymm19 {k1}
vpmovwb %zmm16, (%rax) {k1}
+vpmovwb %zmm16, %ymm19 {z}{k1}
vpmovzxbw %ymm16, %zmm19
vpmovzxbw (%rax), %zmm19
@@ -919,14 +922,17 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 4 12 2.00 * vpmovswb %zmm16, (%rax)
# CHECK-NEXT: 2 6 2.00 vpmovswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 4 15 2.00 * vpmovswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 6 2.00 vpmovswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 4 2.00 vpmovuswb %zmm16, %ymm19
# CHECK-NEXT: 4 12 2.00 * vpmovuswb %zmm16, (%rax)
# CHECK-NEXT: 2 6 2.00 vpmovuswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 4 15 2.00 * vpmovuswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 6 2.00 vpmovuswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 4 2.00 vpmovwb %zmm16, %ymm19
# CHECK-NEXT: 4 12 2.00 * vpmovwb %zmm16, (%rax)
# CHECK-NEXT: 2 6 2.00 vpmovwb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 4 15 2.00 * vpmovwb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 6 2.00 vpmovwb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxbw %ymm16, %zmm19
# CHECK-NEXT: 2 11 1.00 * vpmovzxbw (%rax), %zmm19
# CHECK-NEXT: 1 5 1.00 vpmovzxbw %ymm16, %zmm19 {%k1}
@@ -1129,7 +1135,7 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 269.20 4.20 73.33 73.33 7.50 272.20 0.20 7.50 7.50 7.50 73.33 0.20 -
+# CHECK-NEXT: 269.20 4.20 73.33 73.33 7.50 278.20 0.20 7.50 7.50 7.50 73.33 0.20 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -1441,14 +1447,17 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovswb %zmm16, (%rax)
# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovuswb %zmm16, %ymm19
# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovuswb %zmm16, (%rax)
# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovuswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovuswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovuswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovwb %zmm16, %ymm19
# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovwb %zmm16, (%rax)
# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovwb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 2.00 - 0.50 0.50 0.50 - - - vpmovwb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - vpmovwb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - - - - - - vpmovzxbw %ymm16, %zmm19
# CHECK-NEXT: - - 0.33 0.33 - 1.00 - - - - 0.33 - - vpmovzxbw (%rax), %zmm19
# CHECK-NEXT: - - - - - 1.00 - - - - - - - vpmovzxbw %ymm16, %zmm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512bwvl.s b/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512bwvl.s
index 598a574ae7f507..33e3d745ad3915 100644
--- a/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512bwvl.s
@@ -621,31 +621,37 @@ vpmovswb %xmm16, %xmm19
vpmovswb %xmm16, (%rax)
vpmovswb %xmm16, %xmm19 {k1}
vpmovswb %xmm16, (%rax) {k1}
+vpmovswb %xmm16, %xmm19 {z}{k1}
vpmovswb %ymm16, %xmm19
vpmovswb %ymm16, (%rax)
vpmovswb %ymm16, %xmm19 {k1}
vpmovswb %ymm16, (%rax) {k1}
+vpmovswb %ymm16, %xmm19 {z}{k1}
vpmovuswb %xmm16, %xmm19
vpmovuswb %xmm16, (%rax)
vpmovuswb %xmm16, %xmm19 {k1}
vpmovuswb %xmm16, (%rax) {k1}
+vpmovuswb %xmm16, %xmm19 {z}{k1}
vpmovuswb %ymm16, %xmm19
vpmovuswb %ymm16, (%rax)
vpmovuswb %ymm16, %xmm19 {k1}
vpmovuswb %ymm16, (%rax) {k1}
+vpmovuswb %ymm16, %xmm19 {z}{k1}
vpmovwb %xmm16, %xmm19
vpmovwb %xmm16, (%rax)
vpmovwb %xmm16, %xmm19 {k1}
vpmovwb %xmm16, (%rax) {k1}
+vpmovwb %xmm16, %xmm19 {z}{k1}
vpmovwb %ymm16, %xmm19
vpmovwb %ymm16, (%rax)
vpmovwb %ymm16, %xmm19 {k1}
vpmovwb %ymm16, (%rax) {k1}
+vpmovwb %ymm16, %xmm19 {z}{k1}
vpmovzxbw %xmm16, %xmm19
vpmovzxbw (%rax), %xmm19
@@ -1620,26 +1626,32 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 4 12 1.00 * vpmovswb %xmm16, (%rax)
# CHECK-NEXT: 2 4 1.00 vpmovswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 4 13 1.00 * vpmovswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.00 vpmovswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 4 1.00 vpmovswb %ymm16, %xmm19
# CHECK-NEXT: 4 12 1.00 * vpmovswb %ymm16, (%rax)
# CHECK-NEXT: 2 6 1.00 vpmovswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 4 15 1.00 * vpmovswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 2 6 1.00 vpmovswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 2 1.00 vpmovuswb %xmm16, %xmm19
# CHECK-NEXT: 4 12 1.00 * vpmovuswb %xmm16, (%rax)
# CHECK-NEXT: 2 4 1.00 vpmovuswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 4 13 1.00 * vpmovuswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.00 vpmovuswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 4 1.00 vpmovuswb %ymm16, %xmm19
# CHECK-NEXT: 4 12 1.00 * vpmovuswb %ymm16, (%rax)
# CHECK-NEXT: 2 6 1.00 vpmovuswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 4 15 1.00 * vpmovuswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 2 6 1.00 vpmovuswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 2 1.00 vpmovwb %xmm16, %xmm19
# CHECK-NEXT: 4 12 1.00 * vpmovwb %xmm16, (%rax)
# CHECK-NEXT: 2 4 1.00 vpmovwb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 4 13 1.00 * vpmovwb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.00 vpmovwb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 4 1.00 vpmovwb %ymm16, %xmm19
# CHECK-NEXT: 4 12 1.00 * vpmovwb %ymm16, (%rax)
# CHECK-NEXT: 2 6 1.00 vpmovwb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 4 15 1.00 * vpmovwb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 2 6 1.00 vpmovwb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpmovzxbw %xmm16, %xmm19
# CHECK-NEXT: 2 8 0.50 * vpmovzxbw (%rax), %xmm19
# CHECK-NEXT: 1 3 0.50 vpmovzxbw %xmm16, %xmm19 {%k1}
@@ -2026,7 +2038,7 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 258.67 323.17 144.00 144.00 10.00 420.17 - 10.00 10.00 10.00 144.00 - -
+# CHECK-NEXT: 258.67 326.17 144.00 144.00 10.00 429.17 - 10.00 10.00 10.00 144.00 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -2558,26 +2570,32 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovswb %xmm16, (%rax)
# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovswb %ymm16, %xmm19
# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovswb %ymm16, (%rax)
# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovuswb %xmm16, %xmm19
# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovuswb %xmm16, (%rax)
# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovuswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovuswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovuswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovuswb %ymm16, %xmm19
# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovuswb %ymm16, (%rax)
# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovuswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovuswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovuswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovwb %xmm16, %xmm19
# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovwb %xmm16, (%rax)
# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovwb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovwb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovwb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovwb %ymm16, %xmm19
# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovwb %ymm16, (%rax)
# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovwb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovwb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovwb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - 0.50 - - - 0.50 - - - - - - - vpmovzxbw %xmm16, %xmm19
# CHECK-NEXT: - 0.50 0.33 0.33 - 0.50 - - - - 0.33 - - vpmovzxbw (%rax), %xmm19
# CHECK-NEXT: - 0.50 - - - 0.50 - - - - - - - vpmovzxbw %xmm16, %xmm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512vl.s
index bc0b5b697f3b7a..ebcb70296e50ae 100644
--- a/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512vl.s
@@ -1187,6 +1187,126 @@ vpgatherdd (%rax,%xmm1,2), %xmm2 {k1}
vpgatherqq (%rax,%xmm1,2), %xmm2 {k1}
vpgatherqd (%rax,%xmm1,2), %xmm2 {k1}
+vpmovdb %xmm19, %xmm16
+vpmovdb %xmm19, (%rax)
+vpmovdb %xmm19, %xmm16 {k1}
+vpmovdb %xmm19, (%rax) {k1}
+vpmovdb %xmm19, %xmm16 {k1}{z}
+
+vpmovdb %ymm19, %xmm16
+vpmovdb %ymm19, (%rax)
+vpmovdb %ymm19, %xmm16 {k1}
+vpmovdb %ymm19, (%rax) {k1}
+vpmovdb %ymm19, %xmm16 {k1}{z}
+
+vpmovdw %xmm19, %xmm16
+vpmovdw %xmm19, (%rax)
+vpmovdw %xmm19, %xmm16 {k1}
+vpmovdw %xmm19, (%rax) {k1}
+vpmovdw %xmm19, %xmm16 {k1}{z}
+
+vpmovdw %ymm19, %xmm16
+vpmovdw %ymm19, (%rax)
+vpmovdw %ymm19, %xmm16 {k1}
+vpmovdw %ymm19, (%rax) {k1}
+vpmovdw %ymm19, %xmm16 {k1}{z}
+
+vpmovqb %xmm19, %xmm16
+vpmovqb %xmm19, (%rax)
+vpmovqb %xmm19, %xmm16 {k1}
+vpmovqb %xmm19, (%rax) {k1}
+vpmovqb %xmm19, %xmm16 {k1}{z}
+
+vpmovqb %ymm19, %xmm16
+vpmovqb %ymm19, (%rax)
+vpmovqb %ymm19, %xmm16 {k1}
+vpmovqb %ymm19, (%rax) {k1}
+vpmovqb %ymm19, %xmm16 {k1}{z}
+
+vpmovqd %xmm19, %xmm16
+vpmovqd %xmm19, (%rax)
+vpmovqd %xmm19, %xmm16 {k1}
+vpmovqd %xmm19, (%rax) {k1}
+vpmovqd %xmm19, %xmm16 {k1}{z}
+
+vpmovqd %ymm19, %xmm16
+vpmovqd %ymm19, (%rax)
+vpmovqd %ymm19, %xmm16 {k1}
+vpmovqd %ymm19, (%rax) {k1}
+vpmovqd %ymm19, %xmm16 {k1}{z}
+
+vpmovqw %xmm19, %xmm16
+vpmovqw %xmm19, (%rax)
+vpmovqw %xmm19, %xmm16 {k1}
+vpmovqw %xmm19, (%rax) {k1}
+vpmovqw %xmm19, %xmm16 {k1}{z}
+
+vpmovqw %ymm19, %xmm16
+vpmovqw %ymm19, (%rax)
+vpmovqw %ymm19, %xmm16 {k1}
+vpmovqw %ymm19, (%rax) {k1}
+vpmovqw %ymm19, %xmm16 {k1}{z}
+
+vpmovsdb %xmm19, %xmm16
+vpmovsdb %xmm19, (%rax)
+vpmovsdb %xmm19, %xmm16 {k1}
+vpmovsdb %xmm19, (%rax) {k1}
+vpmovsdb %xmm19, %xmm16 {k1}{z}
+
+vpmovsdb %ymm19, %xmm16
+vpmovsdb %ymm19, (%rax)
+vpmovsdb %ymm19, %xmm16 {k1}
+vpmovsdb %ymm19, (%rax) {k1}
+vpmovsdb %ymm19, %xmm16 {k1}{z}
+
+vpmovsdw %xmm19, %xmm16
+vpmovsdw %xmm19, (%rax)
+vpmovsdw %xmm19, %xmm16 {k1}
+vpmovsdw %xmm19, (%rax) {k1}
+vpmovsdw %xmm19, %xmm16 {k1}{z}
+
+vpmovsdw %ymm19, %xmm16
+vpmovsdw %ymm19, (%rax)
+vpmovsdw %ymm19, %xmm16 {k1}
+vpmovsdw %ymm19, (%rax) {k1}
+vpmovsdw %ymm19, %xmm16 {k1}{z}
+
+vpmovsqb %xmm19, %xmm16
+vpmovsqb %xmm19, (%rax)
+vpmovsqb %xmm19, %xmm16 {k1}
+vpmovsqb %xmm19, (%rax) {k1}
+vpmovsqb %xmm19, %xmm16 {k1}{z}
+
+vpmovsqb %ymm19, %xmm16
+vpmovsqb %ymm19, (%rax)
+vpmovsqb %ymm19, %xmm16 {k1}
+vpmovsqb %ymm19, (%rax) {k1}
+vpmovsqb %ymm19, %xmm16 {k1}{z}
+
+vpmovsqd %xmm19, %xmm16
+vpmovsqd %xmm19, (%rax)
+vpmovsqd %xmm19, %xmm16 {k1}
+vpmovsqd %xmm19, (%rax) {k1}
+vpmovsqd %xmm19, %xmm16 {k1}{z}
+
+vpmovsqd %ymm19, %xmm16
+vpmovsqd %ymm19, (%rax)
+vpmovsqd %ymm19, %xmm16 {k1}
+vpmovsqd %ymm19, (%rax) {k1}
+vpmovsqd %ymm19, %xmm16 {k1}{z}
+
+vpmovsqw %xmm19, %xmm16
+vpmovsqw %xmm19, (%rax)
+vpmovsqw %xmm19, %xmm16 {k1}
+vpmovsqw %xmm19, (%rax) {k1}
+vpmovsqw %xmm19, %xmm16 {k1}{z}
+
+vpmovsqw %ymm19, %xmm16
+vpmovsqw %ymm19, (%rax)
+vpmovsqw %ymm19, %xmm16 {k1}
+vpmovsqw %ymm19, (%rax) {k1}
+vpmovsqw %ymm19, %xmm16 {k1}{z}
+
vpmovsxbd %xmm16, %xmm19
vpmovsxbd (%rax), %xmm19
vpmovsxbd %xmm16, %xmm19 {k1}
@@ -1257,6 +1377,66 @@ vpmovsxwq (%rax), %ymm19 {k1}
vpmovsxwq %xmm16, %ymm19 {z}{k1}
vpmovsxwq (%rax), %ymm19 {z}{k1}
+vpmovusdb %xmm19, %xmm16
+vpmovusdb %xmm19, (%rax)
+vpmovusdb %xmm19, %xmm16 {k1}
+vpmovusdb %xmm19, (%rax) {k1}
+vpmovusdb %xmm19, %xmm16 {k1}{z}
+
+vpmovusdb %ymm19, %xmm16
+vpmovusdb %ymm19, (%rax)
+vpmovusdb %ymm19, %xmm16 {k1}
+vpmovusdb %ymm19, (%rax) {k1}
+vpmovusdb %ymm19, %xmm16 {k1}{z}
+
+vpmovusdw %xmm19, %xmm16
+vpmovusdw %xmm19, (%rax)
+vpmovusdw %xmm19, %xmm16 {k1}
+vpmovusdw %xmm19, (%rax) {k1}
+vpmovusdw %xmm19, %xmm16 {k1}{z}
+
+vpmovusdw %ymm19, %xmm16
+vpmovusdw %ymm19, (%rax)
+vpmovusdw %ymm19, %xmm16 {k1}
+vpmovusdw %ymm19, (%rax) {k1}
+vpmovusdw %ymm19, %xmm16 {k1}{z}
+
+vpmovusqb %xmm19, %xmm16
+vpmovusqb %xmm19, (%rax)
+vpmovusqb %xmm19, %xmm16 {k1}
+vpmovusqb %xmm19, (%rax) {k1}
+vpmovusqb %xmm19, %xmm16 {k1}{z}
+
+vpmovusqb %ymm19, %xmm16
+vpmovusqb %ymm19, (%rax)
+vpmovusqb %ymm19, %xmm16 {k1}
+vpmovusqb %ymm19, (%rax) {k1}
+vpmovusqb %ymm19, %xmm16 {k1}{z}
+
+vpmovusqd %xmm19, %xmm16
+vpmovusqd %xmm19, (%rax)
+vpmovusqd %xmm19, %xmm16 {k1}
+vpmovusqd %xmm19, (%rax) {k1}
+vpmovusqd %xmm19, %xmm16 {k1}{z}
+
+vpmovusqd %ymm19, %xmm16
+vpmovusqd %ymm19, (%rax)
+vpmovusqd %ymm19, %xmm16 {k1}
+vpmovusqd %ymm19, (%rax) {k1}
+vpmovusqd %ymm19, %xmm16 {k1}{z}
+
+vpmovusqw %xmm19, %xmm16
+vpmovusqw %xmm19, (%rax)
+vpmovusqw %xmm19, %xmm16 {k1}
+vpmovusqw %xmm19, (%rax) {k1}
+vpmovusqw %xmm19, %xmm16 {k1}{z}
+
+vpmovusqw %ymm19, %xmm16
+vpmovusqw %ymm19, (%rax)
+vpmovusqw %ymm19, %xmm16 {k1}
+vpmovusqw %ymm19, (%rax) {k1}
+vpmovusqw %ymm19, %xmm16 {k1}{z}
+
vpmovzxbd %xmm16, %xmm19
vpmovzxbd (%rax), %xmm19
vpmovzxbd %xmm16, %xmm19 {k1}
@@ -2784,6 +2964,106 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 7 27 1.33 * vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 4 20 1.00 * vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 4 20 1.00 * vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 2 2 1.00 vpmovdb %xmm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovdb %xmm19, (%rax)
+# CHECK-NEXT: 2 4 1.00 vpmovdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 13 1.00 * vpmovdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.00 vpmovdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vpmovdb %ymm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovdb %ymm19, (%rax)
+# CHECK-NEXT: 2 6 1.00 vpmovdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 1.00 * vpmovdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 1.00 vpmovdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 2 1.00 vpmovdw %xmm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovdw %xmm19, (%rax)
+# CHECK-NEXT: 2 4 1.00 vpmovdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 13 1.00 * vpmovdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.00 vpmovdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vpmovdw %ymm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovdw %ymm19, (%rax)
+# CHECK-NEXT: 2 6 1.00 vpmovdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 1.00 * vpmovdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 1.00 vpmovdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 2 1.00 vpmovqb %xmm19, %xmm16
+# CHECK-NEXT: 4 20 1.00 * vpmovqb %xmm19, (%rax)
+# CHECK-NEXT: 2 4 1.00 vpmovqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 13 1.00 * vpmovqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.00 vpmovqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vpmovqb %ymm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovqb %ymm19, (%rax)
+# CHECK-NEXT: 2 6 1.00 vpmovqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 1.00 * vpmovqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 1.00 vpmovqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpmovqd %xmm19, %xmm16
+# CHECK-NEXT: 3 12 0.50 * vpmovqd %xmm19, (%rax)
+# CHECK-NEXT: 1 1 0.50 vpmovqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 3 12 0.50 * vpmovqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.50 vpmovqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vpmovqd %ymm19, %xmm16
+# CHECK-NEXT: 3 12 1.00 * vpmovqd %ymm19, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpmovqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vpmovqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpmovqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 2 1.00 vpmovqw %xmm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovqw %xmm19, (%rax)
+# CHECK-NEXT: 2 4 1.00 vpmovqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 13 1.00 * vpmovqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.00 vpmovqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vpmovqw %ymm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovqw %ymm19, (%rax)
+# CHECK-NEXT: 2 6 1.00 vpmovqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 1.00 * vpmovqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 1.00 vpmovqw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 2 1.00 vpmovsdb %xmm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovsdb %xmm19, (%rax)
+# CHECK-NEXT: 2 4 1.00 vpmovsdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 13 1.00 * vpmovsdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.00 vpmovsdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vpmovsdb %ymm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovsdb %ymm19, (%rax)
+# CHECK-NEXT: 2 6 1.00 vpmovsdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 1.00 * vpmovsdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 1.00 vpmovsdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 2 1.00 vpmovsdw %xmm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovsdw %xmm19, (%rax)
+# CHECK-NEXT: 2 4 1.00 vpmovsdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 13 1.00 * vpmovsdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.00 vpmovsdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vpmovsdw %ymm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovsdw %ymm19, (%rax)
+# CHECK-NEXT: 2 6 1.00 vpmovsdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 1.00 * vpmovsdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 1.00 vpmovsdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 2 1.00 vpmovsqb %xmm19, %xmm16
+# CHECK-NEXT: 4 20 1.00 * vpmovsqb %xmm19, (%rax)
+# CHECK-NEXT: 2 4 1.00 vpmovsqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 13 1.00 * vpmovsqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.00 vpmovsqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vpmovsqb %ymm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovsqb %ymm19, (%rax)
+# CHECK-NEXT: 2 6 1.00 vpmovsqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 1.00 * vpmovsqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 1.00 vpmovsqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 2 1.00 vpmovsqd %xmm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovsqd %xmm19, (%rax)
+# CHECK-NEXT: 2 2 1.00 vpmovsqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 13 1.00 * vpmovsqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 2 1.00 vpmovsqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vpmovsqd %ymm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovsqd %ymm19, (%rax)
+# CHECK-NEXT: 2 4 1.00 vpmovsqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 1.00 * vpmovsqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.00 vpmovsqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 2 1.00 vpmovsqw %xmm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovsqw %xmm19, (%rax)
+# CHECK-NEXT: 2 4 1.00 vpmovsqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 13 1.00 * vpmovsqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.00 vpmovsqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vpmovsqw %ymm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovsqw %ymm19, (%rax)
+# CHECK-NEXT: 2 6 1.00 vpmovsqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 1.00 * vpmovsqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 1.00 vpmovsqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpmovsxbd %xmm16, %xmm19
# CHECK-NEXT: 2 8 0.50 * vpmovsxbd (%rax), %xmm19
# CHECK-NEXT: 1 1 0.50 vpmovsxbd %xmm16, %xmm19 {%k1}
@@ -2844,6 +3124,56 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 11 1.00 * vpmovsxwq (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 1.00 * vpmovsxwq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 2 1.00 vpmovusdb %xmm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovusdb %xmm19, (%rax)
+# CHECK-NEXT: 2 4 1.00 vpmovusdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 13 1.00 * vpmovusdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.00 vpmovusdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vpmovusdb %ymm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovusdb %ymm19, (%rax)
+# CHECK-NEXT: 2 6 1.00 vpmovusdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 1.00 * vpmovusdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 1.00 vpmovusdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 2 1.00 vpmovusdw %xmm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovusdw %xmm19, (%rax)
+# CHECK-NEXT: 2 4 1.00 vpmovusdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 13 1.00 * vpmovusdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.00 vpmovusdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vpmovusdw %ymm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovusdw %ymm19, (%rax)
+# CHECK-NEXT: 2 6 1.00 vpmovusdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 1.00 * vpmovusdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 1.00 vpmovusdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 2 1.00 vpmovusqb %xmm19, %xmm16
+# CHECK-NEXT: 4 20 1.00 * vpmovusqb %xmm19, (%rax)
+# CHECK-NEXT: 2 4 1.00 vpmovusqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 13 1.00 * vpmovusqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.00 vpmovusqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vpmovusqb %ymm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovusqb %ymm19, (%rax)
+# CHECK-NEXT: 2 6 1.00 vpmovusqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 1.00 * vpmovusqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 1.00 vpmovusqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 2 1.00 vpmovusqd %xmm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovusqd %xmm19, (%rax)
+# CHECK-NEXT: 2 2 1.00 vpmovusqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 13 1.00 * vpmovusqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 2 1.00 vpmovusqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vpmovusqd %ymm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovusqd %ymm19, (%rax)
+# CHECK-NEXT: 2 4 1.00 vpmovusqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 1.00 * vpmovusqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.00 vpmovusqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 2 1.00 vpmovusqw %xmm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovusqw %xmm19, (%rax)
+# CHECK-NEXT: 2 4 1.00 vpmovusqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 13 1.00 * vpmovusqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.00 vpmovusqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vpmovusqw %ymm19, %xmm16
+# CHECK-NEXT: 4 12 1.00 * vpmovusqw %ymm19, (%rax)
+# CHECK-NEXT: 2 6 1.00 vpmovusqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 15 1.00 * vpmovusqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 6 1.00 vpmovusqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpmovzxbd %xmm16, %xmm19
# CHECK-NEXT: 2 8 0.50 * vpmovzxbd (%rax), %xmm19
# CHECK-NEXT: 1 1 0.50 vpmovzxbd %xmm16, %xmm19 {%k1}
@@ -3274,7 +3604,7 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 404.53 412.53 329.00 329.00 46.00 797.53 3.20 46.00 46.00 46.00 329.00 3.20 -
+# CHECK-NEXT: 404.53 485.03 329.00 329.00 76.00 1015.03 3.20 76.00 76.00 76.00 329.00 3.20 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -4330,6 +4660,106 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1.00 1.00 1.33 1.33 - 1.00 - - - - 1.33 - - vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 1.00 0.50 0.67 0.67 - 0.50 - - - - 0.67 - - vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 1.00 0.50 0.67 0.67 - 0.50 - - - - 0.67 - - vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovdb %xmm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovdb %xmm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovdb %ymm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovdb %ymm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovdw %xmm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovdw %xmm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovdw %ymm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovdw %ymm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovqb %xmm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovqb %xmm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovqb %ymm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovqb %ymm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 0.50 - - - - - - - vpmovqd %xmm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 0.50 - 0.50 0.50 0.50 - - - vpmovqd %xmm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 0.50 - - - - - - - vpmovqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 0.50 - 0.50 0.50 0.50 - - - vpmovqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 0.50 - - - - - - - vpmovqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - vpmovqd %ymm19, %xmm16
+# CHECK-NEXT: - - - - 0.50 1.00 - 0.50 0.50 0.50 - - - vpmovqd %ymm19, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - vpmovqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.50 1.00 - 0.50 0.50 0.50 - - - vpmovqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - vpmovqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovqw %xmm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovqw %xmm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovqw %ymm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovqw %ymm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovqw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsdb %xmm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsdb %xmm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsdb %ymm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsdb %ymm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsdw %xmm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsdw %xmm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsdw %ymm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsdw %ymm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsqb %xmm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsqb %xmm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsqb %ymm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsqb %ymm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsqd %xmm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsqd %xmm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsqd %ymm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsqd %ymm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsqw %xmm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsqw %xmm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsqw %ymm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsqw %ymm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovsqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovsqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - 0.50 - - - 0.50 - - - - - - - vpmovsxbd %xmm16, %xmm19
# CHECK-NEXT: - 0.50 0.33 0.33 - 0.50 - - - - 0.33 - - vpmovsxbd (%rax), %xmm19
# CHECK-NEXT: - 0.50 - - - 0.50 - - - - - - - vpmovsxbd %xmm16, %xmm19 {%k1}
@@ -4390,6 +4820,56 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - 0.33 0.33 - 1.00 - - - - 0.33 - - vpmovsxwq (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - - - - - - vpmovsxwq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 - 1.00 - - - - 0.33 - - vpmovsxwq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusdb %xmm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusdb %xmm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusdb %ymm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusdb %ymm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusdw %xmm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusdw %xmm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusdw %ymm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusdw %ymm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusqb %xmm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusqb %xmm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusqb %ymm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusqb %ymm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusqd %xmm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusqd %xmm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusqd %ymm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusqd %ymm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusqw %xmm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusqw %xmm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusqw %ymm19, %xmm16
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusqw %ymm19, (%rax)
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - 0.50 - - 0.50 1.50 - 0.50 0.50 0.50 - - - vpmovusqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - 0.50 - - - 1.50 - - - - - - - vpmovusqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - 0.50 - - - 0.50 - - - - - - - vpmovzxbd %xmm16, %xmm19
# CHECK-NEXT: - 0.50 0.33 0.33 - 0.50 - - - - 0.33 - - vpmovzxbd (%rax), %xmm19
# CHECK-NEXT: - 0.50 - - - 0.50 - - - - - - - vpmovzxbd %xmm16, %xmm19 {%k1}
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 4f384dcf35c833..6df52b307c2a3d 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
@@ -636,6 +636,66 @@ vpgatherdd (%rax,%zmm1,2), %zmm2 {k1}
vpgatherqq (%rax,%zmm1,2), %zmm2 {k1}
vpgatherqd (%rax,%zmm1,2), %ymm2 {k1}
+vpmovdb %zmm19, %xmm16
+vpmovdb %zmm19, (%rax)
+vpmovdb %zmm19, %xmm16 {k1}
+vpmovdb %zmm19, (%rax) {k1}
+vpmovdb %zmm19, %xmm16 {k1}{z}
+
+vpmovdw %zmm19, %ymm16
+vpmovdw %zmm19, (%rax)
+vpmovdw %zmm19, %ymm16 {k1}
+vpmovdw %zmm19, (%rax) {k1}
+vpmovdw %zmm19, %ymm16 {k1}{z}
+
+vpmovqb %zmm19, %xmm16
+vpmovqb %zmm19, (%rax)
+vpmovqb %zmm19, %xmm16 {k1}
+vpmovqb %zmm19, (%rax) {k1}
+vpmovqb %zmm19, %xmm16 {k1}{z}
+
+vpmovqd %zmm19, %ymm16
+vpmovqd %zmm19, (%rax)
+vpmovqd %zmm19, %ymm16 {k1}
+vpmovqd %zmm19, (%rax) {k1}
+vpmovqd %zmm19, %ymm16 {k1}{z}
+
+vpmovqw %zmm19, %xmm16
+vpmovqw %zmm19, (%rax)
+vpmovqw %zmm19, %xmm16 {k1}
+vpmovqw %zmm19, (%rax) {k1}
+vpmovqw %zmm19, %xmm16 {k1}{z}
+
+vpmovsdb %zmm19, %xmm16
+vpmovsdb %zmm19, (%rax)
+vpmovsdb %zmm19, %xmm16 {k1}
+vpmovsdb %zmm19, (%rax) {k1}
+vpmovsdb %zmm19, %xmm16 {k1}{z}
+
+vpmovsdw %zmm19, %ymm16
+vpmovsdw %zmm19, (%rax)
+vpmovsdw %zmm19, %ymm16 {k1}
+vpmovsdw %zmm19, (%rax) {k1}
+vpmovsdw %zmm19, %ymm16 {k1}{z}
+
+vpmovsqb %zmm19, %xmm16
+vpmovsqb %zmm19, (%rax)
+vpmovsqb %zmm19, %xmm16 {k1}
+vpmovsqb %zmm19, (%rax) {k1}
+vpmovsqb %zmm19, %xmm16 {k1}{z}
+
+vpmovsqd %zmm19, %ymm16
+vpmovsqd %zmm19, (%rax)
+vpmovsqd %zmm19, %ymm16 {k1}
+vpmovsqd %zmm19, (%rax) {k1}
+vpmovsqd %zmm19, %ymm16 {k1}{z}
+
+vpmovsqw %zmm19, %xmm16
+vpmovsqw %zmm19, (%rax)
+vpmovsqw %zmm19, %xmm16 {k1}
+vpmovsqw %zmm19, (%rax) {k1}
+vpmovsqw %zmm19, %xmm16 {k1}{z}
+
vpmovsxbd %xmm16, %zmm19
vpmovsxbd (%rax), %zmm19
vpmovsxbd %xmm16, %zmm19 {k1}
@@ -671,6 +731,36 @@ vpmovsxwq (%rax), %zmm19 {k1}
vpmovsxwq %xmm16, %zmm19 {z}{k1}
vpmovsxwq (%rax), %zmm19 {z}{k1}
+vpmovusdb %zmm19, %xmm16
+vpmovusdb %zmm19, (%rax)
+vpmovusdb %zmm19, %xmm16 {k1}
+vpmovusdb %zmm19, (%rax) {k1}
+vpmovusdb %zmm19, %xmm16 {k1}{z}
+
+vpmovusdw %zmm19, %ymm16
+vpmovusdw %zmm19, (%rax)
+vpmovusdw %zmm19, %ymm16 {k1}
+vpmovusdw %zmm19, (%rax) {k1}
+vpmovusdw %zmm19, %ymm16 {k1}{z}
+
+vpmovusqb %zmm19, %xmm16
+vpmovusqb %zmm19, (%rax)
+vpmovusqb %zmm19, %xmm16 {k1}
+vpmovusqb %zmm19, (%rax) {k1}
+vpmovusqb %zmm19, %xmm16 {k1}{z}
+
+vpmovusqd %zmm19, %ymm16
+vpmovusqd %zmm19, (%rax)
+vpmovusqd %zmm19, %ymm16 {k1}
+vpmovusqd %zmm19, (%rax) {k1}
+vpmovusqd %zmm19, %ymm16 {k1}{z}
+
+vpmovusqw %zmm19, %xmm16
+vpmovusqw %zmm19, (%rax)
+vpmovusqw %zmm19, %xmm16 {k1}
+vpmovusqw %zmm19, (%rax) {k1}
+vpmovusqw %zmm19, %xmm16 {k1}{z}
+
vpmovzxbd %xmm16, %zmm19
vpmovzxbd (%rax), %zmm19
vpmovzxbd %xmm16, %zmm19 {k1}
@@ -1646,6 +1736,56 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{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}
# CHECK-NEXT: 5 21 4.00 * vpgatherqd (%rax,%zmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovdb %zmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovdb %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovdw %zmm19, %ymm16
+# CHECK-NEXT: 4 5 2.00 * vpmovdw %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovqb %zmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovqb %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vpmovqd %zmm19, %ymm16
+# CHECK-NEXT: 3 4 1.00 * vpmovqd %zmm19, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpmovqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 3 4 1.00 * vpmovqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpmovqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovqw %zmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovqw %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovqw %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsdb %zmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsdb %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsdw %zmm19, %ymm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsdw %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqb %zmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsqb %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %zmm19, %ymm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsqd %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqw %zmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsqw %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %zmm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxbd (%rax), %zmm19
# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %zmm19 {%k1}
@@ -1676,6 +1816,31 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovsxwq (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxwq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusdb %zmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusdb %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusdw %zmm19, %ymm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusdw %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusqb %zmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusqb %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %zmm19, %ymm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusqd %zmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vpmovusqw %zmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusqw %zmm19, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpmovusqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpmovusqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %zmm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %zmm19
# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %zmm19 {%k1}
@@ -2055,7 +2220,7 @@ vunpcklps (%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: - 612.00 353.00 104.00 360.33 360.33 97.00 652.00 6.00 32.33
+# CHECK-NEXT: - 612.00 353.00 104.00 370.33 370.33 127.00 794.00 6.00 42.33
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -2615,6 +2780,56 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 1.58 0.58 8.00 8.00 - 0.58 0.25 - vpgatherdd (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: - - 1.58 0.58 4.00 4.00 - 0.58 0.25 - vpgatherqq (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: - - 1.58 0.58 4.00 4.00 - 0.58 0.25 - vpgatherqd (%rax,%zmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovdb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovdw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovqb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpmovqd %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpmovqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovqw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovqw %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsdb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsdw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsqb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsqd %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsqw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbd %xmm16, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbd %xmm16, %zmm19 {%k1}
@@ -2645,6 +2860,31 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusdb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusdw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusqb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusqd %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovusqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusqw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovusqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovusqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm16, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm16, %zmm19 {%k1}
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 ff22174f41e938..55581d5995f830 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s
@@ -373,16 +373,19 @@ vpmovswb %zmm16, %ymm19
vpmovswb %zmm16, (%rax)
vpmovswb %zmm16, %ymm19 {k1}
vpmovswb %zmm16, (%rax) {k1}
+vpmovswb %zmm16, %ymm19 {z}{k1}
vpmovuswb %zmm16, %ymm19
vpmovuswb %zmm16, (%rax)
vpmovuswb %zmm16, %ymm19 {k1}
vpmovuswb %zmm16, (%rax) {k1}
+vpmovuswb %zmm16, %ymm19 {z}{k1}
vpmovwb %zmm16, %ymm19
vpmovwb %zmm16, (%rax)
vpmovwb %zmm16, %ymm19 {k1}
vpmovwb %zmm16, (%rax) {k1}
+vpmovwb %zmm16, %ymm19 {z}{k1}
vpmovzxbw %ymm16, %zmm19
vpmovzxbw (%rax), %zmm19
@@ -919,14 +922,17 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 4 5 2.00 * vpmovswb %zmm16, (%rax)
# CHECK-NEXT: 2 4 2.00 vpmovswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 4 5 2.00 * vpmovswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 4 2.00 vpmovuswb %zmm16, %ymm19
# CHECK-NEXT: 4 5 2.00 * vpmovuswb %zmm16, (%rax)
# CHECK-NEXT: 2 4 2.00 vpmovuswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 4 5 2.00 * vpmovuswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovuswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 4 2.00 vpmovwb %zmm16, %ymm19
# CHECK-NEXT: 4 5 2.00 * vpmovwb %zmm16, (%rax)
# CHECK-NEXT: 2 4 2.00 vpmovwb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 4 5 2.00 * vpmovwb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovwb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxbw %ymm16, %zmm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxbw (%rax), %zmm19
# CHECK-NEXT: 1 3 1.00 vpmovzxbw %ymm16, %zmm19 {%k1}
@@ -1126,7 +1132,7 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 239.50 17.50 115.33 115.33 16.00 295.50 0.50 5.33
+# CHECK-NEXT: - - 239.50 17.50 115.33 115.33 16.00 301.50 0.50 5.33
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1438,14 +1444,17 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovswb %zmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - vpmovswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 2.00 - - vpmovuswb %zmm16, %ymm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovuswb %zmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - vpmovuswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovuswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovuswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 2.00 - - vpmovwb %zmm16, %ymm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovwb %zmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - vpmovwb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovwb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovwb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %ymm16, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %ymm16, %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 c861bc2300be98..c7ba4556f559b5 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
@@ -621,31 +621,37 @@ vpmovswb %xmm16, %xmm19
vpmovswb %xmm16, (%rax)
vpmovswb %xmm16, %xmm19 {k1}
vpmovswb %xmm16, (%rax) {k1}
+vpmovswb %xmm16, %xmm19 {z}{k1}
vpmovswb %ymm16, %xmm19
vpmovswb %ymm16, (%rax)
vpmovswb %ymm16, %xmm19 {k1}
vpmovswb %ymm16, (%rax) {k1}
+vpmovswb %ymm16, %xmm19 {z}{k1}
vpmovuswb %xmm16, %xmm19
vpmovuswb %xmm16, (%rax)
vpmovuswb %xmm16, %xmm19 {k1}
vpmovuswb %xmm16, (%rax) {k1}
+vpmovuswb %xmm16, %xmm19 {z}{k1}
vpmovuswb %ymm16, %xmm19
vpmovuswb %ymm16, (%rax)
vpmovuswb %ymm16, %xmm19 {k1}
vpmovuswb %ymm16, (%rax) {k1}
+vpmovuswb %ymm16, %xmm19 {z}{k1}
vpmovwb %xmm16, %xmm19
vpmovwb %xmm16, (%rax)
vpmovwb %xmm16, %xmm19 {k1}
vpmovwb %xmm16, (%rax) {k1}
+vpmovwb %xmm16, %xmm19 {z}{k1}
vpmovwb %ymm16, %xmm19
vpmovwb %ymm16, (%rax)
vpmovwb %ymm16, %xmm19 {k1}
vpmovwb %ymm16, (%rax) {k1}
+vpmovwb %ymm16, %xmm19 {z}{k1}
vpmovzxbw %xmm16, %xmm19
vpmovzxbw (%rax), %xmm19
@@ -1620,26 +1626,32 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 4 5 2.00 * vpmovswb %xmm16, (%rax)
# CHECK-NEXT: 2 4 2.00 vpmovswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 4 5 2.00 * vpmovswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 4 2.00 vpmovswb %ymm16, %xmm19
# CHECK-NEXT: 4 5 2.00 * vpmovswb %ymm16, (%rax)
# CHECK-NEXT: 2 4 2.00 vpmovswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 4 5 2.00 * vpmovswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 4 2.00 vpmovuswb %xmm16, %xmm19
# CHECK-NEXT: 4 5 2.00 * vpmovuswb %xmm16, (%rax)
# CHECK-NEXT: 2 4 2.00 vpmovuswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 4 5 2.00 * vpmovuswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovuswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 4 2.00 vpmovuswb %ymm16, %xmm19
# CHECK-NEXT: 4 5 2.00 * vpmovuswb %ymm16, (%rax)
# CHECK-NEXT: 2 4 2.00 vpmovuswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 4 5 2.00 * vpmovuswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovuswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 4 2.00 vpmovwb %xmm16, %xmm19
# CHECK-NEXT: 4 5 2.00 * vpmovwb %xmm16, (%rax)
# CHECK-NEXT: 2 4 2.00 vpmovwb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 4 5 2.00 * vpmovwb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovwb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 4 2.00 vpmovwb %ymm16, %xmm19
# CHECK-NEXT: 4 5 2.00 * vpmovwb %ymm16, (%rax)
# CHECK-NEXT: 2 4 2.00 vpmovwb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 4 5 2.00 * vpmovwb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovwb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm16, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpmovzxbw (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm16, %xmm19 {%k1}
@@ -2023,7 +2035,7 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 255.33 251.33 222.67 222.67 20.00 503.33 - 6.67
+# CHECK-NEXT: - - 255.33 251.33 222.67 222.67 20.00 515.33 - 6.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -2555,26 +2567,32 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovswb %xmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - vpmovswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 2.00 - - vpmovswb %ymm16, %xmm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovswb %ymm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - vpmovswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 2.00 - - vpmovuswb %xmm16, %xmm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovuswb %xmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - vpmovuswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovuswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovuswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 2.00 - - vpmovuswb %ymm16, %xmm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovuswb %ymm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - vpmovuswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovuswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovuswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 2.00 - - vpmovwb %xmm16, %xmm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovwb %xmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - vpmovwb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovwb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovwb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 2.00 - - vpmovwb %ymm16, %xmm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovwb %ymm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - vpmovwb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovwb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovwb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm16, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm16, %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 de4d158e3b60ce..f9668c7214bc74 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
@@ -1187,6 +1187,126 @@ vpgatherdd (%rax,%xmm1,2), %xmm2 {k1}
vpgatherqq (%rax,%xmm1,2), %xmm2 {k1}
vpgatherqd (%rax,%xmm1,2), %xmm2 {k1}
+vpmovdb %xmm19, %xmm16
+vpmovdb %xmm19, (%rax)
+vpmovdb %xmm19, %xmm16 {k1}
+vpmovdb %xmm19, (%rax) {k1}
+vpmovdb %xmm19, %xmm16 {k1}{z}
+
+vpmovdb %ymm19, %xmm16
+vpmovdb %ymm19, (%rax)
+vpmovdb %ymm19, %xmm16 {k1}
+vpmovdb %ymm19, (%rax) {k1}
+vpmovdb %ymm19, %xmm16 {k1}{z}
+
+vpmovdw %xmm19, %xmm16
+vpmovdw %xmm19, (%rax)
+vpmovdw %xmm19, %xmm16 {k1}
+vpmovdw %xmm19, (%rax) {k1}
+vpmovdw %xmm19, %xmm16 {k1}{z}
+
+vpmovdw %ymm19, %xmm16
+vpmovdw %ymm19, (%rax)
+vpmovdw %ymm19, %xmm16 {k1}
+vpmovdw %ymm19, (%rax) {k1}
+vpmovdw %ymm19, %xmm16 {k1}{z}
+
+vpmovqb %xmm19, %xmm16
+vpmovqb %xmm19, (%rax)
+vpmovqb %xmm19, %xmm16 {k1}
+vpmovqb %xmm19, (%rax) {k1}
+vpmovqb %xmm19, %xmm16 {k1}{z}
+
+vpmovqb %ymm19, %xmm16
+vpmovqb %ymm19, (%rax)
+vpmovqb %ymm19, %xmm16 {k1}
+vpmovqb %ymm19, (%rax) {k1}
+vpmovqb %ymm19, %xmm16 {k1}{z}
+
+vpmovqd %xmm19, %xmm16
+vpmovqd %xmm19, (%rax)
+vpmovqd %xmm19, %xmm16 {k1}
+vpmovqd %xmm19, (%rax) {k1}
+vpmovqd %xmm19, %xmm16 {k1}{z}
+
+vpmovqd %ymm19, %xmm16
+vpmovqd %ymm19, (%rax)
+vpmovqd %ymm19, %xmm16 {k1}
+vpmovqd %ymm19, (%rax) {k1}
+vpmovqd %ymm19, %xmm16 {k1}{z}
+
+vpmovqw %xmm19, %xmm16
+vpmovqw %xmm19, (%rax)
+vpmovqw %xmm19, %xmm16 {k1}
+vpmovqw %xmm19, (%rax) {k1}
+vpmovqw %xmm19, %xmm16 {k1}{z}
+
+vpmovqw %ymm19, %xmm16
+vpmovqw %ymm19, (%rax)
+vpmovqw %ymm19, %xmm16 {k1}
+vpmovqw %ymm19, (%rax) {k1}
+vpmovqw %ymm19, %xmm16 {k1}{z}
+
+vpmovsdb %xmm19, %xmm16
+vpmovsdb %xmm19, (%rax)
+vpmovsdb %xmm19, %xmm16 {k1}
+vpmovsdb %xmm19, (%rax) {k1}
+vpmovsdb %xmm19, %xmm16 {k1}{z}
+
+vpmovsdb %ymm19, %xmm16
+vpmovsdb %ymm19, (%rax)
+vpmovsdb %ymm19, %xmm16 {k1}
+vpmovsdb %ymm19, (%rax) {k1}
+vpmovsdb %ymm19, %xmm16 {k1}{z}
+
+vpmovsdw %xmm19, %xmm16
+vpmovsdw %xmm19, (%rax)
+vpmovsdw %xmm19, %xmm16 {k1}
+vpmovsdw %xmm19, (%rax) {k1}
+vpmovsdw %xmm19, %xmm16 {k1}{z}
+
+vpmovsdw %ymm19, %xmm16
+vpmovsdw %ymm19, (%rax)
+vpmovsdw %ymm19, %xmm16 {k1}
+vpmovsdw %ymm19, (%rax) {k1}
+vpmovsdw %ymm19, %xmm16 {k1}{z}
+
+vpmovsqb %xmm19, %xmm16
+vpmovsqb %xmm19, (%rax)
+vpmovsqb %xmm19, %xmm16 {k1}
+vpmovsqb %xmm19, (%rax) {k1}
+vpmovsqb %xmm19, %xmm16 {k1}{z}
+
+vpmovsqb %ymm19, %xmm16
+vpmovsqb %ymm19, (%rax)
+vpmovsqb %ymm19, %xmm16 {k1}
+vpmovsqb %ymm19, (%rax) {k1}
+vpmovsqb %ymm19, %xmm16 {k1}{z}
+
+vpmovsqd %xmm19, %xmm16
+vpmovsqd %xmm19, (%rax)
+vpmovsqd %xmm19, %xmm16 {k1}
+vpmovsqd %xmm19, (%rax) {k1}
+vpmovsqd %xmm19, %xmm16 {k1}{z}
+
+vpmovsqd %ymm19, %xmm16
+vpmovsqd %ymm19, (%rax)
+vpmovsqd %ymm19, %xmm16 {k1}
+vpmovsqd %ymm19, (%rax) {k1}
+vpmovsqd %ymm19, %xmm16 {k1}{z}
+
+vpmovsqw %xmm19, %xmm16
+vpmovsqw %xmm19, (%rax)
+vpmovsqw %xmm19, %xmm16 {k1}
+vpmovsqw %xmm19, (%rax) {k1}
+vpmovsqw %xmm19, %xmm16 {k1}{z}
+
+vpmovsqw %ymm19, %xmm16
+vpmovsqw %ymm19, (%rax)
+vpmovsqw %ymm19, %xmm16 {k1}
+vpmovsqw %ymm19, (%rax) {k1}
+vpmovsqw %ymm19, %xmm16 {k1}{z}
+
vpmovsxbd %xmm16, %xmm19
vpmovsxbd (%rax), %xmm19
vpmovsxbd %xmm16, %xmm19 {k1}
@@ -1257,6 +1377,66 @@ vpmovsxwq (%rax), %ymm19 {k1}
vpmovsxwq %xmm16, %ymm19 {z}{k1}
vpmovsxwq (%rax), %ymm19 {z}{k1}
+vpmovusdb %xmm19, %xmm16
+vpmovusdb %xmm19, (%rax)
+vpmovusdb %xmm19, %xmm16 {k1}
+vpmovusdb %xmm19, (%rax) {k1}
+vpmovusdb %xmm19, %xmm16 {k1}{z}
+
+vpmovusdb %ymm19, %xmm16
+vpmovusdb %ymm19, (%rax)
+vpmovusdb %ymm19, %xmm16 {k1}
+vpmovusdb %ymm19, (%rax) {k1}
+vpmovusdb %ymm19, %xmm16 {k1}{z}
+
+vpmovusdw %xmm19, %xmm16
+vpmovusdw %xmm19, (%rax)
+vpmovusdw %xmm19, %xmm16 {k1}
+vpmovusdw %xmm19, (%rax) {k1}
+vpmovusdw %xmm19, %xmm16 {k1}{z}
+
+vpmovusdw %ymm19, %xmm16
+vpmovusdw %ymm19, (%rax)
+vpmovusdw %ymm19, %xmm16 {k1}
+vpmovusdw %ymm19, (%rax) {k1}
+vpmovusdw %ymm19, %xmm16 {k1}{z}
+
+vpmovusqb %xmm19, %xmm16
+vpmovusqb %xmm19, (%rax)
+vpmovusqb %xmm19, %xmm16 {k1}
+vpmovusqb %xmm19, (%rax) {k1}
+vpmovusqb %xmm19, %xmm16 {k1}{z}
+
+vpmovusqb %ymm19, %xmm16
+vpmovusqb %ymm19, (%rax)
+vpmovusqb %ymm19, %xmm16 {k1}
+vpmovusqb %ymm19, (%rax) {k1}
+vpmovusqb %ymm19, %xmm16 {k1}{z}
+
+vpmovusqd %xmm19, %xmm16
+vpmovusqd %xmm19, (%rax)
+vpmovusqd %xmm19, %xmm16 {k1}
+vpmovusqd %xmm19, (%rax) {k1}
+vpmovusqd %xmm19, %xmm16 {k1}{z}
+
+vpmovusqd %ymm19, %xmm16
+vpmovusqd %ymm19, (%rax)
+vpmovusqd %ymm19, %xmm16 {k1}
+vpmovusqd %ymm19, (%rax) {k1}
+vpmovusqd %ymm19, %xmm16 {k1}{z}
+
+vpmovusqw %xmm19, %xmm16
+vpmovusqw %xmm19, (%rax)
+vpmovusqw %xmm19, %xmm16 {k1}
+vpmovusqw %xmm19, (%rax) {k1}
+vpmovusqw %xmm19, %xmm16 {k1}{z}
+
+vpmovusqw %ymm19, %xmm16
+vpmovusqw %ymm19, (%rax)
+vpmovusqw %ymm19, %xmm16 {k1}
+vpmovusqw %ymm19, (%rax) {k1}
+vpmovusqw %ymm19, %xmm16 {k1}{z}
+
vpmovzxbd %xmm16, %xmm19
vpmovzxbd (%rax), %xmm19
vpmovzxbd %xmm16, %xmm19 {k1}
@@ -2784,6 +2964,106 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 5 19 2.00 * vpgatherdd (%rax,%xmm1,2), %xmm2 {%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: 2 4 2.00 vpmovdb %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovdb %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovdb %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovdb %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovdw %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovdw %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovdw %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovdw %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovqb %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovqb %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovqb %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovqb %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vpmovqd %xmm19, %xmm16
+# CHECK-NEXT: 3 4 1.00 * vpmovqd %xmm19, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpmovqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 3 4 1.00 * vpmovqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpmovqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vpmovqd %ymm19, %xmm16
+# CHECK-NEXT: 3 4 1.00 * vpmovqd %ymm19, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpmovqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 3 4 1.00 * vpmovqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpmovqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovqw %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovqw %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovqw %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovqw %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovqw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsdb %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsdb %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsdb %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsdb %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsdw %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsdw %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsdw %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsdw %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqb %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsqb %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqb %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsqb %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsqd %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsqd %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqw %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsqw %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovsqw %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovsqw %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovsqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovsqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovsqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpmovsxbd (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %xmm19 {%k1}
@@ -2844,6 +3124,56 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovsxwq (%rax), %ymm19 {%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: 2 4 2.00 vpmovusdb %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusdb %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusdb %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusdb %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusdw %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusdw %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusdw %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusdw %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusqb %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusqb %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusqb %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusqb %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusqd %xmm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusqd %ymm19, (%rax)
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 2.00 vpmovusqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vpmovusqw %xmm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusqw %xmm19, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpmovusqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpmovusqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vpmovusqw %ymm19, %xmm16
+# CHECK-NEXT: 4 5 2.00 * vpmovusqw %ymm19, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpmovusqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 4 5 2.00 * vpmovusqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpmovusqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpmovzxbd (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %xmm19 {%k1}
@@ -3271,7 +3601,7 @@ vunpcklps (%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: - 423.00 463.00 359.00 522.83 522.83 88.00 802.00 12.00 29.33
+# CHECK-NEXT: - 423.00 463.00 359.00 542.83 542.83 148.00 1086.00 12.00 49.33
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -4327,6 +4657,106 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - 1.58 0.58 2.00 2.00 - 0.58 0.25 - vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: - - 1.58 0.58 1.00 1.00 - 0.58 0.25 - vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: - - 1.58 0.58 1.00 1.00 - 0.58 0.25 - vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovdb %xmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovdb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovdb %ymm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovdb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovdw %xmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovdw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovdw %ymm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovdw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovqb %xmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovqb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovqb %ymm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovqb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovqd %xmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpmovqd %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpmovqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovqd %ymm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpmovqd %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpmovqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovqw %xmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovqw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovqw %ymm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovqw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovqw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsdb %xmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsdb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsdb %ymm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsdb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsdw %xmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsdw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsdw %ymm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsdw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqb %xmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsqb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqb %ymm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsqb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqd %xmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsqd %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqd %ymm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsqd %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqw %xmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsqw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqw %ymm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsqw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovsqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovsqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbd %xmm16, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbd %xmm16, %xmm19 {%k1}
@@ -4387,6 +4817,56 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusdb %xmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusdb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusdb %ymm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusdb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusdw %xmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusdw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusdw %ymm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusdw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusqb %xmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusqb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusqb %ymm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusqb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusqd %xmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusqd %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusqd %ymm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusqd %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 2.00 - - vpmovusqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovusqw %xmm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusqw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovusqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovusqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovusqw %ymm19, %xmm16
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusqw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovusqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 vpmovusqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovusqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm16, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm16, %xmm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
index c8f07e94ad6b74..2c1af86822d099 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
@@ -636,6 +636,66 @@ vpgatherdd (%rax,%zmm1,2), %zmm2 {k1}
vpgatherqq (%rax,%zmm1,2), %zmm2 {k1}
vpgatherqd (%rax,%zmm1,2), %ymm2 {k1}
+vpmovdb %zmm19, %xmm16
+vpmovdb %zmm19, (%rax)
+vpmovdb %zmm19, %xmm16 {k1}
+vpmovdb %zmm19, (%rax) {k1}
+vpmovdb %zmm19, %xmm16 {k1}{z}
+
+vpmovdw %zmm19, %ymm16
+vpmovdw %zmm19, (%rax)
+vpmovdw %zmm19, %ymm16 {k1}
+vpmovdw %zmm19, (%rax) {k1}
+vpmovdw %zmm19, %ymm16 {k1}{z}
+
+vpmovqb %zmm19, %xmm16
+vpmovqb %zmm19, (%rax)
+vpmovqb %zmm19, %xmm16 {k1}
+vpmovqb %zmm19, (%rax) {k1}
+vpmovqb %zmm19, %xmm16 {k1}{z}
+
+vpmovqd %zmm19, %ymm16
+vpmovqd %zmm19, (%rax)
+vpmovqd %zmm19, %ymm16 {k1}
+vpmovqd %zmm19, (%rax) {k1}
+vpmovqd %zmm19, %ymm16 {k1}{z}
+
+vpmovqw %zmm19, %xmm16
+vpmovqw %zmm19, (%rax)
+vpmovqw %zmm19, %xmm16 {k1}
+vpmovqw %zmm19, (%rax) {k1}
+vpmovqw %zmm19, %xmm16 {k1}{z}
+
+vpmovsdb %zmm19, %xmm16
+vpmovsdb %zmm19, (%rax)
+vpmovsdb %zmm19, %xmm16 {k1}
+vpmovsdb %zmm19, (%rax) {k1}
+vpmovsdb %zmm19, %xmm16 {k1}{z}
+
+vpmovsdw %zmm19, %ymm16
+vpmovsdw %zmm19, (%rax)
+vpmovsdw %zmm19, %ymm16 {k1}
+vpmovsdw %zmm19, (%rax) {k1}
+vpmovsdw %zmm19, %ymm16 {k1}{z}
+
+vpmovsqb %zmm19, %xmm16
+vpmovsqb %zmm19, (%rax)
+vpmovsqb %zmm19, %xmm16 {k1}
+vpmovsqb %zmm19, (%rax) {k1}
+vpmovsqb %zmm19, %xmm16 {k1}{z}
+
+vpmovsqd %zmm19, %ymm16
+vpmovsqd %zmm19, (%rax)
+vpmovsqd %zmm19, %ymm16 {k1}
+vpmovsqd %zmm19, (%rax) {k1}
+vpmovsqd %zmm19, %ymm16 {k1}{z}
+
+vpmovsqw %zmm19, %xmm16
+vpmovsqw %zmm19, (%rax)
+vpmovsqw %zmm19, %xmm16 {k1}
+vpmovsqw %zmm19, (%rax) {k1}
+vpmovsqw %zmm19, %xmm16 {k1}{z}
+
vpmovsxbd %xmm16, %zmm19
vpmovsxbd (%rax), %zmm19
vpmovsxbd %xmm16, %zmm19 {k1}
@@ -671,6 +731,36 @@ vpmovsxwq (%rax), %zmm19 {k1}
vpmovsxwq %xmm16, %zmm19 {z}{k1}
vpmovsxwq (%rax), %zmm19 {z}{k1}
+vpmovusdb %zmm19, %xmm16
+vpmovusdb %zmm19, (%rax)
+vpmovusdb %zmm19, %xmm16 {k1}
+vpmovusdb %zmm19, (%rax) {k1}
+vpmovusdb %zmm19, %xmm16 {k1}{z}
+
+vpmovusdw %zmm19, %ymm16
+vpmovusdw %zmm19, (%rax)
+vpmovusdw %zmm19, %ymm16 {k1}
+vpmovusdw %zmm19, (%rax) {k1}
+vpmovusdw %zmm19, %ymm16 {k1}{z}
+
+vpmovusqb %zmm19, %xmm16
+vpmovusqb %zmm19, (%rax)
+vpmovusqb %zmm19, %xmm16 {k1}
+vpmovusqb %zmm19, (%rax) {k1}
+vpmovusqb %zmm19, %xmm16 {k1}{z}
+
+vpmovusqd %zmm19, %ymm16
+vpmovusqd %zmm19, (%rax)
+vpmovusqd %zmm19, %ymm16 {k1}
+vpmovusqd %zmm19, (%rax) {k1}
+vpmovusqd %zmm19, %ymm16 {k1}{z}
+
+vpmovusqw %zmm19, %xmm16
+vpmovusqw %zmm19, (%rax)
+vpmovusqw %zmm19, %xmm16 {k1}
+vpmovusqw %zmm19, (%rax) {k1}
+vpmovusqw %zmm19, %xmm16 {k1}{z}
+
vpmovzxbd %xmm16, %zmm19
vpmovzxbd (%rax), %zmm19
vpmovzxbd %xmm16, %zmm19 {k1}
@@ -1646,6 +1736,56 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 5 0.33 * vpgatherdd (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 1 5 0.33 * vpgatherqq (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 1 5 0.33 * vpgatherqd (%rax,%zmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 1 5 2.50 vpmovdb %zmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovdb %zmm19, (%rax)
+# CHECK-NEXT: 1 5 2.50 vpmovdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 5 2.50 vpmovdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.50 vpmovdw %zmm19, %ymm16
+# CHECK-NEXT: 1 11 1.50 * vpmovdw %zmm19, (%rax)
+# CHECK-NEXT: 2 4 1.50 vpmovdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.50 vpmovdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 5 2.50 vpmovqb %zmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovqb %zmm19, (%rax)
+# CHECK-NEXT: 1 5 2.50 vpmovqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 5 2.50 vpmovqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.50 vpmovqd %zmm19, %ymm16
+# CHECK-NEXT: 1 11 1.50 * vpmovqd %zmm19, (%rax)
+# CHECK-NEXT: 2 4 1.50 vpmovqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.50 vpmovqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 5 2.50 vpmovqw %zmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovqw %zmm19, (%rax)
+# CHECK-NEXT: 1 5 2.50 vpmovqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 5 2.50 vpmovqw %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 5 2.50 vpmovsdb %zmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovsdb %zmm19, (%rax)
+# CHECK-NEXT: 1 5 2.50 vpmovsdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovsdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 5 2.50 vpmovsdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.50 vpmovsdw %zmm19, %ymm16
+# CHECK-NEXT: 1 11 1.50 * vpmovsdw %zmm19, (%rax)
+# CHECK-NEXT: 2 4 1.50 vpmovsdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovsdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.50 vpmovsdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 5 2.50 vpmovsqb %zmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovsqb %zmm19, (%rax)
+# CHECK-NEXT: 1 5 2.50 vpmovsqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovsqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 5 2.50 vpmovsqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.50 vpmovsqd %zmm19, %ymm16
+# CHECK-NEXT: 1 11 1.50 * vpmovsqd %zmm19, (%rax)
+# CHECK-NEXT: 2 4 1.50 vpmovsqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovsqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.50 vpmovsqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 5 2.50 vpmovsqw %zmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovsqw %zmm19, (%rax)
+# CHECK-NEXT: 1 5 2.50 vpmovsqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovsqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 5 2.50 vpmovsqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 4 2.00 vpmovsxbd %xmm16, %zmm19
# CHECK-NEXT: 1 11 1.50 * vpmovsxbd (%rax), %zmm19
# CHECK-NEXT: 1 4 2.00 vpmovsxbd %xmm16, %zmm19 {%k1}
@@ -1676,6 +1816,31 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 11 1.50 * vpmovsxwq (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 4 2.00 vpmovsxwq %xmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovsxwq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 2.50 vpmovusdb %zmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovusdb %zmm19, (%rax)
+# CHECK-NEXT: 1 5 2.50 vpmovusdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovusdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 5 2.50 vpmovusdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.50 vpmovusdw %zmm19, %ymm16
+# CHECK-NEXT: 1 11 1.50 * vpmovusdw %zmm19, (%rax)
+# CHECK-NEXT: 2 4 1.50 vpmovusdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovusdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.50 vpmovusdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 5 2.50 vpmovusqb %zmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovusqb %zmm19, (%rax)
+# CHECK-NEXT: 1 5 2.50 vpmovusqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovusqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 5 2.50 vpmovusqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.50 vpmovusqd %zmm19, %ymm16
+# CHECK-NEXT: 1 11 1.50 * vpmovusqd %zmm19, (%rax)
+# CHECK-NEXT: 2 4 1.50 vpmovusqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovusqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.50 vpmovusqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 5 2.50 vpmovusqw %zmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovusqw %zmm19, (%rax)
+# CHECK-NEXT: 1 5 2.50 vpmovusqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovusqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 5 2.50 vpmovusqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 4 2.00 vpmovzxbd %xmm16, %zmm19
# CHECK-NEXT: 1 11 1.50 * vpmovzxbd (%rax), %zmm19
# CHECK-NEXT: 1 4 2.00 vpmovzxbd %xmm16, %zmm19 {%k1}
@@ -2068,7 +2233,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 219.50 1059.00 616.50 351.00 297.50 297.50 17.00 205.67 205.67 205.67 194.67 194.67 194.67 16.50 16.50
+# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 219.50 1198.50 756.00 351.00 312.50 312.50 17.00 215.67 215.67 215.67 204.67 204.67 204.67 16.50 16.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
@@ -2628,6 +2793,56 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherdd (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherqq (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherqd (%rax,%zmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqd %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovqw %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovsdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovsdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovsdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovsqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqd %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovsqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovsqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxbd %xmm16, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %zmm19
# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxbd %xmm16, %zmm19 {%k1}
@@ -2658,6 +2873,31 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxwq %xmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovusdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovusdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovusdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovusqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqd %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovusqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovusqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusqw %zmm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxbd %xmm16, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %zmm19
# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxbd %xmm16, %zmm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s
index 4585ed0f2ed742..64ea2597e1213f 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s
@@ -373,16 +373,19 @@ vpmovswb %zmm16, %ymm19
vpmovswb %zmm16, (%rax)
vpmovswb %zmm16, %ymm19 {k1}
vpmovswb %zmm16, (%rax) {k1}
+vpmovswb %zmm16, %ymm19 {z}{k1}
vpmovuswb %zmm16, %ymm19
vpmovuswb %zmm16, (%rax)
vpmovuswb %zmm16, %ymm19 {k1}
vpmovuswb %zmm16, (%rax) {k1}
+vpmovuswb %zmm16, %ymm19 {z}{k1}
vpmovwb %zmm16, %ymm19
vpmovwb %zmm16, (%rax)
vpmovwb %zmm16, %ymm19 {k1}
vpmovwb %zmm16, (%rax) {k1}
+vpmovwb %zmm16, %ymm19 {z}{k1}
vpmovzxbw %ymm16, %zmm19
vpmovzxbw (%rax), %zmm19
@@ -919,14 +922,17 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 11 1.50 * vpmovswb %zmm16, (%rax)
# CHECK-NEXT: 2 4 1.50 vpmovswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.50 vpmovswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 4 1.50 vpmovuswb %zmm16, %ymm19
# CHECK-NEXT: 1 11 1.50 * vpmovuswb %zmm16, (%rax)
# CHECK-NEXT: 2 4 1.50 vpmovuswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovuswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.50 vpmovuswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 4 1.50 vpmovwb %zmm16, %ymm19
# CHECK-NEXT: 1 11 1.50 * vpmovwb %zmm16, (%rax)
# CHECK-NEXT: 2 4 1.50 vpmovwb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovwb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.50 vpmovwb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 4 2.00 vpmovzxbw %ymm16, %zmm19
# CHECK-NEXT: 1 11 1.50 * vpmovzxbw (%rax), %zmm19
# CHECK-NEXT: 1 4 2.00 vpmovzxbw %ymm16, %zmm19 {%k1}
@@ -1139,7 +1145,7 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 0.67 0.67 0.67 2.00 2.00 2.00 2.00 - 177.50 309.00 274.50 161.00 123.00 123.00 6.00 77.33 77.33 77.33 75.33 75.33 75.33 3.00 3.00
+# CHECK-NEXT: 0.67 0.67 0.67 2.00 2.00 2.00 2.00 - 177.50 313.50 279.00 161.00 123.00 123.00 6.00 77.33 77.33 77.33 75.33 75.33 75.33 3.00 3.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
@@ -1451,14 +1457,17 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovswb %zmm16, (%rax)
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovuswb %zmm16, %ymm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovuswb %zmm16, (%rax)
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovuswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovuswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovuswb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovwb %zmm16, %ymm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovwb %zmm16, (%rax)
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovwb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovwb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovwb %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxbw %ymm16, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %zmm19
# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxbw %ymm16, %zmm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bwvl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bwvl.s
index 8a62f803fce072..a298dd69ee9b35 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bwvl.s
@@ -621,31 +621,37 @@ vpmovswb %xmm16, %xmm19
vpmovswb %xmm16, (%rax)
vpmovswb %xmm16, %xmm19 {k1}
vpmovswb %xmm16, (%rax) {k1}
+vpmovswb %xmm16, %xmm19 {z}{k1}
vpmovswb %ymm16, %xmm19
vpmovswb %ymm16, (%rax)
vpmovswb %ymm16, %xmm19 {k1}
vpmovswb %ymm16, (%rax) {k1}
+vpmovswb %ymm16, %xmm19 {z}{k1}
vpmovuswb %xmm16, %xmm19
vpmovuswb %xmm16, (%rax)
vpmovuswb %xmm16, %xmm19 {k1}
vpmovuswb %xmm16, (%rax) {k1}
+vpmovuswb %xmm16, %xmm19 {z}{k1}
vpmovuswb %ymm16, %xmm19
vpmovuswb %ymm16, (%rax)
vpmovuswb %ymm16, %xmm19 {k1}
vpmovuswb %ymm16, (%rax) {k1}
+vpmovuswb %ymm16, %xmm19 {z}{k1}
vpmovwb %xmm16, %xmm19
vpmovwb %xmm16, (%rax)
vpmovwb %xmm16, %xmm19 {k1}
vpmovwb %xmm16, (%rax) {k1}
+vpmovwb %xmm16, %xmm19 {z}{k1}
vpmovwb %ymm16, %xmm19
vpmovwb %ymm16, (%rax)
vpmovwb %ymm16, %xmm19 {k1}
vpmovwb %ymm16, (%rax) {k1}
+vpmovwb %ymm16, %xmm19 {z}{k1}
vpmovzxbw %xmm16, %xmm19
vpmovzxbw (%rax), %xmm19
@@ -1620,26 +1626,32 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 11 1.50 * vpmovswb %xmm16, (%rax)
# CHECK-NEXT: 1 2 0.50 vpmovswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 2 0.50 vpmovswb %ymm16, %xmm19
# CHECK-NEXT: 1 11 1.50 * vpmovswb %ymm16, (%rax)
# CHECK-NEXT: 1 2 0.50 vpmovswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 2 0.50 vpmovuswb %xmm16, %xmm19
# CHECK-NEXT: 1 11 1.50 * vpmovuswb %xmm16, (%rax)
# CHECK-NEXT: 1 2 0.50 vpmovuswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovuswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovuswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 2 0.50 vpmovuswb %ymm16, %xmm19
# CHECK-NEXT: 1 11 1.50 * vpmovuswb %ymm16, (%rax)
# CHECK-NEXT: 1 2 0.50 vpmovuswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovuswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovuswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 2 0.50 vpmovwb %xmm16, %xmm19
# CHECK-NEXT: 1 11 1.50 * vpmovwb %xmm16, (%rax)
# CHECK-NEXT: 1 2 0.50 vpmovwb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovwb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovwb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 2 0.50 vpmovwb %ymm16, %xmm19
# CHECK-NEXT: 1 11 1.50 * vpmovwb %ymm16, (%rax)
# CHECK-NEXT: 1 2 0.50 vpmovwb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovwb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovwb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 2 0.50 vpmovzxbw %xmm16, %xmm19
# CHECK-NEXT: 1 8 0.50 * vpmovzxbw (%rax), %xmm19
# CHECK-NEXT: 1 2 0.50 vpmovzxbw %xmm16, %xmm19 {%k1}
@@ -2036,7 +2048,7 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - 4.00 4.00 4.00 4.00 - 233.00 408.50 297.50 140.00 226.00 226.00 8.00 150.67 150.67 150.67 148.00 148.00 148.00 4.00 4.00
+# CHECK-NEXT: - - - 4.00 4.00 4.00 4.00 - 233.00 411.50 300.50 140.00 226.00 226.00 8.00 150.67 150.67 150.67 148.00 148.00 148.00 4.00 4.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
@@ -2568,26 +2580,32 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovswb %xmm16, (%rax)
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovswb %ymm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovswb %ymm16, (%rax)
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovuswb %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovuswb %xmm16, (%rax)
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovuswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovuswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovuswb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovuswb %ymm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovuswb %ymm16, (%rax)
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovuswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovuswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovuswb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovwb %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovwb %xmm16, (%rax)
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovwb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovwb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovwb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovwb %ymm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovwb %ymm16, (%rax)
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovwb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovwb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovwb %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbw %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbw %xmm16, %xmm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
index 5565eb740a1c69..ce8b986b0f8b54 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
@@ -1187,6 +1187,126 @@ vpgatherdd (%rax,%xmm1,2), %xmm2 {k1}
vpgatherqq (%rax,%xmm1,2), %xmm2 {k1}
vpgatherqd (%rax,%xmm1,2), %xmm2 {k1}
+vpmovdb %xmm19, %xmm16
+vpmovdb %xmm19, (%rax)
+vpmovdb %xmm19, %xmm16 {k1}
+vpmovdb %xmm19, (%rax) {k1}
+vpmovdb %xmm19, %xmm16 {k1}{z}
+
+vpmovdb %ymm19, %xmm16
+vpmovdb %ymm19, (%rax)
+vpmovdb %ymm19, %xmm16 {k1}
+vpmovdb %ymm19, (%rax) {k1}
+vpmovdb %ymm19, %xmm16 {k1}{z}
+
+vpmovdw %xmm19, %xmm16
+vpmovdw %xmm19, (%rax)
+vpmovdw %xmm19, %xmm16 {k1}
+vpmovdw %xmm19, (%rax) {k1}
+vpmovdw %xmm19, %xmm16 {k1}{z}
+
+vpmovdw %ymm19, %xmm16
+vpmovdw %ymm19, (%rax)
+vpmovdw %ymm19, %xmm16 {k1}
+vpmovdw %ymm19, (%rax) {k1}
+vpmovdw %ymm19, %xmm16 {k1}{z}
+
+vpmovqb %xmm19, %xmm16
+vpmovqb %xmm19, (%rax)
+vpmovqb %xmm19, %xmm16 {k1}
+vpmovqb %xmm19, (%rax) {k1}
+vpmovqb %xmm19, %xmm16 {k1}{z}
+
+vpmovqb %ymm19, %xmm16
+vpmovqb %ymm19, (%rax)
+vpmovqb %ymm19, %xmm16 {k1}
+vpmovqb %ymm19, (%rax) {k1}
+vpmovqb %ymm19, %xmm16 {k1}{z}
+
+vpmovqd %xmm19, %xmm16
+vpmovqd %xmm19, (%rax)
+vpmovqd %xmm19, %xmm16 {k1}
+vpmovqd %xmm19, (%rax) {k1}
+vpmovqd %xmm19, %xmm16 {k1}{z}
+
+vpmovqd %ymm19, %xmm16
+vpmovqd %ymm19, (%rax)
+vpmovqd %ymm19, %xmm16 {k1}
+vpmovqd %ymm19, (%rax) {k1}
+vpmovqd %ymm19, %xmm16 {k1}{z}
+
+vpmovqw %xmm19, %xmm16
+vpmovqw %xmm19, (%rax)
+vpmovqw %xmm19, %xmm16 {k1}
+vpmovqw %xmm19, (%rax) {k1}
+vpmovqw %xmm19, %xmm16 {k1}{z}
+
+vpmovqw %ymm19, %xmm16
+vpmovqw %ymm19, (%rax)
+vpmovqw %ymm19, %xmm16 {k1}
+vpmovqw %ymm19, (%rax) {k1}
+vpmovqw %ymm19, %xmm16 {k1}{z}
+
+vpmovsdb %xmm19, %xmm16
+vpmovsdb %xmm19, (%rax)
+vpmovsdb %xmm19, %xmm16 {k1}
+vpmovsdb %xmm19, (%rax) {k1}
+vpmovsdb %xmm19, %xmm16 {k1}{z}
+
+vpmovsdb %ymm19, %xmm16
+vpmovsdb %ymm19, (%rax)
+vpmovsdb %ymm19, %xmm16 {k1}
+vpmovsdb %ymm19, (%rax) {k1}
+vpmovsdb %ymm19, %xmm16 {k1}{z}
+
+vpmovsdw %xmm19, %xmm16
+vpmovsdw %xmm19, (%rax)
+vpmovsdw %xmm19, %xmm16 {k1}
+vpmovsdw %xmm19, (%rax) {k1}
+vpmovsdw %xmm19, %xmm16 {k1}{z}
+
+vpmovsdw %ymm19, %xmm16
+vpmovsdw %ymm19, (%rax)
+vpmovsdw %ymm19, %xmm16 {k1}
+vpmovsdw %ymm19, (%rax) {k1}
+vpmovsdw %ymm19, %xmm16 {k1}{z}
+
+vpmovsqb %xmm19, %xmm16
+vpmovsqb %xmm19, (%rax)
+vpmovsqb %xmm19, %xmm16 {k1}
+vpmovsqb %xmm19, (%rax) {k1}
+vpmovsqb %xmm19, %xmm16 {k1}{z}
+
+vpmovsqb %ymm19, %xmm16
+vpmovsqb %ymm19, (%rax)
+vpmovsqb %ymm19, %xmm16 {k1}
+vpmovsqb %ymm19, (%rax) {k1}
+vpmovsqb %ymm19, %xmm16 {k1}{z}
+
+vpmovsqd %xmm19, %xmm16
+vpmovsqd %xmm19, (%rax)
+vpmovsqd %xmm19, %xmm16 {k1}
+vpmovsqd %xmm19, (%rax) {k1}
+vpmovsqd %xmm19, %xmm16 {k1}{z}
+
+vpmovsqd %ymm19, %xmm16
+vpmovsqd %ymm19, (%rax)
+vpmovsqd %ymm19, %xmm16 {k1}
+vpmovsqd %ymm19, (%rax) {k1}
+vpmovsqd %ymm19, %xmm16 {k1}{z}
+
+vpmovsqw %xmm19, %xmm16
+vpmovsqw %xmm19, (%rax)
+vpmovsqw %xmm19, %xmm16 {k1}
+vpmovsqw %xmm19, (%rax) {k1}
+vpmovsqw %xmm19, %xmm16 {k1}{z}
+
+vpmovsqw %ymm19, %xmm16
+vpmovsqw %ymm19, (%rax)
+vpmovsqw %ymm19, %xmm16 {k1}
+vpmovsqw %ymm19, (%rax) {k1}
+vpmovsqw %ymm19, %xmm16 {k1}{z}
+
vpmovsxbd %xmm16, %xmm19
vpmovsxbd (%rax), %xmm19
vpmovsxbd %xmm16, %xmm19 {k1}
@@ -1257,6 +1377,66 @@ vpmovsxwq (%rax), %ymm19 {k1}
vpmovsxwq %xmm16, %ymm19 {z}{k1}
vpmovsxwq (%rax), %ymm19 {z}{k1}
+vpmovusdb %xmm19, %xmm16
+vpmovusdb %xmm19, (%rax)
+vpmovusdb %xmm19, %xmm16 {k1}
+vpmovusdb %xmm19, (%rax) {k1}
+vpmovusdb %xmm19, %xmm16 {k1}{z}
+
+vpmovusdb %ymm19, %xmm16
+vpmovusdb %ymm19, (%rax)
+vpmovusdb %ymm19, %xmm16 {k1}
+vpmovusdb %ymm19, (%rax) {k1}
+vpmovusdb %ymm19, %xmm16 {k1}{z}
+
+vpmovusdw %xmm19, %xmm16
+vpmovusdw %xmm19, (%rax)
+vpmovusdw %xmm19, %xmm16 {k1}
+vpmovusdw %xmm19, (%rax) {k1}
+vpmovusdw %xmm19, %xmm16 {k1}{z}
+
+vpmovusdw %ymm19, %xmm16
+vpmovusdw %ymm19, (%rax)
+vpmovusdw %ymm19, %xmm16 {k1}
+vpmovusdw %ymm19, (%rax) {k1}
+vpmovusdw %ymm19, %xmm16 {k1}{z}
+
+vpmovusqb %xmm19, %xmm16
+vpmovusqb %xmm19, (%rax)
+vpmovusqb %xmm19, %xmm16 {k1}
+vpmovusqb %xmm19, (%rax) {k1}
+vpmovusqb %xmm19, %xmm16 {k1}{z}
+
+vpmovusqb %ymm19, %xmm16
+vpmovusqb %ymm19, (%rax)
+vpmovusqb %ymm19, %xmm16 {k1}
+vpmovusqb %ymm19, (%rax) {k1}
+vpmovusqb %ymm19, %xmm16 {k1}{z}
+
+vpmovusqd %xmm19, %xmm16
+vpmovusqd %xmm19, (%rax)
+vpmovusqd %xmm19, %xmm16 {k1}
+vpmovusqd %xmm19, (%rax) {k1}
+vpmovusqd %xmm19, %xmm16 {k1}{z}
+
+vpmovusqd %ymm19, %xmm16
+vpmovusqd %ymm19, (%rax)
+vpmovusqd %ymm19, %xmm16 {k1}
+vpmovusqd %ymm19, (%rax) {k1}
+vpmovusqd %ymm19, %xmm16 {k1}{z}
+
+vpmovusqw %xmm19, %xmm16
+vpmovusqw %xmm19, (%rax)
+vpmovusqw %xmm19, %xmm16 {k1}
+vpmovusqw %xmm19, (%rax) {k1}
+vpmovusqw %xmm19, %xmm16 {k1}{z}
+
+vpmovusqw %ymm19, %xmm16
+vpmovusqw %ymm19, (%rax)
+vpmovusqw %ymm19, %xmm16 {k1}
+vpmovusqw %ymm19, (%rax) {k1}
+vpmovusqw %ymm19, %xmm16 {k1}{z}
+
vpmovzxbd %xmm16, %xmm19
vpmovzxbd (%rax), %xmm19
vpmovzxbd %xmm16, %xmm19 {k1}
@@ -2784,6 +2964,106 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 5 0.33 * vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 1 5 0.33 * vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 1 5 0.33 * vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovdb %xmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovdb %xmm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovdb %ymm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovdb %ymm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovdw %xmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovdw %xmm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovdw %ymm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovdw %ymm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovqb %xmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovqb %xmm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovqb %ymm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovqb %ymm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovqd %xmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovqd %xmm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovqd %ymm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovqd %ymm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovqw %xmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovqw %xmm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovqw %ymm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovqw %ymm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovqw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsdb %xmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovsdb %xmm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovsdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovsdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsdb %ymm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovsdb %ymm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovsdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovsdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsdw %xmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovsdw %xmm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovsdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovsdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsdw %ymm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovsdw %ymm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovsdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovsdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsqb %xmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovsqb %xmm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovsqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovsqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsqb %ymm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovsqb %ymm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovsqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovsqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsqd %xmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovsqd %xmm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovsqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovsqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsqd %ymm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovsqd %ymm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovsqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovsqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsqw %xmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovsqw %xmm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovsqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovsqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsqw %ymm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovsqw %ymm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovsqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovsqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 2 0.50 vpmovsxbd %xmm16, %xmm19
# CHECK-NEXT: 1 8 0.50 * vpmovsxbd (%rax), %xmm19
# CHECK-NEXT: 1 2 0.50 vpmovsxbd %xmm16, %xmm19 {%k1}
@@ -2844,6 +3124,56 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 11 1.50 * vpmovsxwq (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 2 0.50 vpmovsxwq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovsxwq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovusdb %xmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovusdb %xmm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovusdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovusdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovusdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovusdb %ymm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovusdb %ymm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovusdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovusdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovusdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovusdw %xmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovusdw %xmm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovusdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovusdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovusdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovusdw %ymm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovusdw %ymm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovusdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovusdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovusdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovusqb %xmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovusqb %xmm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovusqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovusqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovusqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovusqb %ymm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovusqb %ymm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovusqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovusqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovusqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovusqd %xmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovusqd %xmm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovusqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovusqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovusqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovusqd %ymm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovusqd %ymm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovusqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovusqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovusqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovusqw %xmm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovusqw %xmm19, (%rax)
+# CHECK-NEXT: 1 2 0.50 vpmovusqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovusqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovusqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 2 4 1.50 vpmovusqw %ymm19, %xmm16
+# CHECK-NEXT: 1 11 1.50 * vpmovusqw %ymm19, (%rax)
+# CHECK-NEXT: 2 4 1.50 vpmovusqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 11 1.50 * vpmovusqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: 2 4 1.50 vpmovusqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: 1 2 0.50 vpmovzxbd %xmm16, %xmm19
# CHECK-NEXT: 1 8 0.50 * vpmovzxbd (%rax), %xmm19
# CHECK-NEXT: 1 2 0.50 vpmovzxbd %xmm16, %xmm19 {%k1}
@@ -3284,7 +3614,7 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 10.67 10.67 10.67 - - - - - 208.00 948.00 501.50 261.50 479.50 479.50 32.00 335.67 335.67 335.67 314.33 314.33 314.33 32.00 32.00
+# CHECK-NEXT: 10.67 10.67 10.67 - - - - - 208.00 1086.00 639.50 261.50 509.50 509.50 32.00 355.67 355.67 355.67 334.33 334.33 334.33 32.00 32.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
@@ -4340,6 +4670,106 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqd %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqd %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqd %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqd %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqd %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqd %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqd %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqd %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbd %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbd %xmm16, %xmm19 {%k1}
@@ -4400,6 +4830,56 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqd %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqd %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqd %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqd %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovusqw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovusqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovusqw %ymm19, %xmm16 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbd %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbd %xmm16, %xmm19 {%k1}
More information about the llvm-commits
mailing list