[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