[llvm] 6fae235 - [MCA][X86] Add missing ALIGND/ALIGNQ from AVX512F/AVX512VL tests
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 10 08:00:52 PST 2021
Author: Simon Pilgrim
Date: 2021-12-10T15:59:52Z
New Revision: 6fae235885fc62e8f737bc29b15323c1cc7e1e44
URL: https://github.com/llvm/llvm-project/commit/6fae235885fc62e8f737bc29b15323c1cc7e1e44
DIFF: https://github.com/llvm/llvm-project/commit/6fae235885fc62e8f737bc29b15323c1cc7e1e44.diff
LOG: [MCA][X86] Add missing ALIGND/ALIGNQ from AVX512F/AVX512VL tests
Added:
Modified:
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.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-avx512vl.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.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 b832d7af3519..6c2ebb482ce2 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
@@ -30,6 +30,26 @@ vaddps %zmm16, %zmm17, %zmm19 {z}{k1}
vaddps (%rax), %zmm17, %zmm19 {z}{k1}
vaddps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+valignd $1, %zmm16, %zmm17, %zmm19
+valignd $1, (%rax), %zmm17, %zmm19
+valignd $1, (%rax){1to16}, %zmm17, %zmm19
+valignd $1, %zmm16, %zmm17, %zmm19 {k1}
+valignd $1, (%rax), %zmm17, %zmm19 {k1}
+valignd $1, (%rax){1to16}, %zmm17, %zmm19 {k1}
+valignd $1, %zmm16, %zmm17, %zmm19 {z}{k1}
+valignd $1, (%rax), %zmm17, %zmm19 {z}{k1}
+valignd $1, (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+valignq $1, %zmm16, %zmm17, %zmm19
+valignq $1, (%rax), %zmm17, %zmm19
+valignq $1, (%rax){1to8}, %zmm17, %zmm19
+valignq $1, %zmm16, %zmm17, %zmm19 {k1}
+valignq $1, (%rax), %zmm17, %zmm19 {k1}
+valignq $1, (%rax){1to8}, %zmm17, %zmm19 {k1}
+valignq $1, %zmm16, %zmm17, %zmm19 {z}{k1}
+valignq $1, (%rax), %zmm17, %zmm19 {z}{k1}
+valignq $1, (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
vcmppd $0, %zmm0, %zmm1, %k2
vcmppd $0, (%rax), %zmm1, %k2
vcmppd $0, (%rax){1to8}, %zmm1, %k2
@@ -683,6 +703,24 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vaddps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vaddps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 valignd $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * valignd $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * valignd $1, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 1.00 valignd $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * valignd $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * valignd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 valignd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * valignd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * valignd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 valignq $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * valignq $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * valignq $1, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 1.00 valignq $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * valignq $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * valignq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 valignq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * valignq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * valignq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vcmpeqpd %zmm0, %zmm1, %k2
# CHECK-NEXT: 2 10 1.00 * vcmpeqpd (%rax), %zmm1, %k2
# CHECK-NEXT: 2 10 1.00 * vcmpeqpd (%rax){1to8}, %zmm1, %k2
@@ -1244,7 +1282,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 - 306.67 188.00 188.00
+# CHECK-NEXT: - 1506.00 138.67 201.67 - 324.67 194.00 194.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -1274,6 +1312,24 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - 1.00 - - - - vaddps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vaddps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - valignd $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignd $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignd $1, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - valignd $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignd $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - valignd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - valignq $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignq $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignq $1, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - valignq $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignq $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - valignq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - - - vcmpeqpd %zmm0, %zmm1, %k2
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpeqpd (%rax), %zmm1, %k2
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpeqpd (%rax){1to8}, %zmm1, %k2
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 2ba7bb5c674e..cf5a27135132 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
@@ -41,6 +41,46 @@ vaddps %ymm16, %ymm17, %ymm19 {z}{k1}
vaddps (%rax), %ymm17, %ymm19 {z}{k1}
vaddps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+valignd $1, %xmm16, %xmm17, %xmm19
+valignd $1, (%rax), %xmm17, %xmm19
+valignd $1, (%rax){1to4}, %xmm17, %xmm19
+valignd $1, %xmm16, %xmm17, %xmm19 {k1}
+valignd $1, (%rax), %xmm17, %xmm19 {k1}
+valignd $1, (%rax){1to4}, %xmm17, %xmm19 {k1}
+valignd $1, %xmm16, %xmm17, %xmm19 {z}{k1}
+valignd $1, (%rax), %xmm17, %xmm19 {z}{k1}
+valignd $1, (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+valignd $1, %ymm16, %ymm17, %ymm19
+valignd $1, (%rax), %ymm17, %ymm19
+valignd $1, (%rax){1to8}, %ymm17, %ymm19
+valignd $1, %ymm16, %ymm17, %ymm19 {k1}
+valignd $1, (%rax), %ymm17, %ymm19 {k1}
+valignd $1, (%rax){1to8}, %ymm17, %ymm19 {k1}
+valignd $1, %ymm16, %ymm17, %ymm19 {z}{k1}
+valignd $1, (%rax), %ymm17, %ymm19 {z}{k1}
+valignd $1, (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+valignq $1, %xmm16, %xmm17, %xmm19
+valignq $1, (%rax), %xmm17, %xmm19
+valignq $1, (%rax){1to2}, %xmm17, %xmm19
+valignq $1, %xmm16, %xmm17, %xmm19 {k1}
+valignq $1, (%rax), %xmm17, %xmm19 {k1}
+valignq $1, (%rax){1to2}, %xmm17, %xmm19 {k1}
+valignq $1, %xmm16, %xmm17, %xmm19 {z}{k1}
+valignq $1, (%rax), %xmm17, %xmm19 {z}{k1}
+valignq $1, (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+valignq $1, %ymm16, %ymm17, %ymm19
+valignq $1, (%rax), %ymm17, %ymm19
+valignq $1, (%rax){1to4}, %ymm17, %ymm19
+valignq $1, %ymm16, %ymm17, %ymm19 {k1}
+valignq $1, (%rax), %ymm17, %ymm19 {k1}
+valignq $1, (%rax){1to4}, %ymm17, %ymm19 {k1}
+valignq $1, %ymm16, %ymm17, %ymm19 {z}{k1}
+valignq $1, (%rax), %ymm17, %ymm19 {z}{k1}
+valignq $1, (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
vcmppd $0, %xmm0, %xmm1, %k2
vcmppd $0, (%rax), %xmm1, %k2
vcmppd $0, (%rax){1to2}, %xmm1, %k2
@@ -1002,6 +1042,42 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vaddps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vaddps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vaddps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 valignd $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * valignd $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * valignd $1, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 0.50 valignd $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * valignd $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * valignd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 valignd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * valignd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * valignd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 valignd $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * valignd $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * valignd $1, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 1.00 valignd $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * valignd $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * valignd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 valignd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * valignd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * valignd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 valignq $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * valignq $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * valignq $1, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 0.50 valignq $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * valignq $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * valignq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 valignq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * valignq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * valignq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 valignq $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * valignq $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * valignq $1, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 1.00 valignq $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * valignq $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * valignq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 valignq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * valignq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * valignq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vcmpeqpd %xmm0, %xmm1, %k2
# CHECK-NEXT: 2 9 1.00 * vcmpeqpd (%rax), %xmm1, %k2
# CHECK-NEXT: 2 9 1.00 * vcmpeqpd (%rax){1to2}, %xmm1, %k2
@@ -1829,7 +1905,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 317.50 - 410.50 286.00 286.00
+# CHECK-NEXT: - 1935.00 196.00 326.50 - 437.50 298.00 298.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -1869,6 +1945,42 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - 1.00 - - - - vaddps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vaddps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vaddps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - valignd $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 valignd $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 valignd $1, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - valignd $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 valignd $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 valignd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - valignd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 valignd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 valignd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - valignd $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignd $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignd $1, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 - - valignd $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignd $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - valignd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - valignq $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 valignq $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 valignq $1, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - valignq $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 valignq $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 valignq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - valignq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 valignq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 valignq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - valignq $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignq $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignq $1, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 - - valignq $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignq $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - valignq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 valignq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - - - vcmpeqpd %xmm0, %xmm1, %k2
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpeqpd (%rax), %xmm1, %k2
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpeqpd (%rax){1to2}, %xmm1, %k2
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 ce75b0ece470..b597f7e767f8 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
@@ -30,6 +30,26 @@ vaddps %zmm16, %zmm17, %zmm19 {z}{k1}
vaddps (%rax), %zmm17, %zmm19 {z}{k1}
vaddps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+valignd $1, %zmm16, %zmm17, %zmm19
+valignd $1, (%rax), %zmm17, %zmm19
+valignd $1, (%rax){1to16}, %zmm17, %zmm19
+valignd $1, %zmm16, %zmm17, %zmm19 {k1}
+valignd $1, (%rax), %zmm17, %zmm19 {k1}
+valignd $1, (%rax){1to16}, %zmm17, %zmm19 {k1}
+valignd $1, %zmm16, %zmm17, %zmm19 {z}{k1}
+valignd $1, (%rax), %zmm17, %zmm19 {z}{k1}
+valignd $1, (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+valignq $1, %zmm16, %zmm17, %zmm19
+valignq $1, (%rax), %zmm17, %zmm19
+valignq $1, (%rax){1to8}, %zmm17, %zmm19
+valignq $1, %zmm16, %zmm17, %zmm19 {k1}
+valignq $1, (%rax), %zmm17, %zmm19 {k1}
+valignq $1, (%rax){1to8}, %zmm17, %zmm19 {k1}
+valignq $1, %zmm16, %zmm17, %zmm19 {z}{k1}
+valignq $1, (%rax), %zmm17, %zmm19 {z}{k1}
+valignq $1, (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
vcmppd $0, %zmm0, %zmm1, %k2
vcmppd $0, (%rax), %zmm1, %k2
vcmppd $0, (%rax){1to8}, %zmm1, %k2
@@ -683,6 +703,24 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 4 0.50 vaddps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vaddps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 valignd $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 3 1.00 valignd $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 valignd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 valignq $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 3 1.00 valignq $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 valignq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 4 1.00 vcmpeqpd %zmm0, %zmm1, %k2
# CHECK-NEXT: 2 11 1.00 * vcmpeqpd (%rax), %zmm1, %k2
# CHECK-NEXT: 2 11 1.00 * vcmpeqpd (%rax){1to8}, %zmm1, %k2
@@ -1248,7 +1286,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 209.67 30.67 224.00 224.00 - 429.67 2.00 - - -
+# CHECK-NEXT: - 612.00 209.67 30.67 230.00 230.00 - 447.67 2.00 - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -1278,6 +1316,24 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vaddps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vaddps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - valignd $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - valignd $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - valignd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - valignq $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignq $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignq $1, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - valignq $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignq $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - valignq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpeqpd %zmm0, %zmm1, %k2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vcmpeqpd (%rax), %zmm1, %k2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vcmpeqpd (%rax){1to8}, %zmm1, %k2
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 cb79d0efa9b6..36471be171cf 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
@@ -41,6 +41,46 @@ vaddps %ymm16, %ymm17, %ymm19 {z}{k1}
vaddps (%rax), %ymm17, %ymm19 {z}{k1}
vaddps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+valignd $1, %xmm16, %xmm17, %xmm19
+valignd $1, (%rax), %xmm17, %xmm19
+valignd $1, (%rax){1to4}, %xmm17, %xmm19
+valignd $1, %xmm16, %xmm17, %xmm19 {k1}
+valignd $1, (%rax), %xmm17, %xmm19 {k1}
+valignd $1, (%rax){1to4}, %xmm17, %xmm19 {k1}
+valignd $1, %xmm16, %xmm17, %xmm19 {z}{k1}
+valignd $1, (%rax), %xmm17, %xmm19 {z}{k1}
+valignd $1, (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+valignd $1, %ymm16, %ymm17, %ymm19
+valignd $1, (%rax), %ymm17, %ymm19
+valignd $1, (%rax){1to8}, %ymm17, %ymm19
+valignd $1, %ymm16, %ymm17, %ymm19 {k1}
+valignd $1, (%rax), %ymm17, %ymm19 {k1}
+valignd $1, (%rax){1to8}, %ymm17, %ymm19 {k1}
+valignd $1, %ymm16, %ymm17, %ymm19 {z}{k1}
+valignd $1, (%rax), %ymm17, %ymm19 {z}{k1}
+valignd $1, (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+valignq $1, %xmm16, %xmm17, %xmm19
+valignq $1, (%rax), %xmm17, %xmm19
+valignq $1, (%rax){1to2}, %xmm17, %xmm19
+valignq $1, %xmm16, %xmm17, %xmm19 {k1}
+valignq $1, (%rax), %xmm17, %xmm19 {k1}
+valignq $1, (%rax){1to2}, %xmm17, %xmm19 {k1}
+valignq $1, %xmm16, %xmm17, %xmm19 {z}{k1}
+valignq $1, (%rax), %xmm17, %xmm19 {z}{k1}
+valignq $1, (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+valignq $1, %ymm16, %ymm17, %ymm19
+valignq $1, (%rax), %ymm17, %ymm19
+valignq $1, (%rax){1to4}, %ymm17, %ymm19
+valignq $1, %ymm16, %ymm17, %ymm19 {k1}
+valignq $1, (%rax), %ymm17, %ymm19 {k1}
+valignq $1, (%rax){1to4}, %ymm17, %ymm19 {k1}
+valignq $1, %ymm16, %ymm17, %ymm19 {z}{k1}
+valignq $1, (%rax), %ymm17, %ymm19 {z}{k1}
+valignq $1, (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
vcmppd $0, %xmm0, %xmm1, %k2
vcmppd $0, (%rax), %xmm1, %k2
vcmppd $0, (%rax){1to2}, %xmm1, %k2
@@ -1002,6 +1042,42 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 4 0.50 vaddps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vaddps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vaddps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 valignd $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * valignd $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * valignd $1, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 valignd $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * valignd $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * valignd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 valignd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * valignd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * valignd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 valignd $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 3 1.00 valignd $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 valignd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 valignq $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * valignq $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * valignq $1, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 valignq $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * valignq $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * valignq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 valignq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * valignq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * valignq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 valignq $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 3 1.00 valignq $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 valignq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 4 1.00 vcmpeqpd %xmm0, %xmm1, %k2
# CHECK-NEXT: 2 10 1.00 * vcmpeqpd (%rax), %xmm1, %k2
# CHECK-NEXT: 2 10 1.00 * vcmpeqpd (%rax){1to2}, %xmm1, %k2
@@ -1833,7 +1909,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 242.33 154.33 308.00 308.00 - 505.33 4.00 - - -
+# CHECK-NEXT: - 423.00 242.33 154.33 320.00 320.00 - 541.33 4.00 - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -1873,6 +1949,42 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vaddps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vaddps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vaddps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - valignd $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - valignd $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - valignd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - valignd $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - valignd $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - valignd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - valignq $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignq $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignq $1, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - valignq $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignq $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - valignq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - valignq $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignq $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignq $1, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - valignq $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignq $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - valignq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpeqpd %xmm0, %xmm1, %k2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vcmpeqpd (%rax), %xmm1, %k2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vcmpeqpd (%rax){1to2}, %xmm1, %k2
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 db6b849ed716..1e42d14a56e2 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
@@ -30,6 +30,26 @@ vaddps %zmm16, %zmm17, %zmm19 {z}{k1}
vaddps (%rax), %zmm17, %zmm19 {z}{k1}
vaddps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+valignd $1, %zmm16, %zmm17, %zmm19
+valignd $1, (%rax), %zmm17, %zmm19
+valignd $1, (%rax){1to16}, %zmm17, %zmm19
+valignd $1, %zmm16, %zmm17, %zmm19 {k1}
+valignd $1, (%rax), %zmm17, %zmm19 {k1}
+valignd $1, (%rax){1to16}, %zmm17, %zmm19 {k1}
+valignd $1, %zmm16, %zmm17, %zmm19 {z}{k1}
+valignd $1, (%rax), %zmm17, %zmm19 {z}{k1}
+valignd $1, (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+valignq $1, %zmm16, %zmm17, %zmm19
+valignq $1, (%rax), %zmm17, %zmm19
+valignq $1, (%rax){1to8}, %zmm17, %zmm19
+valignq $1, %zmm16, %zmm17, %zmm19 {k1}
+valignq $1, (%rax), %zmm17, %zmm19 {k1}
+valignq $1, (%rax){1to8}, %zmm17, %zmm19 {k1}
+valignq $1, %zmm16, %zmm17, %zmm19 {z}{k1}
+valignq $1, (%rax), %zmm17, %zmm19 {z}{k1}
+valignq $1, (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
vcmppd $0, %zmm0, %zmm1, %k2
vcmppd $0, (%rax), %zmm1, %k2
vcmppd $0, (%rax){1to8}, %zmm1, %k2
@@ -683,6 +703,24 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 4 0.50 vaddps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vaddps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 valignd $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 3 1.00 valignd $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 valignd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 valignq $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 3 1.00 valignq $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 valignq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 4 1.00 vcmpeqpd %zmm0, %zmm1, %k2
# CHECK-NEXT: 2 11 1.00 * vcmpeqpd (%rax), %zmm1, %k2
# CHECK-NEXT: 2 11 1.00 * vcmpeqpd (%rax){1to8}, %zmm1, %k2
@@ -1246,7 +1284,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 209.67 30.67 224.00 224.00 - 429.67 2.00 -
+# CHECK-NEXT: - 612.00 209.67 30.67 230.00 230.00 - 447.67 2.00 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1276,6 +1314,24 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vaddps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vaddps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - valignd $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignd $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignd $1, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - valignd $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignd $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - valignd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - valignq $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignq $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignq $1, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - valignq $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignq $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - valignq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vcmpeqpd %zmm0, %zmm1, %k2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vcmpeqpd (%rax), %zmm1, %k2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vcmpeqpd (%rax){1to8}, %zmm1, %k2
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 0c1b8ac8581b..8fbbc1e8c88c 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
@@ -41,6 +41,46 @@ vaddps %ymm16, %ymm17, %ymm19 {z}{k1}
vaddps (%rax), %ymm17, %ymm19 {z}{k1}
vaddps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+valignd $1, %xmm16, %xmm17, %xmm19
+valignd $1, (%rax), %xmm17, %xmm19
+valignd $1, (%rax){1to4}, %xmm17, %xmm19
+valignd $1, %xmm16, %xmm17, %xmm19 {k1}
+valignd $1, (%rax), %xmm17, %xmm19 {k1}
+valignd $1, (%rax){1to4}, %xmm17, %xmm19 {k1}
+valignd $1, %xmm16, %xmm17, %xmm19 {z}{k1}
+valignd $1, (%rax), %xmm17, %xmm19 {z}{k1}
+valignd $1, (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+valignd $1, %ymm16, %ymm17, %ymm19
+valignd $1, (%rax), %ymm17, %ymm19
+valignd $1, (%rax){1to8}, %ymm17, %ymm19
+valignd $1, %ymm16, %ymm17, %ymm19 {k1}
+valignd $1, (%rax), %ymm17, %ymm19 {k1}
+valignd $1, (%rax){1to8}, %ymm17, %ymm19 {k1}
+valignd $1, %ymm16, %ymm17, %ymm19 {z}{k1}
+valignd $1, (%rax), %ymm17, %ymm19 {z}{k1}
+valignd $1, (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+valignq $1, %xmm16, %xmm17, %xmm19
+valignq $1, (%rax), %xmm17, %xmm19
+valignq $1, (%rax){1to2}, %xmm17, %xmm19
+valignq $1, %xmm16, %xmm17, %xmm19 {k1}
+valignq $1, (%rax), %xmm17, %xmm19 {k1}
+valignq $1, (%rax){1to2}, %xmm17, %xmm19 {k1}
+valignq $1, %xmm16, %xmm17, %xmm19 {z}{k1}
+valignq $1, (%rax), %xmm17, %xmm19 {z}{k1}
+valignq $1, (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+valignq $1, %ymm16, %ymm17, %ymm19
+valignq $1, (%rax), %ymm17, %ymm19
+valignq $1, (%rax){1to4}, %ymm17, %ymm19
+valignq $1, %ymm16, %ymm17, %ymm19 {k1}
+valignq $1, (%rax), %ymm17, %ymm19 {k1}
+valignq $1, (%rax){1to4}, %ymm17, %ymm19 {k1}
+valignq $1, %ymm16, %ymm17, %ymm19 {z}{k1}
+valignq $1, (%rax), %ymm17, %ymm19 {z}{k1}
+valignq $1, (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
vcmppd $0, %xmm0, %xmm1, %k2
vcmppd $0, (%rax), %xmm1, %k2
vcmppd $0, (%rax){1to2}, %xmm1, %k2
@@ -1002,6 +1042,42 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 4 0.50 vaddps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vaddps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vaddps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 valignd $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * valignd $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * valignd $1, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 valignd $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * valignd $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * valignd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 valignd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * valignd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * valignd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 valignd $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 3 1.00 valignd $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 valignd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 valignq $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * valignq $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * valignq $1, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 valignq $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * valignq $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * valignq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 valignq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * valignq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * valignq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 valignq $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 3 1.00 valignq $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 valignq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * valignq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 4 1.00 vcmpeqpd %xmm0, %xmm1, %k2
# CHECK-NEXT: 2 10 1.00 * vcmpeqpd (%rax), %xmm1, %k2
# CHECK-NEXT: 2 10 1.00 * vcmpeqpd (%rax){1to2}, %xmm1, %k2
@@ -1831,7 +1907,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 242.33 154.33 308.00 308.00 - 505.33 4.00 -
+# CHECK-NEXT: - 423.00 242.33 154.33 320.00 320.00 - 541.33 4.00 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1871,6 +1947,42 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - valignd $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignd $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignd $1, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - valignd $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignd $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - valignd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - valignd $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignd $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignd $1, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - 1.00 - - valignd $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignd $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - valignd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - valignq $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignq $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignq $1, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - valignq $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignq $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - valignq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - valignq $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignq $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignq $1, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - 1.00 - - valignq $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignq $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - valignq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - valignq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vcmpeqpd %xmm0, %xmm1, %k2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vcmpeqpd (%rax), %xmm1, %k2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vcmpeqpd (%rax){1to2}, %xmm1, %k2
More information about the llvm-commits
mailing list