[llvm] 6a99f23 - [MCA][X86] Add test coverage for VDBPSADBW instructions
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sun Nov 13 07:20:13 PST 2022
Author: Simon Pilgrim
Date: 2022-11-13T15:19:36Z
New Revision: 6a99f23845025fb96dd2f83649d4065104f4ed86
URL: https://github.com/llvm/llvm-project/commit/6a99f23845025fb96dd2f83649d4065104f4ed86
DIFF: https://github.com/llvm/llvm-project/commit/6a99f23845025fb96dd2f83649d4065104f4ed86.diff
LOG: [MCA][X86] Add test coverage for VDBPSADBW instructions
Added:
Modified:
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/IceLakeServer/resources-avx512bw.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
Removed:
################################################################################
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 73016947de70..df1a9eb91dbf 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,13 @@ kshiftrq $2, %k1, %k2
kunpckdq %k0, %k1, %k2
kunpckwd %k0, %k1, %k2
+vdbpsadbw $0, %zmm16, %zmm17, %zmm19
+vdbpsadbw $0, (%rax), %zmm17, %zmm19
+vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {k1}
+vdbpsadbw $0, (%rax), %zmm17, %zmm19 {k1}
+vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {z}{k1}
+vdbpsadbw $0, (%rax), %zmm17, %zmm19 {z}{k1}
+
vmovdqu8 %zmm16, %zmm19
vmovdqu8 (%rax), %zmm19
vmovdqu8 %zmm16, (%rax)
@@ -298,6 +305,12 @@ 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 5 1.00 vdbpsadbw $0, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vdbpsadbw $0, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 5 1.00 vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vdbpsadbw $0, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vdbpsadbw $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# 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)
@@ -521,7 +534,7 @@ vpmovw2m %zmm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - 14.00 47.00 4.00 157.00 52.50 52.50
+# CHECK-NEXT: - - 20.00 47.00 4.00 157.00 54.00 54.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -543,6 +556,12 @@ 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: - - 1.00 - - - - - vdbpsadbw $0, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vdbpsadbw $0, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vdbpsadbw $0, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vdbpsadbw $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# 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)
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 32c285623cf7..c02c52d0fbf6 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,20 @@
# 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
+vdbpsadbw $0, %xmm16, %xmm17, %xmm19
+vdbpsadbw $0, (%rax), %xmm17, %xmm19
+vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {k1}
+vdbpsadbw $0, (%rax), %xmm17, %xmm19 {k1}
+vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {z}{k1}
+vdbpsadbw $0, (%rax), %xmm17, %xmm19 {z}{k1}
+
+vdbpsadbw $0, %ymm16, %ymm17, %ymm19
+vdbpsadbw $0, (%rax), %ymm17, %ymm19
+vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {k1}
+vdbpsadbw $0, (%rax), %ymm17, %ymm19 {k1}
+vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {z}{k1}
+vdbpsadbw $0, (%rax), %ymm17, %ymm19 {z}{k1}
+
vmovdqu8 %xmm16, %xmm19
vmovdqu8 (%rax), %xmm19
vmovdqu8 %xmm16, (%rax)
@@ -512,6 +526,18 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 5 1.00 vdbpsadbw $0, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vdbpsadbw $0, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 5 1.00 vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vdbpsadbw $0, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vdbpsadbw $0, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vdbpsadbw $0, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vdbpsadbw $0, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 1 5 1.00 vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vdbpsadbw $0, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vdbpsadbw $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# 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)
@@ -945,10 +971,22 @@ vpmovw2m %ymm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - 18.67 132.67 8.00 248.67 105.00 105.00
+# CHECK-NEXT: - - 30.67 132.67 8.00 248.67 108.00 108.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
+# CHECK-NEXT: - - 1.00 - - - - - vdbpsadbw $0, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vdbpsadbw $0, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - - - vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vdbpsadbw $0, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vdbpsadbw $0, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vdbpsadbw $0, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vdbpsadbw $0, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - - - vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vdbpsadbw $0, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vdbpsadbw $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# 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)
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 02a5152f9831..c156d388d20a 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,13 @@ kshiftrq $2, %k1, %k2
kunpckdq %k0, %k1, %k2
kunpckwd %k0, %k1, %k2
+vdbpsadbw $0, %zmm16, %zmm17, %zmm19
+vdbpsadbw $0, (%rax), %zmm17, %zmm19
+vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {k1}
+vdbpsadbw $0, (%rax), %zmm17, %zmm19 {k1}
+vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {z}{k1}
+vdbpsadbw $0, (%rax), %zmm17, %zmm19 {z}{k1}
+
vmovdqu8 %zmm16, %zmm19
vmovdqu8 (%rax), %zmm19
vmovdqu8 %zmm16, (%rax)
@@ -298,6 +305,12 @@ 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 3 1.00 vdbpsadbw $0, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vdbpsadbw $0, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 3 1.00 vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vdbpsadbw $0, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vdbpsadbw $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vmovdqu8 %zmm16, %zmm19
# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %zmm19
# CHECK-NEXT: 5 2 2.00 * vmovdqu8 %zmm16, (%rax)
@@ -525,7 +538,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: - - 38.00 11.00 52.50 52.50 6.00 183.00 - 2.00 - -
+# CHECK-NEXT: - - 38.00 11.00 54.00 54.00 6.00 189.00 - 2.00 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -547,6 +560,12 @@ 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: - - - - - - - 1.00 - - - - vdbpsadbw $0, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vdbpsadbw $0, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vdbpsadbw $0, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vdbpsadbw $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - 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)
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 6e106c9f0e58..9fde2ab24ed2 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,20 @@
# 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
+vdbpsadbw $0, %xmm16, %xmm17, %xmm19
+vdbpsadbw $0, (%rax), %xmm17, %xmm19
+vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {k1}
+vdbpsadbw $0, (%rax), %xmm17, %xmm19 {k1}
+vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {z}{k1}
+vdbpsadbw $0, (%rax), %xmm17, %xmm19 {z}{k1}
+
+vdbpsadbw $0, %ymm16, %ymm17, %ymm19
+vdbpsadbw $0, (%rax), %ymm17, %ymm19
+vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {k1}
+vdbpsadbw $0, (%rax), %ymm17, %ymm19 {k1}
+vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {z}{k1}
+vdbpsadbw $0, (%rax), %ymm17, %ymm19 {z}{k1}
+
vmovdqu8 %xmm16, %xmm19
vmovdqu8 (%rax), %xmm19
vmovdqu8 %xmm16, (%rax)
@@ -512,6 +526,18 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 3 1.00 vdbpsadbw $0, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vdbpsadbw $0, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vdbpsadbw $0, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vdbpsadbw $0, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vdbpsadbw $0, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vdbpsadbw $0, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 1 3 1.00 vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vdbpsadbw $0, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vdbpsadbw $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# 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)
@@ -949,10 +975,22 @@ vpmovw2m %ymm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - - 41.33 89.33 103.67 103.67 8.00 293.33 - 2.67 - -
+# CHECK-NEXT: - - 41.33 89.33 106.67 106.67 8.00 305.33 - 2.67 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vdbpsadbw $0, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vdbpsadbw $0, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vdbpsadbw $0, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vdbpsadbw $0, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vdbpsadbw $0, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vdbpsadbw $0, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vdbpsadbw $0, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vdbpsadbw $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# 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)
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 fed721e37175..84cbcef9778b 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,13 @@ kshiftrq $2, %k1, %k2
kunpckdq %k0, %k1, %k2
kunpckwd %k0, %k1, %k2
+vdbpsadbw $0, %zmm16, %zmm17, %zmm19
+vdbpsadbw $0, (%rax), %zmm17, %zmm19
+vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {k1}
+vdbpsadbw $0, (%rax), %zmm17, %zmm19 {k1}
+vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {z}{k1}
+vdbpsadbw $0, (%rax), %zmm17, %zmm19 {z}{k1}
+
vmovdqu8 %zmm16, %zmm19
vmovdqu8 (%rax), %zmm19
vmovdqu8 %zmm16, (%rax)
@@ -298,6 +305,12 @@ 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 3 1.00 vdbpsadbw $0, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vdbpsadbw $0, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 3 1.00 vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vdbpsadbw $0, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vdbpsadbw $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vmovdqu8 %zmm16, %zmm19
# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %zmm19
# CHECK-NEXT: 5 2 2.00 * vmovdqu8 %zmm16, (%rax)
@@ -523,7 +536,7 @@ vpmovw2m %zmm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 38.00 11.00 52.50 52.50 6.00 183.00 - 2.00
+# CHECK-NEXT: - - 38.00 11.00 54.00 54.00 6.00 189.00 - 2.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -545,6 +558,12 @@ 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: - - - - - - - 1.00 - - vdbpsadbw $0, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vdbpsadbw $0, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vdbpsadbw $0, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vdbpsadbw $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - 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)
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 cbdeb14f6284..c4fda58e51b6 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,20 @@
# 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
+vdbpsadbw $0, %xmm16, %xmm17, %xmm19
+vdbpsadbw $0, (%rax), %xmm17, %xmm19
+vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {k1}
+vdbpsadbw $0, (%rax), %xmm17, %xmm19 {k1}
+vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {z}{k1}
+vdbpsadbw $0, (%rax), %xmm17, %xmm19 {z}{k1}
+
+vdbpsadbw $0, %ymm16, %ymm17, %ymm19
+vdbpsadbw $0, (%rax), %ymm17, %ymm19
+vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {k1}
+vdbpsadbw $0, (%rax), %ymm17, %ymm19 {k1}
+vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {z}{k1}
+vdbpsadbw $0, (%rax), %ymm17, %ymm19 {z}{k1}
+
vmovdqu8 %xmm16, %xmm19
vmovdqu8 (%rax), %xmm19
vmovdqu8 %xmm16, (%rax)
@@ -512,6 +526,18 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 3 1.00 vdbpsadbw $0, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vdbpsadbw $0, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vdbpsadbw $0, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vdbpsadbw $0, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vdbpsadbw $0, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vdbpsadbw $0, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 1 3 1.00 vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vdbpsadbw $0, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vdbpsadbw $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# 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)
@@ -947,10 +973,22 @@ vpmovw2m %ymm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 41.33 37.33 103.67 103.67 8.00 345.33 - 2.67
+# CHECK-NEXT: - - 41.33 37.33 106.67 106.67 8.00 357.33 - 2.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
+# CHECK-NEXT: - - - - - - - 1.00 - - vdbpsadbw $0, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vdbpsadbw $0, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vdbpsadbw $0, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vdbpsadbw $0, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vdbpsadbw $0, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vdbpsadbw $0, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - 1.00 - - vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vdbpsadbw $0, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vdbpsadbw $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# 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)
More information about the llvm-commits
mailing list