[llvm] 948ae47 - [MCA][X86] Add AVX512 vector move instruction test coverage
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 27 03:44:05 PST 2021
Author: Simon Pilgrim
Date: 2021-12-27T11:43:39Z
New Revision: 948ae472a6109884c92179cff84b4f5ee7c2385c
URL: https://github.com/llvm/llvm-project/commit/948ae472a6109884c92179cff84b4f5ee7c2385c
DIFF: https://github.com/llvm/llvm-project/commit/948ae472a6109884c92179cff84b4f5ee7c2385c.diff
LOG: [MCA][X86] Add AVX512 vector move instruction 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/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
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 0eeee89246ea5..e500f8a91f6a3 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
@@ -212,6 +212,24 @@ vminps %zmm16, %zmm17, %zmm19 {z}{k1}
vminps (%rax), %zmm17, %zmm19 {z}{k1}
vminps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+vmovapd %zmm16, %zmm19
+vmovapd (%rax), %zmm19
+vmovapd %zmm16, (%rax)
+vmovapd %zmm16, %zmm19 {k1}
+vmovapd (%rax), %zmm19 {k1}
+vmovapd %zmm16, (%rax) {k1}
+vmovapd %zmm16, %zmm19 {z}{k1}
+vmovapd (%rax), %zmm19 {z}{k1}
+
+vmovaps %zmm16, %zmm19
+vmovaps (%rax), %zmm19
+vmovaps %zmm16, (%rax)
+vmovaps %zmm16, %zmm19 {k1}
+vmovaps (%rax), %zmm19 {k1}
+vmovaps %zmm16, (%rax) {k1}
+vmovaps %zmm16, %zmm19 {z}{k1}
+vmovaps (%rax), %zmm19 {z}{k1}
+
vmovddup %zmm16, %zmm19
vmovddup (%rax), %zmm19
vmovddup %zmm16, %zmm19 {k1}
@@ -219,6 +237,42 @@ vmovddup (%rax), %zmm19 {k1}
vmovddup %zmm16, %zmm19 {z}{k1}
vmovddup (%rax), %zmm19 {z}{k1}
+vmovdqa32 %zmm16, %zmm19
+vmovdqa32 (%rax), %zmm19
+vmovdqa32 %zmm16, (%rax)
+vmovdqa32 %zmm16, %zmm19 {k1}
+vmovdqa32 (%rax), %zmm19 {k1}
+vmovdqa32 %zmm16, (%rax) {k1}
+vmovdqa32 %zmm16, %zmm19 {z}{k1}
+vmovdqa32 (%rax), %zmm19 {z}{k1}
+
+vmovdqa64 %zmm16, %zmm19
+vmovdqa64 (%rax), %zmm19
+vmovdqa64 %zmm16, (%rax)
+vmovdqa64 %zmm16, %zmm19 {k1}
+vmovdqa64 (%rax), %zmm19 {k1}
+vmovdqa64 %zmm16, (%rax) {k1}
+vmovdqa64 %zmm16, %zmm19 {z}{k1}
+vmovdqa64 (%rax), %zmm19 {z}{k1}
+
+vmovdqu32 %zmm16, %zmm19
+vmovdqu32 (%rax), %zmm19
+vmovdqu32 %zmm16, (%rax)
+vmovdqu32 %zmm16, %zmm19 {k1}
+vmovdqu32 (%rax), %zmm19 {k1}
+vmovdqu32 %zmm16, (%rax) {k1}
+vmovdqu32 %zmm16, %zmm19 {z}{k1}
+vmovdqu32 (%rax), %zmm19 {z}{k1}
+
+vmovdqu64 %zmm16, %zmm19
+vmovdqu64 (%rax), %zmm19
+vmovdqu64 %zmm16, (%rax)
+vmovdqu64 %zmm16, %zmm19 {k1}
+vmovdqu64 (%rax), %zmm19 {k1}
+vmovdqu64 %zmm16, (%rax) {k1}
+vmovdqu64 %zmm16, %zmm19 {z}{k1}
+vmovdqu64 (%rax), %zmm19 {z}{k1}
+
vmovshdup %zmm16, %zmm19
vmovshdup (%rax), %zmm19
vmovshdup %zmm16, %zmm19 {k1}
@@ -233,6 +287,24 @@ vmovsldup (%rax), %zmm19 {k1}
vmovsldup %zmm16, %zmm19 {z}{k1}
vmovsldup (%rax), %zmm19 {z}{k1}
+vmovupd %zmm16, %zmm19
+vmovupd (%rax), %zmm19
+vmovupd %zmm16, (%rax)
+vmovupd %zmm16, %zmm19 {k1}
+vmovupd (%rax), %zmm19 {k1}
+vmovupd %zmm16, (%rax) {k1}
+vmovupd %zmm16, %zmm19 {z}{k1}
+vmovupd (%rax), %zmm19 {z}{k1}
+
+vmovups %zmm16, %zmm19
+vmovups (%rax), %zmm19
+vmovups %zmm16, (%rax)
+vmovups %zmm16, %zmm19 {k1}
+vmovups (%rax), %zmm19 {k1}
+vmovups %zmm16, (%rax) {k1}
+vmovups %zmm16, %zmm19 {z}{k1}
+vmovups (%rax), %zmm19 {z}{k1}
+
vmulpd %zmm16, %zmm17, %zmm19
vmulpd (%rax), %zmm17, %zmm19
vmulpd (%rax){1to8}, %zmm17, %zmm19
@@ -996,12 +1068,60 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vminps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vminps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vmovapd %zmm16, %zmm19
+# CHECK-NEXT: 1 7 0.50 * vmovapd (%rax), %zmm19
+# CHECK-NEXT: 1 1 1.00 * vmovapd %zmm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vmovapd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovapd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovapd %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vmovapd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovapd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vmovaps %zmm16, %zmm19
+# CHECK-NEXT: 1 7 0.50 * vmovaps (%rax), %zmm19
+# CHECK-NEXT: 1 1 1.00 * vmovaps %zmm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vmovaps %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovaps (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovaps %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vmovaps %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovaps (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vmovddup %zmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vmovddup (%rax), %zmm19
# CHECK-NEXT: 1 1 1.00 vmovddup %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vmovddup (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vmovddup %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vmovddup (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vmovdqa32 %zmm16, %zmm19
+# CHECK-NEXT: 1 7 0.50 * vmovdqa32 (%rax), %zmm19
+# CHECK-NEXT: 1 1 1.00 * vmovdqa32 %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.50 vmovdqa32 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovdqa32 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovdqa32 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.50 vmovdqa32 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovdqa32 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vmovdqa64 %zmm16, %zmm19
+# CHECK-NEXT: 1 7 0.50 * vmovdqa64 (%rax), %zmm19
+# CHECK-NEXT: 1 1 1.00 * vmovdqa64 %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.50 vmovdqa64 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovdqa64 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovdqa64 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.50 vmovdqa64 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovdqa64 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vmovdqu32 %zmm16, %zmm19
+# CHECK-NEXT: 1 7 0.50 * vmovdqu32 (%rax), %zmm19
+# CHECK-NEXT: 1 1 1.00 * vmovdqu32 %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.50 vmovdqu32 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovdqu32 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovdqu32 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.50 vmovdqu32 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovdqu32 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vmovdqu64 %zmm16, %zmm19
+# CHECK-NEXT: 1 7 0.50 * vmovdqu64 (%rax), %zmm19
+# CHECK-NEXT: 1 1 1.00 * vmovdqu64 %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.50 vmovdqu64 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovdqu64 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovdqu64 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.50 vmovdqu64 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovdqu64 (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vmovshdup %zmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vmovshdup (%rax), %zmm19
# CHECK-NEXT: 1 1 1.00 vmovshdup %zmm16, %zmm19 {%k1}
@@ -1014,6 +1134,22 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 8 1.00 * vmovsldup (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vmovsldup %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vmovsldup (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vmovupd %zmm16, %zmm19
+# CHECK-NEXT: 1 7 0.50 * vmovupd (%rax), %zmm19
+# CHECK-NEXT: 1 1 1.00 * vmovupd %zmm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vmovupd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovupd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovupd %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vmovupd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovupd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vmovups %zmm16, %zmm19
+# CHECK-NEXT: 1 7 0.50 * vmovups (%rax), %zmm19
+# CHECK-NEXT: 1 1 1.00 * vmovups %zmm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vmovups %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovups (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovups %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vmovups %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovups (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 5 1.00 vmulpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 12 1.00 * vmulpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 12 1.00 * vmulpd (%rax){1to8}, %zmm17, %zmm19
@@ -1531,7 +1667,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 138.67 201.67 - 438.67 225.50 225.50
+# CHECK-NEXT: - 1506.00 144.67 201.67 16.00 456.67 245.50 245.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -1719,12 +1855,60 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - 1.00 - - - - vminps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vmovapd %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovapd (%rax), %zmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovapd %zmm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vmovapd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovapd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovapd %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vmovapd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovapd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vmovaps %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovaps (%rax), %zmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovaps %zmm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vmovaps %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovaps (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovaps %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vmovaps %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovaps (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vmovddup %zmm16, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vmovddup (%rax), %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vmovddup %zmm16, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vmovddup (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vmovddup %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vmovddup (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqa32 %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqa32 (%rax), %zmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqa32 %zmm16, (%rax)
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqa32 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqa32 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqa32 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqa32 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqa32 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqa64 %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqa64 (%rax), %zmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqa64 %zmm16, (%rax)
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqa64 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqa64 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqa64 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqa64 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqa64 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu32 %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu32 (%rax), %zmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu32 %zmm16, (%rax)
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu32 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu32 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu32 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu32 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu32 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu64 %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu64 (%rax), %zmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu64 %zmm16, (%rax)
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu64 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu64 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu64 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu64 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu64 (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vmovshdup %zmm16, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vmovshdup (%rax), %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vmovshdup %zmm16, %zmm19 {%k1}
@@ -1737,6 +1921,22 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vmovsldup (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vmovsldup %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vmovsldup (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vmovupd %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovupd (%rax), %zmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovupd %zmm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vmovupd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovupd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovupd %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vmovupd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovupd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vmovups %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovups (%rax), %zmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovups %zmm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vmovups %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovups (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovups %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vmovups %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovups (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - 1.00 - - - - - vmulpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vmulpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vmulpd (%rax){1to8}, %zmm17, %zmm19
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 a1ea3bb5e5e6d..da27526f87e3f 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
@@ -20,6 +20,24 @@ kshiftrq $2, %k1, %k2
kunpckdq %k0, %k1, %k2
kunpckwd %k0, %k1, %k2
+vmovdqu8 %zmm16, %zmm19
+vmovdqu8 (%rax), %zmm19
+vmovdqu8 %zmm16, (%rax)
+vmovdqu8 %zmm16, %zmm19 {k1}
+vmovdqu8 (%rax), %zmm19 {k1}
+vmovdqu8 %zmm16, (%rax) {k1}
+vmovdqu8 %zmm16, %zmm19 {z}{k1}
+vmovdqu8 (%rax), %zmm19 {z}{k1}
+
+vmovdqu16 %zmm16, %zmm19
+vmovdqu16 (%rax), %zmm19
+vmovdqu16 %zmm16, (%rax)
+vmovdqu16 %zmm16, %zmm19 {k1}
+vmovdqu16 (%rax), %zmm19 {k1}
+vmovdqu16 %zmm16, (%rax) {k1}
+vmovdqu16 %zmm16, %zmm19 {z}{k1}
+vmovdqu16 (%rax), %zmm19 {z}{k1}
+
vpabsb %zmm16, %zmm19
vpabsb (%rax), %zmm19
vpabsb %zmm16, %zmm19 {k1}
@@ -280,6 +298,22 @@ vpmovw2m %zmm0, %k0
# CHECK-NEXT: 1 1 1.00 kshiftrq $2, %k1, %k2
# CHECK-NEXT: 1 1 1.00 kunpckdq %k0, %k1, %k2
# CHECK-NEXT: 1 1 1.00 kunpckwd %k0, %k1, %k2
+# CHECK-NEXT: 1 1 0.50 vmovdqu8 %zmm16, %zmm19
+# CHECK-NEXT: 1 7 0.50 * vmovdqu8 (%rax), %zmm19
+# CHECK-NEXT: 1 1 1.00 * vmovdqu8 %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.50 vmovdqu8 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovdqu8 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovdqu8 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.50 vmovdqu8 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovdqu8 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vmovdqu16 %zmm16, %zmm19
+# CHECK-NEXT: 1 7 0.50 * vmovdqu16 (%rax), %zmm19
+# CHECK-NEXT: 1 1 1.00 * vmovdqu16 %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.50 vmovdqu16 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovdqu16 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovdqu16 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.50 vmovdqu16 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovdqu16 (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpabsb %zmm16, %zmm19
# CHECK-NEXT: 2 8 0.50 * vpabsb (%rax), %zmm19
# CHECK-NEXT: 1 1 0.50 vpabsb %zmm16, %zmm19 {%k1}
@@ -487,7 +521,7 @@ vpmovw2m %zmm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - 10.67 47.67 - 153.67 47.50 47.50
+# CHECK-NEXT: - - 13.67 47.67 4.00 156.67 52.50 52.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -509,6 +543,22 @@ vpmovw2m %zmm0, %k0
# CHECK-NEXT: - - - - - 1.00 - - kshiftrq $2, %k1, %k2
# CHECK-NEXT: - - - - - 1.00 - - kunpckdq %k0, %k1, %k2
# CHECK-NEXT: - - - - - 1.00 - - kunpckwd %k0, %k1, %k2
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu8 %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu8 (%rax), %zmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu8 %zmm16, (%rax)
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu8 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu8 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu8 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu8 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu8 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu16 %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu16 (%rax), %zmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu16 %zmm16, (%rax)
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu16 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu16 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu16 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu16 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu16 (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpabsb %zmm16, %zmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpabsb (%rax), %zmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpabsb %zmm16, %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 d0eeeabcdb25f..ad32d07070772 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s
@@ -1,6 +1,42 @@
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+vmovdqu8 %xmm16, %xmm19
+vmovdqu8 (%rax), %xmm19
+vmovdqu8 %xmm16, (%rax)
+vmovdqu8 %xmm16, %xmm19 {k1}
+vmovdqu8 (%rax), %xmm19 {k1}
+vmovdqu8 %xmm16, (%rax) {k1}
+vmovdqu8 %xmm16, %xmm19 {z}{k1}
+vmovdqu8 (%rax), %xmm19 {z}{k1}
+
+vmovdqu8 %ymm16, %ymm19
+vmovdqu8 (%rax), %ymm19
+vmovdqu8 %ymm16, (%rax)
+vmovdqu8 %ymm16, %ymm19 {k1}
+vmovdqu8 (%rax), %ymm19 {k1}
+vmovdqu8 %ymm16, (%rax) {k1}
+vmovdqu8 %ymm16, %ymm19 {z}{k1}
+vmovdqu8 (%rax), %ymm19 {z}{k1}
+
+vmovdqu16 %xmm16, %xmm19
+vmovdqu16 (%rax), %xmm19
+vmovdqu16 %xmm16, (%rax)
+vmovdqu16 %xmm16, %xmm19 {k1}
+vmovdqu16 (%rax), %xmm19 {k1}
+vmovdqu16 %xmm16, (%rax) {k1}
+vmovdqu16 %xmm16, %xmm19 {z}{k1}
+vmovdqu16 (%rax), %xmm19 {z}{k1}
+
+vmovdqu16 %ymm16, %ymm19
+vmovdqu16 (%rax), %ymm19
+vmovdqu16 %ymm16, (%rax)
+vmovdqu16 %ymm16, %ymm19 {k1}
+vmovdqu16 (%rax), %ymm19 {k1}
+vmovdqu16 %ymm16, (%rax) {k1}
+vmovdqu16 %ymm16, %ymm19 {z}{k1}
+vmovdqu16 (%rax), %ymm19 {z}{k1}
+
vpabsb %xmm16, %xmm19
vpabsb (%rax), %xmm19
vpabsb %xmm16, %xmm19 {k1}
@@ -476,6 +512,38 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %xmm16, %xmm19
+# CHECK-NEXT: 1 6 0.50 * vmovdqu8 (%rax), %xmm19
+# CHECK-NEXT: 1 1 1.00 * vmovdqu8 %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 6 0.50 * vmovdqu8 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovdqu8 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 6 0.50 * vmovdqu8 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vmovdqu8 %ymm16, %ymm19
+# CHECK-NEXT: 1 7 0.50 * vmovdqu8 (%rax), %ymm19
+# CHECK-NEXT: 1 1 1.00 * vmovdqu8 %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.50 vmovdqu8 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovdqu8 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovdqu8 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.50 vmovdqu8 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovdqu8 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %xmm16, %xmm19
+# CHECK-NEXT: 1 6 0.50 * vmovdqu16 (%rax), %xmm19
+# CHECK-NEXT: 1 1 1.00 * vmovdqu16 %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 6 0.50 * vmovdqu16 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovdqu16 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 6 0.50 * vmovdqu16 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vmovdqu16 %ymm16, %ymm19
+# CHECK-NEXT: 1 7 0.50 * vmovdqu16 (%rax), %ymm19
+# CHECK-NEXT: 1 1 1.00 * vmovdqu16 %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.50 vmovdqu16 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovdqu16 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovdqu16 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.50 vmovdqu16 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovdqu16 (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpabsb %xmm16, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpabsb (%rax), %xmm19
# CHECK-NEXT: 1 1 0.50 vpabsb %xmm16, %xmm19 {%k1}
@@ -877,10 +945,42 @@ vpmovw2m %ymm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - 13.33 131.33 - 243.33 95.00 95.00
+# CHECK-NEXT: - - 18.33 133.33 8.00 248.33 105.00 105.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vmovdqu8 %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu8 (%rax), %xmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu8 %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vmovdqu8 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu8 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu8 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vmovdqu8 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu8 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu8 %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu8 (%rax), %ymm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu8 %ymm16, (%rax)
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu8 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu8 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu8 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu8 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu8 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vmovdqu16 %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu16 (%rax), %xmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu16 %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vmovdqu16 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu16 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu16 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vmovdqu16 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu16 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu16 %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu16 (%rax), %ymm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu16 %ymm16, (%rax)
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu16 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu16 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu16 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu16 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu16 (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpabsb %xmm16, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpabsb (%rax), %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpabsb %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 b78ce71df3446..20dc9e2fca618 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
@@ -308,6 +308,42 @@ vminps %ymm16, %ymm17, %ymm19 {z}{k1}
vminps (%rax), %ymm17, %ymm19 {z}{k1}
vminps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+vmovapd %xmm16, %xmm19
+vmovapd (%rax), %xmm19
+vmovapd %xmm16, (%rax)
+vmovapd %xmm16, %xmm19 {k1}
+vmovapd (%rax), %xmm19 {k1}
+vmovapd %xmm16, (%rax) {k1}
+vmovapd %xmm16, %xmm19 {z}{k1}
+vmovapd (%rax), %xmm19 {z}{k1}
+
+vmovapd %ymm16, %ymm19
+vmovapd (%rax), %ymm19
+vmovapd %ymm16, (%rax)
+vmovapd %ymm16, %ymm19 {k1}
+vmovapd (%rax), %ymm19 {k1}
+vmovapd %ymm16, (%rax) {k1}
+vmovapd %ymm16, %ymm19 {z}{k1}
+vmovapd (%rax), %ymm19 {z}{k1}
+
+vmovaps %xmm16, %xmm19
+vmovaps (%rax), %xmm19
+vmovaps %xmm16, (%rax)
+vmovaps %xmm16, %xmm19 {k1}
+vmovaps (%rax), %xmm19 {k1}
+vmovaps %xmm16, (%rax) {k1}
+vmovaps %xmm16, %xmm19 {z}{k1}
+vmovaps (%rax), %xmm19 {z}{k1}
+
+vmovaps %ymm16, %ymm19
+vmovaps (%rax), %ymm19
+vmovaps %ymm16, (%rax)
+vmovaps %ymm16, %ymm19 {k1}
+vmovaps (%rax), %ymm19 {k1}
+vmovaps %ymm16, (%rax) {k1}
+vmovaps %ymm16, %ymm19 {z}{k1}
+vmovaps (%rax), %ymm19 {z}{k1}
+
vmovddup %xmm16, %xmm19
vmovddup (%rax), %xmm19
vmovddup %xmm16, %xmm19 {k1}
@@ -315,6 +351,78 @@ vmovddup (%rax), %xmm19 {k1}
vmovddup %xmm16, %xmm19 {z}{k1}
vmovddup (%rax), %xmm19 {z}{k1}
+vmovdqa32 %xmm16, %xmm19
+vmovdqa32 (%rax), %xmm19
+vmovdqa32 %xmm16, (%rax)
+vmovdqa32 %xmm16, %xmm19 {k1}
+vmovdqa32 (%rax), %xmm19 {k1}
+vmovdqa32 %xmm16, (%rax) {k1}
+vmovdqa32 %xmm16, %xmm19 {z}{k1}
+vmovdqa32 (%rax), %xmm19 {z}{k1}
+
+vmovdqa32 %ymm16, %ymm19
+vmovdqa32 (%rax), %ymm19
+vmovdqa32 %ymm16, (%rax)
+vmovdqa32 %ymm16, %ymm19 {k1}
+vmovdqa32 (%rax), %ymm19 {k1}
+vmovdqa32 %ymm16, (%rax) {k1}
+vmovdqa32 %ymm16, %ymm19 {z}{k1}
+vmovdqa32 (%rax), %ymm19 {z}{k1}
+
+vmovdqa64 %xmm16, %xmm19
+vmovdqa64 (%rax), %xmm19
+vmovdqa64 %xmm16, (%rax)
+vmovdqa64 %xmm16, %xmm19 {k1}
+vmovdqa64 (%rax), %xmm19 {k1}
+vmovdqa64 %xmm16, (%rax) {k1}
+vmovdqa64 %xmm16, %xmm19 {z}{k1}
+vmovdqa64 (%rax), %xmm19 {z}{k1}
+
+vmovdqa64 %ymm16, %ymm19
+vmovdqa64 (%rax), %ymm19
+vmovdqa64 %ymm16, (%rax)
+vmovdqa64 %ymm16, %ymm19 {k1}
+vmovdqa64 (%rax), %ymm19 {k1}
+vmovdqa64 %ymm16, (%rax) {k1}
+vmovdqa64 %ymm16, %ymm19 {z}{k1}
+vmovdqa64 (%rax), %ymm19 {z}{k1}
+
+vmovdqu32 %xmm16, %xmm19
+vmovdqu32 (%rax), %xmm19
+vmovdqu32 %xmm16, (%rax)
+vmovdqu32 %xmm16, %xmm19 {k1}
+vmovdqu32 (%rax), %xmm19 {k1}
+vmovdqu32 %xmm16, (%rax) {k1}
+vmovdqu32 %xmm16, %xmm19 {z}{k1}
+vmovdqu32 (%rax), %xmm19 {z}{k1}
+
+vmovdqu32 %ymm16, %ymm19
+vmovdqu32 (%rax), %ymm19
+vmovdqu32 %ymm16, (%rax)
+vmovdqu32 %ymm16, %ymm19 {k1}
+vmovdqu32 (%rax), %ymm19 {k1}
+vmovdqu32 %ymm16, (%rax) {k1}
+vmovdqu32 %ymm16, %ymm19 {z}{k1}
+vmovdqu32 (%rax), %ymm19 {z}{k1}
+
+vmovdqu64 %xmm16, %xmm19
+vmovdqu64 (%rax), %xmm19
+vmovdqu64 %xmm16, (%rax)
+vmovdqu64 %xmm16, %xmm19 {k1}
+vmovdqu64 (%rax), %xmm19 {k1}
+vmovdqu64 %xmm16, (%rax) {k1}
+vmovdqu64 %xmm16, %xmm19 {z}{k1}
+vmovdqu64 (%rax), %xmm19 {z}{k1}
+
+vmovdqu64 %ymm16, %ymm19
+vmovdqu64 (%rax), %ymm19
+vmovdqu64 %ymm16, (%rax)
+vmovdqu64 %ymm16, %ymm19 {k1}
+vmovdqu64 (%rax), %ymm19 {k1}
+vmovdqu64 %ymm16, (%rax) {k1}
+vmovdqu64 %ymm16, %ymm19 {z}{k1}
+vmovdqu64 (%rax), %ymm19 {z}{k1}
+
vmovddup %ymm16, %ymm19
vmovddup (%rax), %ymm19
vmovddup %ymm16, %ymm19 {k1}
@@ -350,6 +458,42 @@ vmovsldup (%rax), %ymm19 {k1}
vmovsldup %ymm16, %ymm19 {z}{k1}
vmovsldup (%rax), %ymm19 {z}{k1}
+vmovupd %xmm16, %xmm19
+vmovupd (%rax), %xmm19
+vmovupd %xmm16, (%rax)
+vmovupd %xmm16, %xmm19 {k1}
+vmovupd (%rax), %xmm19 {k1}
+vmovupd %xmm16, (%rax) {k1}
+vmovupd %xmm16, %xmm19 {z}{k1}
+vmovupd (%rax), %xmm19 {z}{k1}
+
+vmovupd %ymm16, %ymm19
+vmovupd (%rax), %ymm19
+vmovupd %ymm16, (%rax)
+vmovupd %ymm16, %ymm19 {k1}
+vmovupd (%rax), %ymm19 {k1}
+vmovupd %ymm16, (%rax) {k1}
+vmovupd %ymm16, %ymm19 {z}{k1}
+vmovupd (%rax), %ymm19 {z}{k1}
+
+vmovups %xmm16, %xmm19
+vmovups (%rax), %xmm19
+vmovups %xmm16, (%rax)
+vmovups %xmm16, %xmm19 {k1}
+vmovups (%rax), %xmm19 {k1}
+vmovups %xmm16, (%rax) {k1}
+vmovups %xmm16, %xmm19 {z}{k1}
+vmovups (%rax), %xmm19 {z}{k1}
+
+vmovups %ymm16, %ymm19
+vmovups (%rax), %ymm19
+vmovups %ymm16, (%rax)
+vmovups %ymm16, %ymm19 {k1}
+vmovups (%rax), %ymm19 {k1}
+vmovups %ymm16, (%rax) {k1}
+vmovups %ymm16, %ymm19 {z}{k1}
+vmovups (%rax), %ymm19 {z}{k1}
+
vmulpd %xmm16, %xmm17, %xmm19
vmulpd (%rax), %xmm17, %xmm19
vmulpd (%rax){1to2}, %xmm17, %xmm19
@@ -1517,12 +1661,108 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vminps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vminps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vmovapd %xmm16, %xmm19
+# CHECK-NEXT: 1 6 0.50 * vmovapd (%rax), %xmm19
+# CHECK-NEXT: 1 1 1.00 * vmovapd %xmm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vmovapd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 6 0.50 * vmovapd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovapd %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vmovapd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 6 0.50 * vmovapd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vmovapd %ymm16, %ymm19
+# CHECK-NEXT: 1 7 0.50 * vmovapd (%rax), %ymm19
+# CHECK-NEXT: 1 1 1.00 * vmovapd %ymm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vmovapd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovapd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovapd %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vmovapd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovapd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vmovaps %xmm16, %xmm19
+# CHECK-NEXT: 1 6 0.50 * vmovaps (%rax), %xmm19
+# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vmovaps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 6 0.50 * vmovaps (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vmovaps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 6 0.50 * vmovaps (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vmovaps %ymm16, %ymm19
+# CHECK-NEXT: 1 7 0.50 * vmovaps (%rax), %ymm19
+# CHECK-NEXT: 1 1 1.00 * vmovaps %ymm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vmovaps %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovaps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovaps %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vmovaps %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovaps (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vmovddup %xmm16, %xmm19
# CHECK-NEXT: 2 7 1.00 * vmovddup (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vmovddup %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vmovddup (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vmovddup %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vmovddup (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %xmm16, %xmm19
+# CHECK-NEXT: 1 6 0.50 * vmovdqa32 (%rax), %xmm19
+# CHECK-NEXT: 1 1 1.00 * vmovdqa32 %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 6 0.50 * vmovdqa32 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovdqa32 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 6 0.50 * vmovdqa32 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vmovdqa32 %ymm16, %ymm19
+# CHECK-NEXT: 1 7 0.50 * vmovdqa32 (%rax), %ymm19
+# CHECK-NEXT: 1 1 1.00 * vmovdqa32 %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.50 vmovdqa32 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovdqa32 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovdqa32 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.50 vmovdqa32 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovdqa32 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %xmm16, %xmm19
+# CHECK-NEXT: 1 6 0.50 * vmovdqa64 (%rax), %xmm19
+# CHECK-NEXT: 1 1 1.00 * vmovdqa64 %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 6 0.50 * vmovdqa64 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovdqa64 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 6 0.50 * vmovdqa64 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vmovdqa64 %ymm16, %ymm19
+# CHECK-NEXT: 1 7 0.50 * vmovdqa64 (%rax), %ymm19
+# CHECK-NEXT: 1 1 1.00 * vmovdqa64 %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.50 vmovdqa64 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovdqa64 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovdqa64 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.50 vmovdqa64 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovdqa64 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %xmm16, %xmm19
+# CHECK-NEXT: 1 6 0.50 * vmovdqu32 (%rax), %xmm19
+# CHECK-NEXT: 1 1 1.00 * vmovdqu32 %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 6 0.50 * vmovdqu32 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovdqu32 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 6 0.50 * vmovdqu32 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vmovdqu32 %ymm16, %ymm19
+# CHECK-NEXT: 1 7 0.50 * vmovdqu32 (%rax), %ymm19
+# CHECK-NEXT: 1 1 1.00 * vmovdqu32 %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.50 vmovdqu32 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovdqu32 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovdqu32 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.50 vmovdqu32 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovdqu32 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %xmm16, %xmm19
+# CHECK-NEXT: 1 6 0.50 * vmovdqu64 (%rax), %xmm19
+# CHECK-NEXT: 1 1 1.00 * vmovdqu64 %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 6 0.50 * vmovdqu64 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovdqu64 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 6 0.50 * vmovdqu64 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vmovdqu64 %ymm16, %ymm19
+# CHECK-NEXT: 1 7 0.50 * vmovdqu64 (%rax), %ymm19
+# CHECK-NEXT: 1 1 1.00 * vmovdqu64 %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.50 vmovdqu64 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovdqu64 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovdqu64 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.50 vmovdqu64 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovdqu64 (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vmovddup %ymm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vmovddup (%rax), %ymm19
# CHECK-NEXT: 1 1 1.00 vmovddup %ymm16, %ymm19 {%k1}
@@ -1553,6 +1793,38 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 8 1.00 * vmovsldup (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vmovsldup %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vmovsldup (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vmovupd %xmm16, %xmm19
+# CHECK-NEXT: 1 6 0.50 * vmovupd (%rax), %xmm19
+# CHECK-NEXT: 1 1 1.00 * vmovupd %xmm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vmovupd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 6 0.50 * vmovupd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovupd %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vmovupd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 6 0.50 * vmovupd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vmovupd %ymm16, %ymm19
+# CHECK-NEXT: 1 7 0.50 * vmovupd (%rax), %ymm19
+# CHECK-NEXT: 1 1 1.00 * vmovupd %ymm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vmovupd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovupd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovupd %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vmovupd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovupd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vmovups %xmm16, %xmm19
+# CHECK-NEXT: 1 6 0.50 * vmovups (%rax), %xmm19
+# CHECK-NEXT: 1 1 1.00 * vmovups %xmm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vmovups %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 6 0.50 * vmovups (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovups %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vmovups %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 6 0.50 * vmovups (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vmovups %ymm16, %ymm19
+# CHECK-NEXT: 1 7 0.50 * vmovups (%rax), %ymm19
+# CHECK-NEXT: 1 1 1.00 * vmovups %ymm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vmovups %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 7 0.50 * vmovups (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vmovups %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vmovups %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovups (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 5 1.00 vmulpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 11 1.00 * vmulpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 11 1.00 * vmulpd (%rax){1to2}, %xmm17, %xmm19
@@ -2348,7 +2620,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 196.00 359.50 - 608.50 350.50 350.50
+# CHECK-NEXT: - 1935.00 206.00 363.50 32.00 642.50 390.50 390.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -2624,12 +2896,108 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - 1.00 - - - - vminps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vmovapd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovapd (%rax), %xmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovapd %xmm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vmovapd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovapd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovapd %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vmovapd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovapd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vmovapd %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovapd (%rax), %ymm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovapd %ymm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vmovapd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovapd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovapd %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vmovapd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovapd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vmovaps %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovaps (%rax), %xmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovaps %xmm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vmovaps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovaps (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovaps %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vmovaps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovaps (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vmovaps %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovaps (%rax), %ymm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovaps %ymm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vmovaps %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovaps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovaps %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vmovaps %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovaps (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vmovddup %xmm16, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vmovddup (%rax), %xmm19
# CHECK-NEXT: - - - - - 1.00 - - vmovddup %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vmovddup (%rax), %xmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vmovddup %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vmovddup (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vmovdqa32 %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqa32 (%rax), %xmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqa32 %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vmovdqa32 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqa32 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqa32 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vmovdqa32 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqa32 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqa32 %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqa32 (%rax), %ymm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqa32 %ymm16, (%rax)
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqa32 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqa32 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqa32 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqa32 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqa32 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vmovdqa64 %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqa64 (%rax), %xmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqa64 %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vmovdqa64 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqa64 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqa64 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vmovdqa64 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqa64 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqa64 %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqa64 (%rax), %ymm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqa64 %ymm16, (%rax)
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqa64 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqa64 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqa64 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqa64 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqa64 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vmovdqu32 %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu32 (%rax), %xmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu32 %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vmovdqu32 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu32 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu32 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vmovdqu32 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu32 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu32 %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu32 (%rax), %ymm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu32 %ymm16, (%rax)
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu32 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu32 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu32 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu32 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu32 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vmovdqu64 %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu64 (%rax), %xmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu64 %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vmovdqu64 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu64 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu64 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vmovdqu64 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu64 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu64 %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu64 (%rax), %ymm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu64 %ymm16, (%rax)
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu64 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu64 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovdqu64 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vmovdqu64 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovdqu64 (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vmovddup %ymm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vmovddup (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vmovddup %ymm16, %ymm19 {%k1}
@@ -2660,6 +3028,38 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vmovsldup (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vmovsldup %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vmovsldup (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vmovupd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovupd (%rax), %xmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovupd %xmm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vmovupd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovupd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovupd %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vmovupd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovupd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vmovupd %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovupd (%rax), %ymm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovupd %ymm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vmovupd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovupd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovupd %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vmovupd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovupd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vmovups %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovups (%rax), %xmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovups %xmm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vmovups %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovups (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovups %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vmovups %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovups (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vmovups %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovups (%rax), %ymm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovups %ymm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vmovups %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovups (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vmovups %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vmovups %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 vmovups (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - 1.00 - - - - - vmulpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vmulpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vmulpd (%rax){1to2}, %xmm17, %xmm19
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 bbdfba5f3b5f7..ebf3dd4eac976 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
@@ -212,6 +212,24 @@ vminps %zmm16, %zmm17, %zmm19 {z}{k1}
vminps (%rax), %zmm17, %zmm19 {z}{k1}
vminps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+vmovapd %zmm16, %zmm19
+vmovapd (%rax), %zmm19
+vmovapd %zmm16, (%rax)
+vmovapd %zmm16, %zmm19 {k1}
+vmovapd (%rax), %zmm19 {k1}
+vmovapd %zmm16, (%rax) {k1}
+vmovapd %zmm16, %zmm19 {z}{k1}
+vmovapd (%rax), %zmm19 {z}{k1}
+
+vmovaps %zmm16, %zmm19
+vmovaps (%rax), %zmm19
+vmovaps %zmm16, (%rax)
+vmovaps %zmm16, %zmm19 {k1}
+vmovaps (%rax), %zmm19 {k1}
+vmovaps %zmm16, (%rax) {k1}
+vmovaps %zmm16, %zmm19 {z}{k1}
+vmovaps (%rax), %zmm19 {z}{k1}
+
vmovddup %zmm16, %zmm19
vmovddup (%rax), %zmm19
vmovddup %zmm16, %zmm19 {k1}
@@ -219,6 +237,42 @@ vmovddup (%rax), %zmm19 {k1}
vmovddup %zmm16, %zmm19 {z}{k1}
vmovddup (%rax), %zmm19 {z}{k1}
+vmovdqa32 %zmm16, %zmm19
+vmovdqa32 (%rax), %zmm19
+vmovdqa32 %zmm16, (%rax)
+vmovdqa32 %zmm16, %zmm19 {k1}
+vmovdqa32 (%rax), %zmm19 {k1}
+vmovdqa32 %zmm16, (%rax) {k1}
+vmovdqa32 %zmm16, %zmm19 {z}{k1}
+vmovdqa32 (%rax), %zmm19 {z}{k1}
+
+vmovdqa64 %zmm16, %zmm19
+vmovdqa64 (%rax), %zmm19
+vmovdqa64 %zmm16, (%rax)
+vmovdqa64 %zmm16, %zmm19 {k1}
+vmovdqa64 (%rax), %zmm19 {k1}
+vmovdqa64 %zmm16, (%rax) {k1}
+vmovdqa64 %zmm16, %zmm19 {z}{k1}
+vmovdqa64 (%rax), %zmm19 {z}{k1}
+
+vmovdqu32 %zmm16, %zmm19
+vmovdqu32 (%rax), %zmm19
+vmovdqu32 %zmm16, (%rax)
+vmovdqu32 %zmm16, %zmm19 {k1}
+vmovdqu32 (%rax), %zmm19 {k1}
+vmovdqu32 %zmm16, (%rax) {k1}
+vmovdqu32 %zmm16, %zmm19 {z}{k1}
+vmovdqu32 (%rax), %zmm19 {z}{k1}
+
+vmovdqu64 %zmm16, %zmm19
+vmovdqu64 (%rax), %zmm19
+vmovdqu64 %zmm16, (%rax)
+vmovdqu64 %zmm16, %zmm19 {k1}
+vmovdqu64 (%rax), %zmm19 {k1}
+vmovdqu64 %zmm16, (%rax) {k1}
+vmovdqu64 %zmm16, %zmm19 {z}{k1}
+vmovdqu64 (%rax), %zmm19 {z}{k1}
+
vmovshdup %zmm16, %zmm19
vmovshdup (%rax), %zmm19
vmovshdup %zmm16, %zmm19 {k1}
@@ -233,6 +287,24 @@ vmovsldup (%rax), %zmm19 {k1}
vmovsldup %zmm16, %zmm19 {z}{k1}
vmovsldup (%rax), %zmm19 {z}{k1}
+vmovupd %zmm16, %zmm19
+vmovupd (%rax), %zmm19
+vmovupd %zmm16, (%rax)
+vmovupd %zmm16, %zmm19 {k1}
+vmovupd (%rax), %zmm19 {k1}
+vmovupd %zmm16, (%rax) {k1}
+vmovupd %zmm16, %zmm19 {z}{k1}
+vmovupd (%rax), %zmm19 {z}{k1}
+
+vmovups %zmm16, %zmm19
+vmovups (%rax), %zmm19
+vmovups %zmm16, (%rax)
+vmovups %zmm16, %zmm19 {k1}
+vmovups (%rax), %zmm19 {k1}
+vmovups %zmm16, (%rax) {k1}
+vmovups %zmm16, %zmm19 {z}{k1}
+vmovups (%rax), %zmm19 {z}{k1}
+
vmulpd %zmm16, %zmm17, %zmm19
vmulpd (%rax), %zmm17, %zmm19
vmulpd (%rax){1to8}, %zmm17, %zmm19
@@ -996,12 +1068,60 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 4 0.50 vminps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vminps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovapd %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovapd (%rax), %zmm19
+# CHECK-NEXT: 2 1 1.00 * vmovapd %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovapd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovapd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovapd %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovapd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovapd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovaps %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovaps (%rax), %zmm19
+# CHECK-NEXT: 2 1 1.00 * vmovaps %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovaps %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovaps (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovaps %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovaps %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovaps (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vmovddup %zmm16, %zmm19
# CHECK-NEXT: 2 8 0.50 * vmovddup (%rax), %zmm19
# CHECK-NEXT: 1 1 1.00 vmovddup %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 0.50 * vmovddup (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vmovddup %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vmovddup (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqa32 (%rax), %zmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqa32 %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqa32 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqa32 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqa32 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqa64 (%rax), %zmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqa64 %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqa64 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqa64 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqa64 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqu32 (%rax), %zmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu32 %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu32 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu32 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu32 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqu64 (%rax), %zmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu64 %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu64 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu64 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu64 (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vmovshdup %zmm16, %zmm19
# CHECK-NEXT: 2 8 0.50 * vmovshdup (%rax), %zmm19
# CHECK-NEXT: 1 1 1.00 vmovshdup %zmm16, %zmm19 {%k1}
@@ -1014,6 +1134,22 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 8 0.50 * vmovsldup (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vmovsldup %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vmovsldup (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovupd %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovupd (%rax), %zmm19
+# CHECK-NEXT: 2 1 1.00 * vmovupd %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovupd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovupd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovupd %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovupd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovupd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovups %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovups (%rax), %zmm19
+# CHECK-NEXT: 2 1 1.00 * vmovups %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovups %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovups (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovups %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovups %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovups (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 4 0.50 vmulpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax){1to8}, %zmm17, %zmm19
@@ -1535,7 +1671,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 220.67 41.67 261.50 261.50 - 539.67 2.00 - - -
+# CHECK-NEXT: - 612.00 236.67 57.67 278.83 278.83 16.00 555.67 2.00 5.33 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -1723,12 +1859,60 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vminps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vminps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovapd %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovapd (%rax), %zmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovapd %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovapd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovapd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovapd %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovapd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovapd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovaps %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovaps (%rax), %zmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovaps %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovaps %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovaps (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovaps %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovaps %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovaps (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vmovddup %zmm16, %zmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovddup (%rax), %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - - - vmovddup %zmm16, %zmm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovddup (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vmovddup %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovddup (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqa32 %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqa32 (%rax), %zmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqa32 %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqa32 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqa32 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqa32 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqa32 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqa32 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqa64 %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqa64 (%rax), %zmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqa64 %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqa64 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqa64 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqa64 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqa64 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqa64 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu32 %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu32 (%rax), %zmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu32 %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu32 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu32 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu32 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu32 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu32 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu64 %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu64 (%rax), %zmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu64 %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu64 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu64 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu64 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu64 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu64 (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vmovshdup %zmm16, %zmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovshdup (%rax), %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - - - vmovshdup %zmm16, %zmm19 {%k1}
@@ -1741,6 +1925,22 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovsldup (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vmovsldup %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovsldup (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovupd %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovupd (%rax), %zmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovupd %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovupd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovupd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovupd %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovupd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovupd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovups %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovups (%rax), %zmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovups %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovups %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovups (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovups %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovups %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovups (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vmulpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vmulpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vmulpd (%rax){1to8}, %zmm17, %zmm19
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 12ee08425c2d6..d98738fc9352a 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s
@@ -20,6 +20,24 @@ kshiftrq $2, %k1, %k2
kunpckdq %k0, %k1, %k2
kunpckwd %k0, %k1, %k2
+vmovdqu8 %zmm16, %zmm19
+vmovdqu8 (%rax), %zmm19
+vmovdqu8 %zmm16, (%rax)
+vmovdqu8 %zmm16, %zmm19 {k1}
+vmovdqu8 (%rax), %zmm19 {k1}
+vmovdqu8 %zmm16, (%rax) {k1}
+vmovdqu8 %zmm16, %zmm19 {z}{k1}
+vmovdqu8 (%rax), %zmm19 {z}{k1}
+
+vmovdqu16 %zmm16, %zmm19
+vmovdqu16 (%rax), %zmm19
+vmovdqu16 %zmm16, (%rax)
+vmovdqu16 %zmm16, %zmm19 {k1}
+vmovdqu16 (%rax), %zmm19 {k1}
+vmovdqu16 %zmm16, (%rax) {k1}
+vmovdqu16 %zmm16, %zmm19 {z}{k1}
+vmovdqu16 (%rax), %zmm19 {z}{k1}
+
vpabsb %zmm16, %zmm19
vpabsb (%rax), %zmm19
vpabsb %zmm16, %zmm19 {k1}
@@ -280,6 +298,22 @@ vpmovw2m %zmm0, %k0
# CHECK-NEXT: 1 4 1.00 kshiftrq $2, %k1, %k2
# CHECK-NEXT: 1 4 1.00 kunpckdq %k0, %k1, %k2
# CHECK-NEXT: 1 4 1.00 kunpckwd %k0, %k1, %k2
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %zmm19
+# CHECK-NEXT: 5 2 2.00 * vmovdqu8 %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 5 2 2.00 * vmovdqu8 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqu16 (%rax), %zmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu16 %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu16 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu16 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu16 (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpabsb %zmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpabsb (%rax), %zmm19
# CHECK-NEXT: 1 1 1.00 vpabsb %zmm16, %zmm19 {%k1}
@@ -491,7 +525,7 @@ vpmovw2m %zmm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - - 32.50 8.50 47.50 47.50 - 176.50 0.50 - - -
+# CHECK-NEXT: - - 36.50 13.50 52.50 52.50 6.00 181.50 0.50 2.00 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -513,6 +547,22 @@ vpmovw2m %zmm0, %k0
# CHECK-NEXT: - - - - - - - 1.00 - - - - kshiftrq $2, %k1, %k2
# CHECK-NEXT: - - - - - - - 1.00 - - - - kunpckdq %k0, %k1, %k2
# CHECK-NEXT: - - - - - - - 1.00 - - - - kunpckwd %k0, %k1, %k2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu8 %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu8 (%rax), %zmm19
+# CHECK-NEXT: - - - 0.50 0.67 0.67 2.00 0.50 - 0.67 - - vmovdqu8 %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu8 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu8 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 0.67 0.67 2.00 0.50 - 0.67 - - vmovdqu8 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu8 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu8 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu16 %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu16 (%rax), %zmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu16 %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu16 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu16 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu16 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu16 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu16 (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - 1.00 - - - - - - - - - vpabsb %zmm16, %zmm19
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vpabsb (%rax), %zmm19
# CHECK-NEXT: - - 1.00 - - - - - - - - - vpabsb %zmm16, %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 d8bb3edc6ed77..0539e352c3800 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
@@ -1,6 +1,42 @@
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=icelake-server -instruction-tables < %s | FileCheck %s
+vmovdqu8 %xmm16, %xmm19
+vmovdqu8 (%rax), %xmm19
+vmovdqu8 %xmm16, (%rax)
+vmovdqu8 %xmm16, %xmm19 {k1}
+vmovdqu8 (%rax), %xmm19 {k1}
+vmovdqu8 %xmm16, (%rax) {k1}
+vmovdqu8 %xmm16, %xmm19 {z}{k1}
+vmovdqu8 (%rax), %xmm19 {z}{k1}
+
+vmovdqu8 %ymm16, %ymm19
+vmovdqu8 (%rax), %ymm19
+vmovdqu8 %ymm16, (%rax)
+vmovdqu8 %ymm16, %ymm19 {k1}
+vmovdqu8 (%rax), %ymm19 {k1}
+vmovdqu8 %ymm16, (%rax) {k1}
+vmovdqu8 %ymm16, %ymm19 {z}{k1}
+vmovdqu8 (%rax), %ymm19 {z}{k1}
+
+vmovdqu16 %xmm16, %xmm19
+vmovdqu16 (%rax), %xmm19
+vmovdqu16 %xmm16, (%rax)
+vmovdqu16 %xmm16, %xmm19 {k1}
+vmovdqu16 (%rax), %xmm19 {k1}
+vmovdqu16 %xmm16, (%rax) {k1}
+vmovdqu16 %xmm16, %xmm19 {z}{k1}
+vmovdqu16 (%rax), %xmm19 {z}{k1}
+
+vmovdqu16 %ymm16, %ymm19
+vmovdqu16 (%rax), %ymm19
+vmovdqu16 %ymm16, (%rax)
+vmovdqu16 %ymm16, %ymm19 {k1}
+vmovdqu16 (%rax), %ymm19 {k1}
+vmovdqu16 %ymm16, (%rax) {k1}
+vmovdqu16 %ymm16, %ymm19 {z}{k1}
+vmovdqu16 (%rax), %ymm19 {z}{k1}
+
vpabsb %xmm16, %xmm19
vpabsb (%rax), %xmm19
vpabsb %xmm16, %xmm19 {k1}
@@ -476,6 +512,38 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovdqu8 (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu8 %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovdqu8 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu8 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovdqu8 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu8 %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu8 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovdqu16 (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu16 %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovdqu16 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu16 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovdqu16 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqu16 (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu16 %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu16 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu16 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu16 (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpabsb %xmm16, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpabsb (%rax), %xmm19
# CHECK-NEXT: 1 1 0.50 vpabsb %xmm16, %xmm19 {%k1}
@@ -881,10 +949,42 @@ vpmovw2m %ymm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - - 33.00 81.00 95.00 95.00 - 285.00 1.00 - - -
+# CHECK-NEXT: - - 41.00 89.00 103.67 103.67 8.00 293.00 1.00 2.67 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu8 %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu8 (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu8 %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu8 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu8 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu8 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu8 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu8 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu8 %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu8 (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu8 %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu8 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu8 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu8 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu8 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu8 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu16 %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu16 (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu16 %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu16 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu16 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu16 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu16 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu16 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu16 %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu16 (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu16 %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu16 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu16 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu16 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu16 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu16 (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpabsb %xmm16, %xmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpabsb (%rax), %xmm19
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpabsb %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 796a716f1fa19..35ed47fb69f95 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
@@ -308,6 +308,42 @@ vminps %ymm16, %ymm17, %ymm19 {z}{k1}
vminps (%rax), %ymm17, %ymm19 {z}{k1}
vminps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+vmovapd %xmm16, %xmm19
+vmovapd (%rax), %xmm19
+vmovapd %xmm16, (%rax)
+vmovapd %xmm16, %xmm19 {k1}
+vmovapd (%rax), %xmm19 {k1}
+vmovapd %xmm16, (%rax) {k1}
+vmovapd %xmm16, %xmm19 {z}{k1}
+vmovapd (%rax), %xmm19 {z}{k1}
+
+vmovapd %ymm16, %ymm19
+vmovapd (%rax), %ymm19
+vmovapd %ymm16, (%rax)
+vmovapd %ymm16, %ymm19 {k1}
+vmovapd (%rax), %ymm19 {k1}
+vmovapd %ymm16, (%rax) {k1}
+vmovapd %ymm16, %ymm19 {z}{k1}
+vmovapd (%rax), %ymm19 {z}{k1}
+
+vmovaps %xmm16, %xmm19
+vmovaps (%rax), %xmm19
+vmovaps %xmm16, (%rax)
+vmovaps %xmm16, %xmm19 {k1}
+vmovaps (%rax), %xmm19 {k1}
+vmovaps %xmm16, (%rax) {k1}
+vmovaps %xmm16, %xmm19 {z}{k1}
+vmovaps (%rax), %xmm19 {z}{k1}
+
+vmovaps %ymm16, %ymm19
+vmovaps (%rax), %ymm19
+vmovaps %ymm16, (%rax)
+vmovaps %ymm16, %ymm19 {k1}
+vmovaps (%rax), %ymm19 {k1}
+vmovaps %ymm16, (%rax) {k1}
+vmovaps %ymm16, %ymm19 {z}{k1}
+vmovaps (%rax), %ymm19 {z}{k1}
+
vmovddup %xmm16, %xmm19
vmovddup (%rax), %xmm19
vmovddup %xmm16, %xmm19 {k1}
@@ -315,6 +351,78 @@ vmovddup (%rax), %xmm19 {k1}
vmovddup %xmm16, %xmm19 {z}{k1}
vmovddup (%rax), %xmm19 {z}{k1}
+vmovdqa32 %xmm16, %xmm19
+vmovdqa32 (%rax), %xmm19
+vmovdqa32 %xmm16, (%rax)
+vmovdqa32 %xmm16, %xmm19 {k1}
+vmovdqa32 (%rax), %xmm19 {k1}
+vmovdqa32 %xmm16, (%rax) {k1}
+vmovdqa32 %xmm16, %xmm19 {z}{k1}
+vmovdqa32 (%rax), %xmm19 {z}{k1}
+
+vmovdqa32 %ymm16, %ymm19
+vmovdqa32 (%rax), %ymm19
+vmovdqa32 %ymm16, (%rax)
+vmovdqa32 %ymm16, %ymm19 {k1}
+vmovdqa32 (%rax), %ymm19 {k1}
+vmovdqa32 %ymm16, (%rax) {k1}
+vmovdqa32 %ymm16, %ymm19 {z}{k1}
+vmovdqa32 (%rax), %ymm19 {z}{k1}
+
+vmovdqa64 %xmm16, %xmm19
+vmovdqa64 (%rax), %xmm19
+vmovdqa64 %xmm16, (%rax)
+vmovdqa64 %xmm16, %xmm19 {k1}
+vmovdqa64 (%rax), %xmm19 {k1}
+vmovdqa64 %xmm16, (%rax) {k1}
+vmovdqa64 %xmm16, %xmm19 {z}{k1}
+vmovdqa64 (%rax), %xmm19 {z}{k1}
+
+vmovdqa64 %ymm16, %ymm19
+vmovdqa64 (%rax), %ymm19
+vmovdqa64 %ymm16, (%rax)
+vmovdqa64 %ymm16, %ymm19 {k1}
+vmovdqa64 (%rax), %ymm19 {k1}
+vmovdqa64 %ymm16, (%rax) {k1}
+vmovdqa64 %ymm16, %ymm19 {z}{k1}
+vmovdqa64 (%rax), %ymm19 {z}{k1}
+
+vmovdqu32 %xmm16, %xmm19
+vmovdqu32 (%rax), %xmm19
+vmovdqu32 %xmm16, (%rax)
+vmovdqu32 %xmm16, %xmm19 {k1}
+vmovdqu32 (%rax), %xmm19 {k1}
+vmovdqu32 %xmm16, (%rax) {k1}
+vmovdqu32 %xmm16, %xmm19 {z}{k1}
+vmovdqu32 (%rax), %xmm19 {z}{k1}
+
+vmovdqu32 %ymm16, %ymm19
+vmovdqu32 (%rax), %ymm19
+vmovdqu32 %ymm16, (%rax)
+vmovdqu32 %ymm16, %ymm19 {k1}
+vmovdqu32 (%rax), %ymm19 {k1}
+vmovdqu32 %ymm16, (%rax) {k1}
+vmovdqu32 %ymm16, %ymm19 {z}{k1}
+vmovdqu32 (%rax), %ymm19 {z}{k1}
+
+vmovdqu64 %xmm16, %xmm19
+vmovdqu64 (%rax), %xmm19
+vmovdqu64 %xmm16, (%rax)
+vmovdqu64 %xmm16, %xmm19 {k1}
+vmovdqu64 (%rax), %xmm19 {k1}
+vmovdqu64 %xmm16, (%rax) {k1}
+vmovdqu64 %xmm16, %xmm19 {z}{k1}
+vmovdqu64 (%rax), %xmm19 {z}{k1}
+
+vmovdqu64 %ymm16, %ymm19
+vmovdqu64 (%rax), %ymm19
+vmovdqu64 %ymm16, (%rax)
+vmovdqu64 %ymm16, %ymm19 {k1}
+vmovdqu64 (%rax), %ymm19 {k1}
+vmovdqu64 %ymm16, (%rax) {k1}
+vmovdqu64 %ymm16, %ymm19 {z}{k1}
+vmovdqu64 (%rax), %ymm19 {z}{k1}
+
vmovddup %ymm16, %ymm19
vmovddup (%rax), %ymm19
vmovddup %ymm16, %ymm19 {k1}
@@ -350,6 +458,42 @@ vmovsldup (%rax), %ymm19 {k1}
vmovsldup %ymm16, %ymm19 {z}{k1}
vmovsldup (%rax), %ymm19 {z}{k1}
+vmovupd %xmm16, %xmm19
+vmovupd (%rax), %xmm19
+vmovupd %xmm16, (%rax)
+vmovupd %xmm16, %xmm19 {k1}
+vmovupd (%rax), %xmm19 {k1}
+vmovupd %xmm16, (%rax) {k1}
+vmovupd %xmm16, %xmm19 {z}{k1}
+vmovupd (%rax), %xmm19 {z}{k1}
+
+vmovupd %ymm16, %ymm19
+vmovupd (%rax), %ymm19
+vmovupd %ymm16, (%rax)
+vmovupd %ymm16, %ymm19 {k1}
+vmovupd (%rax), %ymm19 {k1}
+vmovupd %ymm16, (%rax) {k1}
+vmovupd %ymm16, %ymm19 {z}{k1}
+vmovupd (%rax), %ymm19 {z}{k1}
+
+vmovups %xmm16, %xmm19
+vmovups (%rax), %xmm19
+vmovups %xmm16, (%rax)
+vmovups %xmm16, %xmm19 {k1}
+vmovups (%rax), %xmm19 {k1}
+vmovups %xmm16, (%rax) {k1}
+vmovups %xmm16, %xmm19 {z}{k1}
+vmovups (%rax), %xmm19 {z}{k1}
+
+vmovups %ymm16, %ymm19
+vmovups (%rax), %ymm19
+vmovups %ymm16, (%rax)
+vmovups %ymm16, %ymm19 {k1}
+vmovups (%rax), %ymm19 {k1}
+vmovups %ymm16, (%rax) {k1}
+vmovups %ymm16, %ymm19 {z}{k1}
+vmovups (%rax), %ymm19 {z}{k1}
+
vmulpd %xmm16, %xmm17, %xmm19
vmulpd (%rax), %xmm17, %xmm19
vmulpd (%rax){1to2}, %xmm17, %xmm19
@@ -1517,12 +1661,108 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 4 0.50 vminps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vminps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovapd %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovapd (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovapd %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovapd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovapd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovapd %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovapd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovapd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovapd %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovapd (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovapd %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovapd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovapd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovapd %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovapd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovapd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovaps %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovaps (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovaps %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovaps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovaps (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovaps %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovaps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovaps (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovaps %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovaps (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovaps %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovaps %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovaps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovaps %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovaps %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovaps (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vmovddup %xmm16, %xmm19
# CHECK-NEXT: 2 7 0.50 * vmovddup (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vmovddup %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 7 0.50 * vmovddup (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vmovddup %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 0.50 * vmovddup (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovdqa32 (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqa32 %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovdqa32 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqa32 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovdqa32 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqa32 (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqa32 %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqa32 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqa32 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqa32 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovdqa64 (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqa64 %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovdqa64 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqa64 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovdqa64 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqa64 (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqa64 %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqa64 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqa64 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqa64 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovdqu32 (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu32 %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovdqu32 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu32 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovdqu32 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqu32 (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu32 %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu32 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu32 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu32 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovdqu64 (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu64 %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovdqu64 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu64 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovdqu64 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqu64 (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu64 %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu64 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu64 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu64 (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vmovddup %ymm16, %ymm19
# CHECK-NEXT: 2 8 0.50 * vmovddup (%rax), %ymm19
# CHECK-NEXT: 1 1 1.00 vmovddup %ymm16, %ymm19 {%k1}
@@ -1553,6 +1793,38 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 8 0.50 * vmovsldup (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vmovsldup %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vmovsldup (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovupd %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovupd (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovupd %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovupd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovupd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovupd %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovupd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovupd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovupd %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovupd (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovupd %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovupd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovupd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovupd %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovupd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovupd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovups %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovups (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovups %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovups %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovups (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovups %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovups %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovups (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovups %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovups (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovups %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovups %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovups (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovups %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovups %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovups (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 4 0.50 vmulpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 10 0.50 * vmulpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 10 0.50 * vmulpd (%rax){1to2}, %xmm17, %xmm19
@@ -2352,7 +2624,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 257.33 232.33 372.50 372.50 - 652.33 4.00 - - -
+# CHECK-NEXT: - 423.00 289.33 264.33 407.17 407.17 32.00 684.33 4.00 10.67 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -2628,12 +2900,108 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vminps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vminps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovapd %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovapd (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovapd %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovapd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovapd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovapd %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovapd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovapd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovapd %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovapd (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovapd %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovapd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovapd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovapd %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovapd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovapd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovaps %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovaps (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovaps %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovaps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovaps (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovaps %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovaps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovaps (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovaps %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovaps (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovaps %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovaps %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovaps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovaps %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovaps %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovaps (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vmovddup %xmm16, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovddup (%rax), %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - - - vmovddup %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovddup (%rax), %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vmovddup %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovddup (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqa32 %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqa32 (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqa32 %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqa32 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqa32 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqa32 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqa32 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqa32 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqa32 %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqa32 (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqa32 %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqa32 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqa32 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqa32 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqa32 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqa32 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqa64 %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqa64 (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqa64 %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqa64 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqa64 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqa64 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqa64 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqa64 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqa64 %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqa64 (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqa64 %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqa64 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqa64 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqa64 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqa64 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqa64 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu32 %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu32 (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu32 %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu32 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu32 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu32 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu32 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu32 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu32 %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu32 (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu32 %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu32 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu32 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu32 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu32 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu32 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu64 %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu64 (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu64 %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu64 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu64 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu64 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu64 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu64 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu64 %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu64 (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu64 %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu64 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu64 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu64 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu64 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu64 (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vmovddup %ymm16, %ymm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovddup (%rax), %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - - - vmovddup %ymm16, %ymm19 {%k1}
@@ -2664,6 +3032,38 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovsldup (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - - - vmovsldup %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovsldup (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovupd %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovupd (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovupd %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovupd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovupd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovupd %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovupd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovupd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovupd %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovupd (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovupd %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovupd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovupd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovupd %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovupd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovupd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovups %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovups (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovups %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovups %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovups (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovups %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovups %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovups (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovups %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovups (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovups %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovups %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovups (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovups %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovups %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovups (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vmulpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vmulpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vmulpd (%rax){1to2}, %xmm17, %xmm19
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 b664dda426999..919129d30f99f 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
@@ -212,6 +212,24 @@ vminps %zmm16, %zmm17, %zmm19 {z}{k1}
vminps (%rax), %zmm17, %zmm19 {z}{k1}
vminps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+vmovapd %zmm16, %zmm19
+vmovapd (%rax), %zmm19
+vmovapd %zmm16, (%rax)
+vmovapd %zmm16, %zmm19 {k1}
+vmovapd (%rax), %zmm19 {k1}
+vmovapd %zmm16, (%rax) {k1}
+vmovapd %zmm16, %zmm19 {z}{k1}
+vmovapd (%rax), %zmm19 {z}{k1}
+
+vmovaps %zmm16, %zmm19
+vmovaps (%rax), %zmm19
+vmovaps %zmm16, (%rax)
+vmovaps %zmm16, %zmm19 {k1}
+vmovaps (%rax), %zmm19 {k1}
+vmovaps %zmm16, (%rax) {k1}
+vmovaps %zmm16, %zmm19 {z}{k1}
+vmovaps (%rax), %zmm19 {z}{k1}
+
vmovddup %zmm16, %zmm19
vmovddup (%rax), %zmm19
vmovddup %zmm16, %zmm19 {k1}
@@ -219,6 +237,42 @@ vmovddup (%rax), %zmm19 {k1}
vmovddup %zmm16, %zmm19 {z}{k1}
vmovddup (%rax), %zmm19 {z}{k1}
+vmovdqa32 %zmm16, %zmm19
+vmovdqa32 (%rax), %zmm19
+vmovdqa32 %zmm16, (%rax)
+vmovdqa32 %zmm16, %zmm19 {k1}
+vmovdqa32 (%rax), %zmm19 {k1}
+vmovdqa32 %zmm16, (%rax) {k1}
+vmovdqa32 %zmm16, %zmm19 {z}{k1}
+vmovdqa32 (%rax), %zmm19 {z}{k1}
+
+vmovdqa64 %zmm16, %zmm19
+vmovdqa64 (%rax), %zmm19
+vmovdqa64 %zmm16, (%rax)
+vmovdqa64 %zmm16, %zmm19 {k1}
+vmovdqa64 (%rax), %zmm19 {k1}
+vmovdqa64 %zmm16, (%rax) {k1}
+vmovdqa64 %zmm16, %zmm19 {z}{k1}
+vmovdqa64 (%rax), %zmm19 {z}{k1}
+
+vmovdqu32 %zmm16, %zmm19
+vmovdqu32 (%rax), %zmm19
+vmovdqu32 %zmm16, (%rax)
+vmovdqu32 %zmm16, %zmm19 {k1}
+vmovdqu32 (%rax), %zmm19 {k1}
+vmovdqu32 %zmm16, (%rax) {k1}
+vmovdqu32 %zmm16, %zmm19 {z}{k1}
+vmovdqu32 (%rax), %zmm19 {z}{k1}
+
+vmovdqu64 %zmm16, %zmm19
+vmovdqu64 (%rax), %zmm19
+vmovdqu64 %zmm16, (%rax)
+vmovdqu64 %zmm16, %zmm19 {k1}
+vmovdqu64 (%rax), %zmm19 {k1}
+vmovdqu64 %zmm16, (%rax) {k1}
+vmovdqu64 %zmm16, %zmm19 {z}{k1}
+vmovdqu64 (%rax), %zmm19 {z}{k1}
+
vmovshdup %zmm16, %zmm19
vmovshdup (%rax), %zmm19
vmovshdup %zmm16, %zmm19 {k1}
@@ -233,6 +287,24 @@ vmovsldup (%rax), %zmm19 {k1}
vmovsldup %zmm16, %zmm19 {z}{k1}
vmovsldup (%rax), %zmm19 {z}{k1}
+vmovupd %zmm16, %zmm19
+vmovupd (%rax), %zmm19
+vmovupd %zmm16, (%rax)
+vmovupd %zmm16, %zmm19 {k1}
+vmovupd (%rax), %zmm19 {k1}
+vmovupd %zmm16, (%rax) {k1}
+vmovupd %zmm16, %zmm19 {z}{k1}
+vmovupd (%rax), %zmm19 {z}{k1}
+
+vmovups %zmm16, %zmm19
+vmovups (%rax), %zmm19
+vmovups %zmm16, (%rax)
+vmovups %zmm16, %zmm19 {k1}
+vmovups (%rax), %zmm19 {k1}
+vmovups %zmm16, (%rax) {k1}
+vmovups %zmm16, %zmm19 {z}{k1}
+vmovups (%rax), %zmm19 {z}{k1}
+
vmulpd %zmm16, %zmm17, %zmm19
vmulpd (%rax), %zmm17, %zmm19
vmulpd (%rax){1to8}, %zmm17, %zmm19
@@ -996,12 +1068,60 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 4 0.50 vminps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vminps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovapd %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovapd (%rax), %zmm19
+# CHECK-NEXT: 2 1 1.00 * vmovapd %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovapd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovapd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovapd %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovapd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovapd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovaps %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovaps (%rax), %zmm19
+# CHECK-NEXT: 2 1 1.00 * vmovaps %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovaps %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovaps (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovaps %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovaps %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovaps (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vmovddup %zmm16, %zmm19
# CHECK-NEXT: 2 8 0.50 * vmovddup (%rax), %zmm19
# CHECK-NEXT: 1 1 1.00 vmovddup %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 0.50 * vmovddup (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vmovddup %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vmovddup (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqa32 (%rax), %zmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqa32 %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqa32 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqa32 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqa32 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqa64 (%rax), %zmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqa64 %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqa64 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqa64 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqa64 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqu32 (%rax), %zmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu32 %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu32 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu32 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu32 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqu64 (%rax), %zmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu64 %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu64 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu64 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu64 (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vmovshdup %zmm16, %zmm19
# CHECK-NEXT: 2 8 0.50 * vmovshdup (%rax), %zmm19
# CHECK-NEXT: 1 1 1.00 vmovshdup %zmm16, %zmm19 {%k1}
@@ -1014,6 +1134,22 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 8 0.50 * vmovsldup (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vmovsldup %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vmovsldup (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovupd %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovupd (%rax), %zmm19
+# CHECK-NEXT: 2 1 1.00 * vmovupd %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovupd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovupd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovupd %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovupd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovupd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovups %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovups (%rax), %zmm19
+# CHECK-NEXT: 2 1 1.00 * vmovups %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovups %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovups (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovups %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovups %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovups (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 4 0.50 vmulpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax){1to8}, %zmm17, %zmm19
@@ -1533,7 +1669,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 220.67 41.67 261.50 261.50 - 539.67 2.00 -
+# CHECK-NEXT: - 612.00 236.67 57.67 278.83 278.83 16.00 555.67 2.00 5.33
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1721,12 +1857,60 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vminps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vminps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovapd %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovapd (%rax), %zmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovapd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovapd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovapd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovapd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovaps %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovaps (%rax), %zmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovaps %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovaps %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovaps (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovaps %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovaps %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovaps (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vmovddup %zmm16, %zmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovddup (%rax), %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vmovddup %zmm16, %zmm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovddup (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vmovddup %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovddup (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa32 %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqa32 (%rax), %zmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa32 %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa32 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqa32 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa32 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa32 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqa32 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa64 %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqa64 (%rax), %zmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa64 %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa64 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqa64 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa64 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa64 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqa64 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu32 %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu32 (%rax), %zmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu32 %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu32 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu32 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu32 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu32 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu32 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu64 %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu64 (%rax), %zmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu64 %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu64 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu64 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu64 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu64 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu64 (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vmovshdup %zmm16, %zmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovshdup (%rax), %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vmovshdup %zmm16, %zmm19 {%k1}
@@ -1739,6 +1923,22 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovsldup (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vmovsldup %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovsldup (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovupd %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovupd (%rax), %zmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovupd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovupd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovupd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovupd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovups %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovups (%rax), %zmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovups %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovups (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovups %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovups (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vmulpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vmulpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vmulpd (%rax){1to8}, %zmm17, %zmm19
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s
index 389f51f937f99..9e4d4cd654f77 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s
@@ -20,6 +20,24 @@ kshiftrq $2, %k1, %k2
kunpckdq %k0, %k1, %k2
kunpckwd %k0, %k1, %k2
+vmovdqu8 %zmm16, %zmm19
+vmovdqu8 (%rax), %zmm19
+vmovdqu8 %zmm16, (%rax)
+vmovdqu8 %zmm16, %zmm19 {k1}
+vmovdqu8 (%rax), %zmm19 {k1}
+vmovdqu8 %zmm16, (%rax) {k1}
+vmovdqu8 %zmm16, %zmm19 {z}{k1}
+vmovdqu8 (%rax), %zmm19 {z}{k1}
+
+vmovdqu16 %zmm16, %zmm19
+vmovdqu16 (%rax), %zmm19
+vmovdqu16 %zmm16, (%rax)
+vmovdqu16 %zmm16, %zmm19 {k1}
+vmovdqu16 (%rax), %zmm19 {k1}
+vmovdqu16 %zmm16, (%rax) {k1}
+vmovdqu16 %zmm16, %zmm19 {z}{k1}
+vmovdqu16 (%rax), %zmm19 {z}{k1}
+
vpabsb %zmm16, %zmm19
vpabsb (%rax), %zmm19
vpabsb %zmm16, %zmm19 {k1}
@@ -280,6 +298,22 @@ vpmovw2m %zmm0, %k0
# CHECK-NEXT: 1 4 1.00 kshiftrq $2, %k1, %k2
# CHECK-NEXT: 1 4 1.00 kunpckdq %k0, %k1, %k2
# CHECK-NEXT: 1 4 1.00 kunpckwd %k0, %k1, %k2
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %zmm19
+# CHECK-NEXT: 5 2 2.00 * vmovdqu8 %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 5 2 2.00 * vmovdqu8 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqu16 (%rax), %zmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu16 %zmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu16 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu16 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu16 (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpabsb %zmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpabsb (%rax), %zmm19
# CHECK-NEXT: 1 1 1.00 vpabsb %zmm16, %zmm19 {%k1}
@@ -489,7 +523,7 @@ vpmovw2m %zmm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 32.50 8.50 47.50 47.50 - 176.50 0.50 -
+# CHECK-NEXT: - - 36.50 13.50 52.50 52.50 6.00 181.50 0.50 2.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -511,6 +545,22 @@ vpmovw2m %zmm0, %k0
# CHECK-NEXT: - - - - - - - 1.00 - - kshiftrq $2, %k1, %k2
# CHECK-NEXT: - - - - - - - 1.00 - - kunpckdq %k0, %k1, %k2
# CHECK-NEXT: - - - - - - - 1.00 - - kunpckwd %k0, %k1, %k2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu8 %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu8 (%rax), %zmm19
+# CHECK-NEXT: - - - 0.50 0.67 0.67 2.00 0.50 - 0.67 vmovdqu8 %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu8 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu8 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 0.67 0.67 2.00 0.50 - 0.67 vmovdqu8 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu8 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu8 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu16 %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu16 (%rax), %zmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu16 %zmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu16 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu16 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu16 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu16 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu16 (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - 1.00 - - - - - - - vpabsb %zmm16, %zmm19
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpabsb (%rax), %zmm19
# CHECK-NEXT: - - 1.00 - - - - - - - vpabsb %zmm16, %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 042108d1c7849..2744d2894f0ee 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
@@ -1,6 +1,42 @@
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 -instruction-tables < %s | FileCheck %s
+vmovdqu8 %xmm16, %xmm19
+vmovdqu8 (%rax), %xmm19
+vmovdqu8 %xmm16, (%rax)
+vmovdqu8 %xmm16, %xmm19 {k1}
+vmovdqu8 (%rax), %xmm19 {k1}
+vmovdqu8 %xmm16, (%rax) {k1}
+vmovdqu8 %xmm16, %xmm19 {z}{k1}
+vmovdqu8 (%rax), %xmm19 {z}{k1}
+
+vmovdqu8 %ymm16, %ymm19
+vmovdqu8 (%rax), %ymm19
+vmovdqu8 %ymm16, (%rax)
+vmovdqu8 %ymm16, %ymm19 {k1}
+vmovdqu8 (%rax), %ymm19 {k1}
+vmovdqu8 %ymm16, (%rax) {k1}
+vmovdqu8 %ymm16, %ymm19 {z}{k1}
+vmovdqu8 (%rax), %ymm19 {z}{k1}
+
+vmovdqu16 %xmm16, %xmm19
+vmovdqu16 (%rax), %xmm19
+vmovdqu16 %xmm16, (%rax)
+vmovdqu16 %xmm16, %xmm19 {k1}
+vmovdqu16 (%rax), %xmm19 {k1}
+vmovdqu16 %xmm16, (%rax) {k1}
+vmovdqu16 %xmm16, %xmm19 {z}{k1}
+vmovdqu16 (%rax), %xmm19 {z}{k1}
+
+vmovdqu16 %ymm16, %ymm19
+vmovdqu16 (%rax), %ymm19
+vmovdqu16 %ymm16, (%rax)
+vmovdqu16 %ymm16, %ymm19 {k1}
+vmovdqu16 (%rax), %ymm19 {k1}
+vmovdqu16 %ymm16, (%rax) {k1}
+vmovdqu16 %ymm16, %ymm19 {z}{k1}
+vmovdqu16 (%rax), %ymm19 {z}{k1}
+
vpabsb %xmm16, %xmm19
vpabsb (%rax), %xmm19
vpabsb %xmm16, %xmm19 {k1}
@@ -476,6 +512,38 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovdqu8 (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu8 %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovdqu8 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu8 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovdqu8 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu8 %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu8 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu8 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovdqu16 (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu16 %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovdqu16 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu16 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovdqu16 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqu16 (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu16 %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu16 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu16 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu16 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu16 (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpabsb %xmm16, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpabsb (%rax), %xmm19
# CHECK-NEXT: 1 1 0.50 vpabsb %xmm16, %xmm19 {%k1}
@@ -879,10 +947,42 @@ vpmovw2m %ymm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 33.00 29.00 95.00 95.00 - 337.00 1.00 -
+# CHECK-NEXT: - - 41.00 37.00 103.67 103.67 8.00 345.00 1.00 2.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu8 %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu8 (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu8 %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu8 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu8 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu8 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu8 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu8 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu8 %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu8 (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu8 %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu8 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu8 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu8 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu8 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu8 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu16 %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu16 (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu16 %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu16 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu16 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu16 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu16 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu16 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu16 %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu16 (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu16 %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu16 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu16 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu16 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu16 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu16 (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsb %xmm16, %xmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsb (%rax), %xmm19
# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsb %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 36878e8295ee0..819737e433a14 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
@@ -308,6 +308,42 @@ vminps %ymm16, %ymm17, %ymm19 {z}{k1}
vminps (%rax), %ymm17, %ymm19 {z}{k1}
vminps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+vmovapd %xmm16, %xmm19
+vmovapd (%rax), %xmm19
+vmovapd %xmm16, (%rax)
+vmovapd %xmm16, %xmm19 {k1}
+vmovapd (%rax), %xmm19 {k1}
+vmovapd %xmm16, (%rax) {k1}
+vmovapd %xmm16, %xmm19 {z}{k1}
+vmovapd (%rax), %xmm19 {z}{k1}
+
+vmovapd %ymm16, %ymm19
+vmovapd (%rax), %ymm19
+vmovapd %ymm16, (%rax)
+vmovapd %ymm16, %ymm19 {k1}
+vmovapd (%rax), %ymm19 {k1}
+vmovapd %ymm16, (%rax) {k1}
+vmovapd %ymm16, %ymm19 {z}{k1}
+vmovapd (%rax), %ymm19 {z}{k1}
+
+vmovaps %xmm16, %xmm19
+vmovaps (%rax), %xmm19
+vmovaps %xmm16, (%rax)
+vmovaps %xmm16, %xmm19 {k1}
+vmovaps (%rax), %xmm19 {k1}
+vmovaps %xmm16, (%rax) {k1}
+vmovaps %xmm16, %xmm19 {z}{k1}
+vmovaps (%rax), %xmm19 {z}{k1}
+
+vmovaps %ymm16, %ymm19
+vmovaps (%rax), %ymm19
+vmovaps %ymm16, (%rax)
+vmovaps %ymm16, %ymm19 {k1}
+vmovaps (%rax), %ymm19 {k1}
+vmovaps %ymm16, (%rax) {k1}
+vmovaps %ymm16, %ymm19 {z}{k1}
+vmovaps (%rax), %ymm19 {z}{k1}
+
vmovddup %xmm16, %xmm19
vmovddup (%rax), %xmm19
vmovddup %xmm16, %xmm19 {k1}
@@ -315,6 +351,78 @@ vmovddup (%rax), %xmm19 {k1}
vmovddup %xmm16, %xmm19 {z}{k1}
vmovddup (%rax), %xmm19 {z}{k1}
+vmovdqa32 %xmm16, %xmm19
+vmovdqa32 (%rax), %xmm19
+vmovdqa32 %xmm16, (%rax)
+vmovdqa32 %xmm16, %xmm19 {k1}
+vmovdqa32 (%rax), %xmm19 {k1}
+vmovdqa32 %xmm16, (%rax) {k1}
+vmovdqa32 %xmm16, %xmm19 {z}{k1}
+vmovdqa32 (%rax), %xmm19 {z}{k1}
+
+vmovdqa32 %ymm16, %ymm19
+vmovdqa32 (%rax), %ymm19
+vmovdqa32 %ymm16, (%rax)
+vmovdqa32 %ymm16, %ymm19 {k1}
+vmovdqa32 (%rax), %ymm19 {k1}
+vmovdqa32 %ymm16, (%rax) {k1}
+vmovdqa32 %ymm16, %ymm19 {z}{k1}
+vmovdqa32 (%rax), %ymm19 {z}{k1}
+
+vmovdqa64 %xmm16, %xmm19
+vmovdqa64 (%rax), %xmm19
+vmovdqa64 %xmm16, (%rax)
+vmovdqa64 %xmm16, %xmm19 {k1}
+vmovdqa64 (%rax), %xmm19 {k1}
+vmovdqa64 %xmm16, (%rax) {k1}
+vmovdqa64 %xmm16, %xmm19 {z}{k1}
+vmovdqa64 (%rax), %xmm19 {z}{k1}
+
+vmovdqa64 %ymm16, %ymm19
+vmovdqa64 (%rax), %ymm19
+vmovdqa64 %ymm16, (%rax)
+vmovdqa64 %ymm16, %ymm19 {k1}
+vmovdqa64 (%rax), %ymm19 {k1}
+vmovdqa64 %ymm16, (%rax) {k1}
+vmovdqa64 %ymm16, %ymm19 {z}{k1}
+vmovdqa64 (%rax), %ymm19 {z}{k1}
+
+vmovdqu32 %xmm16, %xmm19
+vmovdqu32 (%rax), %xmm19
+vmovdqu32 %xmm16, (%rax)
+vmovdqu32 %xmm16, %xmm19 {k1}
+vmovdqu32 (%rax), %xmm19 {k1}
+vmovdqu32 %xmm16, (%rax) {k1}
+vmovdqu32 %xmm16, %xmm19 {z}{k1}
+vmovdqu32 (%rax), %xmm19 {z}{k1}
+
+vmovdqu32 %ymm16, %ymm19
+vmovdqu32 (%rax), %ymm19
+vmovdqu32 %ymm16, (%rax)
+vmovdqu32 %ymm16, %ymm19 {k1}
+vmovdqu32 (%rax), %ymm19 {k1}
+vmovdqu32 %ymm16, (%rax) {k1}
+vmovdqu32 %ymm16, %ymm19 {z}{k1}
+vmovdqu32 (%rax), %ymm19 {z}{k1}
+
+vmovdqu64 %xmm16, %xmm19
+vmovdqu64 (%rax), %xmm19
+vmovdqu64 %xmm16, (%rax)
+vmovdqu64 %xmm16, %xmm19 {k1}
+vmovdqu64 (%rax), %xmm19 {k1}
+vmovdqu64 %xmm16, (%rax) {k1}
+vmovdqu64 %xmm16, %xmm19 {z}{k1}
+vmovdqu64 (%rax), %xmm19 {z}{k1}
+
+vmovdqu64 %ymm16, %ymm19
+vmovdqu64 (%rax), %ymm19
+vmovdqu64 %ymm16, (%rax)
+vmovdqu64 %ymm16, %ymm19 {k1}
+vmovdqu64 (%rax), %ymm19 {k1}
+vmovdqu64 %ymm16, (%rax) {k1}
+vmovdqu64 %ymm16, %ymm19 {z}{k1}
+vmovdqu64 (%rax), %ymm19 {z}{k1}
+
vmovddup %ymm16, %ymm19
vmovddup (%rax), %ymm19
vmovddup %ymm16, %ymm19 {k1}
@@ -350,6 +458,42 @@ vmovsldup (%rax), %ymm19 {k1}
vmovsldup %ymm16, %ymm19 {z}{k1}
vmovsldup (%rax), %ymm19 {z}{k1}
+vmovupd %xmm16, %xmm19
+vmovupd (%rax), %xmm19
+vmovupd %xmm16, (%rax)
+vmovupd %xmm16, %xmm19 {k1}
+vmovupd (%rax), %xmm19 {k1}
+vmovupd %xmm16, (%rax) {k1}
+vmovupd %xmm16, %xmm19 {z}{k1}
+vmovupd (%rax), %xmm19 {z}{k1}
+
+vmovupd %ymm16, %ymm19
+vmovupd (%rax), %ymm19
+vmovupd %ymm16, (%rax)
+vmovupd %ymm16, %ymm19 {k1}
+vmovupd (%rax), %ymm19 {k1}
+vmovupd %ymm16, (%rax) {k1}
+vmovupd %ymm16, %ymm19 {z}{k1}
+vmovupd (%rax), %ymm19 {z}{k1}
+
+vmovups %xmm16, %xmm19
+vmovups (%rax), %xmm19
+vmovups %xmm16, (%rax)
+vmovups %xmm16, %xmm19 {k1}
+vmovups (%rax), %xmm19 {k1}
+vmovups %xmm16, (%rax) {k1}
+vmovups %xmm16, %xmm19 {z}{k1}
+vmovups (%rax), %xmm19 {z}{k1}
+
+vmovups %ymm16, %ymm19
+vmovups (%rax), %ymm19
+vmovups %ymm16, (%rax)
+vmovups %ymm16, %ymm19 {k1}
+vmovups (%rax), %ymm19 {k1}
+vmovups %ymm16, (%rax) {k1}
+vmovups %ymm16, %ymm19 {z}{k1}
+vmovups (%rax), %ymm19 {z}{k1}
+
vmulpd %xmm16, %xmm17, %xmm19
vmulpd (%rax), %xmm17, %xmm19
vmulpd (%rax){1to2}, %xmm17, %xmm19
@@ -1517,12 +1661,108 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 4 0.50 vminps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vminps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovapd %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovapd (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovapd %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovapd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovapd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovapd %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovapd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovapd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovapd %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovapd (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovapd %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovapd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovapd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovapd %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovapd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovapd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovaps %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovaps (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovaps %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovaps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovaps (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovaps %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovaps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovaps (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovaps %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovaps (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovaps %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovaps %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovaps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovaps %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovaps %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovaps (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vmovddup %xmm16, %xmm19
# CHECK-NEXT: 2 7 0.50 * vmovddup (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vmovddup %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 7 0.50 * vmovddup (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vmovddup %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 0.50 * vmovddup (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovdqa32 (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqa32 %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovdqa32 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqa32 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovdqa32 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqa32 (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqa32 %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqa32 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqa32 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqa32 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqa32 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovdqa64 (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqa64 %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovdqa64 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqa64 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovdqa64 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqa64 (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqa64 %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqa64 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqa64 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqa64 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqa64 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovdqu32 (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu32 %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovdqu32 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu32 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovdqu32 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqu32 (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu32 %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu32 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu32 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu32 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu32 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovdqu64 (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu64 %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovdqu64 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu64 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovdqu64 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovdqu64 (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovdqu64 %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu64 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovdqu64 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovdqu64 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovdqu64 (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vmovddup %ymm16, %ymm19
# CHECK-NEXT: 2 8 0.50 * vmovddup (%rax), %ymm19
# CHECK-NEXT: 1 1 1.00 vmovddup %ymm16, %ymm19 {%k1}
@@ -1553,6 +1793,38 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 8 0.50 * vmovsldup (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vmovsldup %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vmovsldup (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovupd %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovupd (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovupd %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovupd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovupd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovupd %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovupd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovupd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovupd %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovupd (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovupd %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovupd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovupd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovupd %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovupd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovupd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovups %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vmovups (%rax), %xmm19
+# CHECK-NEXT: 2 1 1.00 * vmovups %xmm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovups %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vmovups (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovups %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovups %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vmovups (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vmovups %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vmovups (%rax), %ymm19
+# CHECK-NEXT: 2 1 1.00 * vmovups %ymm16, (%rax)
+# CHECK-NEXT: 1 1 0.33 vmovups %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vmovups (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vmovups %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 0.33 vmovups %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vmovups (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 4 0.50 vmulpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 10 0.50 * vmulpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 10 0.50 * vmulpd (%rax){1to2}, %xmm17, %xmm19
@@ -2350,7 +2622,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 257.33 169.33 372.50 372.50 - 715.33 4.00 -
+# CHECK-NEXT: - 423.00 289.33 201.33 407.17 407.17 32.00 747.33 4.00 10.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -2626,12 +2898,108 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovapd %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovapd (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovapd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovapd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovapd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovapd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovapd %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovapd (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovapd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovapd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovapd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovapd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovaps %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovaps (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovaps %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovaps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovaps (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovaps %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovaps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovaps (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovaps %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovaps (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovaps %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovaps %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovaps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovaps %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovaps %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovaps (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vmovddup %xmm16, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovddup (%rax), %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vmovddup %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovddup (%rax), %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vmovddup %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovddup (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa32 %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqa32 (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa32 %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa32 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqa32 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa32 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa32 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqa32 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa32 %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqa32 (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa32 %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa32 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqa32 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa32 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa32 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqa32 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa64 %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqa64 (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa64 %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa64 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqa64 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa64 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa64 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqa64 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa64 %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqa64 (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa64 %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa64 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqa64 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa64 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa64 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqa64 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu32 %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu32 (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu32 %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu32 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu32 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu32 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu32 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu32 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu32 %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu32 (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu32 %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu32 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu32 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu32 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu32 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu32 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu64 %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu64 (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu64 %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu64 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu64 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu64 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu64 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu64 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu64 %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu64 (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu64 %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu64 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu64 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu64 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu64 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu64 (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vmovddup %ymm16, %ymm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovddup (%rax), %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - vmovddup %ymm16, %ymm19 {%k1}
@@ -2662,6 +3030,38 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovsldup (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vmovsldup %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovsldup (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovupd %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovupd (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovupd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovupd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovupd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovupd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovupd %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovupd (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovupd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovupd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovupd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovupd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovups %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovups (%rax), %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %xmm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovups %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovups (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovups %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovups (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovups %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovups (%rax), %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %ymm16, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovups %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovups (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovups %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovups (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulpd (%rax){1to2}, %xmm17, %xmm19
More information about the llvm-commits
mailing list