[llvm] 39e65b8 - [llvm-mca][x86] Add AVX512 VMOVNTDQA instruction test coverage
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 19 10:24:24 PST 2024
Author: Simon Pilgrim
Date: 2024-11-19T18:20:28Z
New Revision: 39e65b87066f6de43b1c57ff08cb6ce95219ce15
URL: https://github.com/llvm/llvm-project/commit/39e65b87066f6de43b1c57ff08cb6ce95219ce15
DIFF: https://github.com/llvm/llvm-project/commit/39e65b87066f6de43b1c57ff08cb6ce95219ce15.diff
LOG: [llvm-mca][x86] Add AVX512 VMOVNTDQA instruction test coverage
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/SapphireRapids/resources-avx512.s
llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512vl.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
Removed:
################################################################################
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
index c3453d890d76d5..8736c1c6234af7 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
@@ -467,6 +467,8 @@ vmovdqu64 %zmm16, (%rax) {k1}
vmovdqu64 %zmm16, %zmm19 {z}{k1}
vmovdqu64 (%rax), %zmm19 {z}{k1}
+vmovntdqa (%rax), %zmm0
+
vmovshdup %zmm16, %zmm19
vmovshdup (%rax), %zmm19
vmovshdup %zmm16, %zmm19 {k1}
@@ -1497,6 +1499,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{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 7 0.50 * vmovntdqa (%rax), %zmm0
# 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}
@@ -2050,7 +2053,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - 1506.00 198.00 335.00 25.00 523.00 304.00 304.00
+# CHECK-NEXT: - 1506.00 198.00 335.00 25.00 523.00 304.50 304.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -2463,6 +2466,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{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: - - - - - - 0.50 0.50 vmovntdqa (%rax), %zmm0
# 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}
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 4a4f77826437bd..8bf3c21891f7f8 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
@@ -750,6 +750,9 @@ vmovddup (%rax), %ymm19 {k1}
vmovddup %ymm16, %ymm19 {z}{k1}
vmovddup (%rax), %ymm19 {z}{k1}
+{evex} vmovntdqa (%rax), %xmm0
+{evex} vmovntdqa (%rax), %ymm0
+
vmovshdup %xmm16, %xmm19
vmovshdup (%rax), %xmm19
vmovshdup %xmm16, %xmm19 {k1}
@@ -2397,6 +2400,8 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 8 1.00 * vmovddup (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vmovddup %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vmovddup (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 6 0.50 * {evex} vmovntdqa (%rax), %xmm0
+# CHECK-NEXT: 1 7 0.50 * {evex} vmovntdqa (%rax), %ymm0
# CHECK-NEXT: 1 1 1.00 vmovshdup %xmm16, %xmm19
# CHECK-NEXT: 2 7 1.00 * vmovshdup (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vmovshdup %xmm16, %xmm19 {%k1}
@@ -3264,7 +3269,7 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - 1935.00 278.00 579.50 48.00 738.50 494.50 494.50
+# CHECK-NEXT: - 1935.00 278.00 579.50 48.00 738.50 495.50 495.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -3936,6 +3941,8 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vmovddup (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vmovddup %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vmovddup (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - 0.50 0.50 {evex} vmovntdqa (%rax), %xmm0
+# CHECK-NEXT: - - - - - - 0.50 0.50 {evex} vmovntdqa (%rax), %ymm0
# CHECK-NEXT: - - - - - 1.00 - - vmovshdup %xmm16, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vmovshdup (%rax), %xmm19
# CHECK-NEXT: - - - - - 1.00 - - vmovshdup %xmm16, %xmm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
index c509e766540b15..28abdd5de1ce97 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
@@ -467,6 +467,8 @@ vmovdqu64 %zmm16, (%rax) {k1}
vmovdqu64 %zmm16, %zmm19 {z}{k1}
vmovdqu64 (%rax), %zmm19 {z}{k1}
+vmovntdqa (%rax), %zmm0
+
vmovshdup %zmm16, %zmm19
vmovshdup (%rax), %zmm19
vmovshdup %zmm16, %zmm19 {k1}
@@ -1497,6 +1499,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 1 0.50 * vmovdqu64 %zmm16, (%rax) {%k1}
# CHECK-NEXT: 1 1 0.50 vmovdqu64 %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vmovdqu64 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovntdqa (%rax), %zmm0
# 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}
@@ -2054,7 +2057,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - 612.00 411.17 103.67 327.50 327.50 48.50 593.17 6.00 48.50 48.50 48.50
+# CHECK-NEXT: - 612.00 411.17 103.67 328.00 328.00 48.50 593.17 6.00 48.50 48.50 48.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -2467,6 +2470,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vmovdqu64 %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vmovdqu64 %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu64 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - vmovntdqa (%rax), %zmm0
# 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}
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 00e5c3b03f6f52..a57ed444f794e8 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
@@ -750,6 +750,9 @@ vmovddup (%rax), %ymm19 {k1}
vmovddup %ymm16, %ymm19 {z}{k1}
vmovddup (%rax), %ymm19 {z}{k1}
+{evex} vmovntdqa (%rax), %xmm0
+{evex} vmovntdqa (%rax), %ymm0
+
vmovshdup %xmm16, %xmm19
vmovshdup (%rax), %xmm19
vmovshdup %xmm16, %xmm19 {k1}
@@ -2397,6 +2400,8 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 8 0.50 * vmovddup (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vmovddup %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vmovddup (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * {evex} vmovntdqa (%rax), %xmm0
+# CHECK-NEXT: 2 8 0.50 * {evex} vmovntdqa (%rax), %ymm0
# CHECK-NEXT: 1 1 0.50 vmovshdup %xmm16, %xmm19
# CHECK-NEXT: 2 7 0.50 * vmovshdup (%rax), %xmm19
# CHECK-NEXT: 1 1 0.50 vmovshdup %xmm16, %xmm19 {%k1}
@@ -3268,7 +3273,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 462.33 421.33 492.50 492.50 44.00 738.33 12.00 44.00 44.00 44.00
+# CHECK-NEXT: - 423.00 463.00 422.00 493.50 493.50 44.00 739.00 12.00 44.00 44.00 44.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -3940,6 +3945,8 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovddup (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vmovddup %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovddup (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - {evex} vmovntdqa (%rax), %xmm0
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - {evex} vmovntdqa (%rax), %ymm0
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - - - vmovshdup %xmm16, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovshdup (%rax), %xmm19
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - - - vmovshdup %xmm16, %xmm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512.s
index b2fde3929106a5..5ad7397a8ddc30 100644
--- a/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512.s
@@ -467,6 +467,8 @@ vmovdqu64 %zmm16, (%rax) {k1}
vmovdqu64 %zmm16, %zmm19 {z}{k1}
vmovdqu64 (%rax), %zmm19 {z}{k1}
+vmovntdqa (%rax), %zmm0
+
vmovshdup %zmm16, %zmm19
vmovshdup (%rax), %zmm19
vmovshdup %zmm16, %zmm19 {k1}
@@ -1497,6 +1499,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 12 0.50 * vmovdqu64 %zmm16, (%rax) {%k1}
# CHECK-NEXT: 1 1 0.50 vmovdqu64 %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 9 0.50 * vmovdqu64 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 8 0.33 * vmovntdqa (%rax), %zmm0
# CHECK-NEXT: 1 1 1.00 vmovshdup %zmm16, %zmm19
# CHECK-NEXT: 1 8 0.33 * vmovshdup (%rax), %zmm19
# CHECK-NEXT: 1 1 1.00 vmovshdup %zmm16, %zmm19 {%k1}
@@ -2055,7 +2058,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 508.60 13.60 218.33 218.33 48.50 578.60 1.60 48.50 48.50 48.50 1.60 218.33 -
+# CHECK-NEXT: 508.60 13.60 218.67 218.67 48.50 578.60 1.60 48.50 48.50 48.50 1.60 218.67 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -2468,6 +2471,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - 0.50 - - 0.50 0.50 0.50 - - - vmovdqu64 %zmm16, (%rax) {%k1}
# CHECK-NEXT: 0.50 - - - - 0.50 - - - - - - - vmovdqu64 %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 0.50 - 0.33 0.33 - 0.50 - - - - - 0.33 - vmovdqu64 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - - - - - 0.33 - vmovntdqa (%rax), %zmm0
# CHECK-NEXT: - - - - - 1.00 - - - - - - - vmovshdup %zmm16, %zmm19
# CHECK-NEXT: - - 0.33 0.33 - - - - - - - 0.33 - vmovshdup (%rax), %zmm19
# CHECK-NEXT: - - - - - 1.00 - - - - - - - vmovshdup %zmm16, %zmm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512vl.s
index d8c76832d38d3e..c1d6d5776e5875 100644
--- a/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512vl.s
@@ -750,6 +750,9 @@ vmovddup (%rax), %ymm19 {k1}
vmovddup %ymm16, %ymm19 {z}{k1}
vmovddup (%rax), %ymm19 {z}{k1}
+{evex} vmovntdqa (%rax), %xmm0
+{evex} vmovntdqa (%rax), %ymm0
+
vmovshdup %xmm16, %xmm19
vmovshdup (%rax), %xmm19
vmovshdup %xmm16, %xmm19 {k1}
@@ -2397,6 +2400,8 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 9 0.33 * vmovddup (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vmovddup %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 9 0.33 * vmovddup (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.33 * {evex} vmovntdqa (%rax), %xmm0
+# CHECK-NEXT: 1 8 0.33 * {evex} vmovntdqa (%rax), %ymm0
# CHECK-NEXT: 1 1 0.50 vmovshdup %xmm16, %xmm19
# CHECK-NEXT: 1 7 0.33 * vmovshdup (%rax), %xmm19
# CHECK-NEXT: 1 1 0.50 vmovshdup %xmm16, %xmm19 {%k1}
@@ -3269,7 +3274,7 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 404.53 412.53 328.33 328.33 46.00 797.53 3.20 46.00 46.00 46.00 3.20 328.33 -
+# CHECK-NEXT: 404.53 412.53 329.00 329.00 46.00 797.53 3.20 46.00 46.00 46.00 3.20 329.00 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -3941,6 +3946,8 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 0.33 0.33 0.33 0.33 - 0.33 - - - - - 0.33 - vmovddup (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - - - - - - vmovddup %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 0.33 0.33 0.33 0.33 - 0.33 - - - - - 0.33 - vmovddup (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - - - - - 0.33 - {evex} vmovntdqa (%rax), %xmm0
+# CHECK-NEXT: - - 0.33 0.33 - - - - - - - 0.33 - {evex} vmovntdqa (%rax), %ymm0
# CHECK-NEXT: - 0.50 - - - 0.50 - - - - - - - vmovshdup %xmm16, %xmm19
# CHECK-NEXT: - - 0.33 0.33 - - - - - - - 0.33 - vmovshdup (%rax), %xmm19
# CHECK-NEXT: - 0.50 - - - 0.50 - - - - - - - vmovshdup %xmm16, %xmm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
index 9c006d4ebb077d..e4f9be2fce1113 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
@@ -467,6 +467,8 @@ vmovdqu64 %zmm16, (%rax) {k1}
vmovdqu64 %zmm16, %zmm19 {z}{k1}
vmovdqu64 (%rax), %zmm19 {z}{k1}
+vmovntdqa (%rax), %zmm0
+
vmovshdup %zmm16, %zmm19
vmovshdup (%rax), %zmm19
vmovshdup %zmm16, %zmm19 {k1}
@@ -1497,6 +1499,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 1 1.00 * vmovdqu64 %zmm16, (%rax) {%k1}
# CHECK-NEXT: 1 1 0.50 vmovdqu64 %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vmovdqu64 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 7 0.50 * vmovntdqa (%rax), %zmm0
# 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}
@@ -2052,7 +2055,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 352.67 103.67 359.83 359.83 97.00 651.67 6.00 32.33
+# CHECK-NEXT: - 612.00 352.67 103.67 360.33 360.33 97.00 651.67 6.00 32.33
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -2465,6 +2468,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu64 %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vmovdqu64 %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovdqu64 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %zmm0
# 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}
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 b4b18101a67b80..de4d158e3b60ce 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
@@ -750,6 +750,9 @@ vmovddup (%rax), %ymm19 {k1}
vmovddup %ymm16, %ymm19 {z}{k1}
vmovddup (%rax), %ymm19 {z}{k1}
+{evex} vmovntdqa (%rax), %xmm0
+{evex} vmovntdqa (%rax), %ymm0
+
vmovshdup %xmm16, %xmm19
vmovshdup (%rax), %xmm19
vmovshdup %xmm16, %xmm19 {k1}
@@ -2397,6 +2400,8 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 8 0.50 * vmovddup (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vmovddup %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vmovddup (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * {evex} vmovntdqa (%rax), %xmm0
+# CHECK-NEXT: 2 8 0.50 * {evex} vmovntdqa (%rax), %ymm0
# CHECK-NEXT: 1 1 1.00 vmovshdup %xmm16, %xmm19
# CHECK-NEXT: 2 7 0.50 * vmovshdup (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vmovshdup %xmm16, %xmm19 {%k1}
@@ -3266,7 +3271,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 462.33 358.33 521.83 521.83 88.00 801.33 12.00 29.33
+# CHECK-NEXT: - 423.00 463.00 359.00 522.83 522.83 88.00 802.00 12.00 29.33
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -3938,6 +3943,8 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovddup (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vmovddup %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovddup (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - {evex} vmovntdqa (%rax), %xmm0
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - {evex} vmovntdqa (%rax), %ymm0
# CHECK-NEXT: - - - - - - - 1.00 - - vmovshdup %xmm16, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmovshdup (%rax), %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - vmovshdup %xmm16, %xmm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
index 0c4c6567680017..c8f07e94ad6b74 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
@@ -467,6 +467,8 @@ vmovdqu64 %zmm16, (%rax) {k1}
vmovdqu64 %zmm16, %zmm19 {z}{k1}
vmovdqu64 (%rax), %zmm19 {z}{k1}
+vmovntdqa (%rax), %zmm0
+
vmovshdup %zmm16, %zmm19
vmovshdup (%rax), %zmm19
vmovshdup %zmm16, %zmm19 {k1}
@@ -1497,6 +1499,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 1 1.00 * vmovdqu64 %zmm16, (%rax) {%k1}
# CHECK-NEXT: 1 0 0.17 vmovdqu64 %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 8 0.50 * vmovdqu64 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 8 0.50 * vmovntdqa (%rax), %zmm0
# CHECK-NEXT: 1 1 1.00 vmovshdup %zmm16, %zmm19
# CHECK-NEXT: 1 8 1.00 * vmovshdup (%rax), %zmm19
# CHECK-NEXT: 1 1 1.00 vmovshdup %zmm16, %zmm19 {%k1}
@@ -2065,7 +2068,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 219.50 1059.00 616.50 351.00 297.00 297.00 17.00 205.33 205.33 205.33 194.33 194.33 194.33 16.50 16.50
+# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 219.50 1059.00 616.50 351.00 297.50 297.50 17.00 205.67 205.67 205.67 194.67 194.67 194.67 16.50 16.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
@@ -2478,6 +2481,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu64 %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu64 %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu64 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovntdqa (%rax), %zmm0
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vmovshdup %zmm16, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovshdup (%rax), %zmm19
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vmovshdup %zmm16, %zmm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
index 4636e23d9df3e2..5565eb740a1c69 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
@@ -750,6 +750,9 @@ vmovddup (%rax), %ymm19 {k1}
vmovddup %ymm16, %ymm19 {z}{k1}
vmovddup (%rax), %ymm19 {z}{k1}
+{evex} vmovntdqa (%rax), %xmm0
+{evex} vmovntdqa (%rax), %ymm0
+
vmovshdup %xmm16, %xmm19
vmovshdup (%rax), %xmm19
vmovshdup %xmm16, %xmm19 {k1}
@@ -2397,6 +2400,8 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 8 0.50 * vmovddup (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 2 1.00 vmovddup %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 8 0.50 * vmovddup (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 8 0.50 * {evex} vmovntdqa (%rax), %xmm0
+# CHECK-NEXT: 1 8 0.50 * {evex} vmovntdqa (%rax), %ymm0
# CHECK-NEXT: 1 1 0.50 vmovshdup %xmm16, %xmm19
# CHECK-NEXT: 1 8 0.50 * vmovshdup (%rax), %xmm19
# CHECK-NEXT: 1 1 0.50 vmovshdup %xmm16, %xmm19 {%k1}
@@ -3279,7 +3284,7 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 10.67 10.67 10.67 - - - - - 208.00 948.00 501.50 261.50 478.50 478.50 32.00 335.00 335.00 335.00 313.67 313.67 313.67 32.00 32.00
+# CHECK-NEXT: 10.67 10.67 10.67 - - - - - 208.00 948.00 501.50 261.50 479.50 479.50 32.00 335.67 335.67 335.67 314.33 314.33 314.33 32.00 32.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
@@ -3951,6 +3956,8 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovddup (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vmovddup %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovddup (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {evex} vmovntdqa (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {evex} vmovntdqa (%rax), %ymm0
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovshdup %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovshdup (%rax), %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovshdup %xmm16, %xmm19 {%k1}
More information about the llvm-commits
mailing list