[llvm] r343421 - [LLVM-MCA][X86] Add missing VCMPESTR/VCMPESTR tests

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 30 11:19:00 PDT 2018


Author: rksimon
Date: Sun Sep 30 11:19:00 2018
New Revision: 343421

URL: http://llvm.org/viewvc/llvm-project?rev=343421&view=rev
Log:
[LLVM-MCA][X86] Add missing VCMPESTR/VCMPESTR tests

Modified:
    llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
    llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
    llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx1.s
    llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
    llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s
    llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
    llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
    llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-avx1.s

Modified: llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s?rev=343421&r1=343420&r2=343421&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s Sun Sep 30 11:19:00 2018
@@ -565,6 +565,12 @@ vpcmpeqq          (%rax), %xmm1, %xmm2
 vpcmpeqw          %xmm0, %xmm1, %xmm2
 vpcmpeqw          (%rax), %xmm1, %xmm2
 
+vpcmpestri        $1, %xmm0, %xmm2
+vpcmpestri        $1, (%rax), %xmm2
+
+vpcmpestrm        $1, %xmm0, %xmm2
+vpcmpestrm        $1, (%rax), %xmm2
+
 vpcmpgtb          %xmm0, %xmm1, %xmm2
 vpcmpgtb          (%rax), %xmm1, %xmm2
 
@@ -577,6 +583,12 @@ vpcmpgtq          (%rax), %xmm1, %xmm2
 vpcmpgtw          %xmm0, %xmm1, %xmm2
 vpcmpgtw          (%rax), %xmm1, %xmm2
 
+vpcmpistri        $1, %xmm0, %xmm2
+vpcmpistri        $1, (%rax), %xmm2
+
+vpcmpistrm        $1, %xmm0, %xmm2
+vpcmpistrm        $1, (%rax), %xmm2
+
 vperm2f128        $1, %ymm0, %ymm1, %ymm2
 vperm2f128        $1, (%rax), %ymm1, %ymm2
 
@@ -1401,6 +1413,10 @@ vzeroupper
 # CHECK-NEXT:  2      6     0.50    *                   vpcmpeqq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpeqw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  2      6     0.50    *                   vpcmpeqw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  8      18    4.00                        vpcmpestri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  9      23    4.00    *                   vpcmpestri	$1, (%rax), %xmm2
+# CHECK-NEXT:  9      19    4.00                        vpcmpestrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  10     24    4.00    *                   vpcmpestrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtb	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  2      6     0.50    *                   vpcmpgtb	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtd	%xmm0, %xmm1, %xmm2
@@ -1409,6 +1425,10 @@ vzeroupper
 # CHECK-NEXT:  2      10    1.00    *                   vpcmpgtq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  2      6     0.50    *                   vpcmpgtw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  3      11    3.00                        vpcmpistri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  4      16    3.00    *                   vpcmpistri	$1, (%rax), %xmm2
+# CHECK-NEXT:  3      11    3.00                        vpcmpistrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  4      16    3.00    *                   vpcmpistrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  1      3     1.00                        vperm2f128	$1, %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  2      9     1.00    *                   vperm2f128	$1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      1     1.00                        vpermilpd	$1, %xmm0, %xmm2
@@ -1716,7 +1736,7 @@ vzeroupper
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -     257.00 186.67 234.67 174.17 174.17 38.00  428.67 1.00   12.67
+# CHECK-NEXT:  -     257.00 216.33 236.33 176.17 176.17 38.00  442.33 2.00   12.67
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -2103,6 +2123,10 @@ vzeroupper
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50    -     0.50    -      -     vpcmpeqq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     vpcmpeqw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50    -     0.50    -      -     vpcmpeqw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -     4.25   0.25    -      -      -     3.25   0.25    -     vpcmpestri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     4.25   0.25   0.50   0.50    -     3.25   0.25    -     vpcmpestri	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -     4.58   0.58    -      -      -     3.58   0.25    -     vpcmpestrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     4.58   0.58   0.50   0.50    -     3.58   0.25    -     vpcmpestrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     vpcmpgtb	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50    -     0.50    -      -     vpcmpgtb	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     vpcmpgtd	%xmm0, %xmm1, %xmm2
@@ -2111,6 +2135,10 @@ vzeroupper
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpcmpgtq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     vpcmpgtw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50    -     0.50    -      -     vpcmpgtw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -     3.00    -      -      -      -      -      -      -     vpcmpistri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     3.00    -     0.50   0.50    -      -      -      -     vpcmpistri	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -     3.00    -      -      -      -      -      -      -     vpcmpistrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     3.00    -     0.50   0.50    -      -      -      -     vpcmpistrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vperm2f128	$1, %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vperm2f128	$1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpermilpd	$1, %xmm0, %xmm2

Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s?rev=343421&r1=343420&r2=343421&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s Sun Sep 30 11:19:00 2018
@@ -565,6 +565,12 @@ vpcmpeqq          (%rax), %xmm1, %xmm2
 vpcmpeqw          %xmm0, %xmm1, %xmm2
 vpcmpeqw          (%rax), %xmm1, %xmm2
 
+vpcmpestri        $1, %xmm0, %xmm2
+vpcmpestri        $1, (%rax), %xmm2
+
+vpcmpestrm        $1, %xmm0, %xmm2
+vpcmpestrm        $1, (%rax), %xmm2
+
 vpcmpgtb          %xmm0, %xmm1, %xmm2
 vpcmpgtb          (%rax), %xmm1, %xmm2
 
@@ -577,6 +583,12 @@ vpcmpgtq          (%rax), %xmm1, %xmm2
 vpcmpgtw          %xmm0, %xmm1, %xmm2
 vpcmpgtw          (%rax), %xmm1, %xmm2
 
+vpcmpistri        $1, %xmm0, %xmm2
+vpcmpistri        $1, (%rax), %xmm2
+
+vpcmpistrm        $1, %xmm0, %xmm2
+vpcmpistrm        $1, (%rax), %xmm2
+
 vperm2f128        $1, %ymm0, %ymm1, %ymm2
 vperm2f128        $1, (%rax), %ymm1, %ymm2
 
@@ -1401,6 +1413,10 @@ vzeroupper
 # CHECK-NEXT:  1      6     1.00    *                   vpcmpeqq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpeqw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  1      6     1.00    *                   vpcmpeqw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  9      14    5.00                        vpcmpestri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  9      19    5.00    *                   vpcmpestri	$1, (%rax), %xmm2
+# CHECK-NEXT:  9      14    5.00                        vpcmpestrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  9      19    5.00    *                   vpcmpestrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtb	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  1      6     1.00    *                   vpcmpgtb	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtd	%xmm0, %xmm1, %xmm2
@@ -1409,6 +1425,10 @@ vzeroupper
 # CHECK-NEXT:  1      6     1.00    *                   vpcmpgtq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  1      6     1.00    *                   vpcmpgtw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  3      7     2.00                        vpcmpistri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  3      12    2.00    *                   vpcmpistri	$1, (%rax), %xmm2
+# CHECK-NEXT:  3      8     2.00                        vpcmpistrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  3      13    2.00    *                   vpcmpistrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  2      1     1.00                        vperm2f128	$1, %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  2      6     1.00    *                   vperm2f128	$1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      1     0.50                        vpermilpd	$1, %xmm0, %xmm2
@@ -1720,7 +1740,7 @@ vzeroupper
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]
-# CHECK-NEXT: 48.00   -      -     357.00 915.00 419.50 425.50 382.00  -     43.00  132.00 119.50 119.50 38.00
+# CHECK-NEXT: 56.00   -      -     365.00 915.00 423.50 437.50 394.00  -     51.00  132.00 131.50 155.50 38.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]   Instructions:
@@ -2107,6 +2127,10 @@ vzeroupper
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     vpcmpeqq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     vpcmpeqw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     vpcmpeqw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1.00    -      -     1.00    -      -     1.00   2.00    -     2.00    -     3.00   7.00    -     vpcmpestri	$1, %xmm0, %xmm2
+# CHECK-NEXT: 1.00    -      -     1.00    -      -     1.00   3.00    -     2.00    -     3.00   7.00    -     vpcmpestri	$1, (%rax), %xmm2
+# CHECK-NEXT: 1.00    -      -     1.00    -      -     1.00   2.00    -     2.00    -     3.00   7.00    -     vpcmpestrm	$1, %xmm0, %xmm2
+# CHECK-NEXT: 1.00    -      -     1.00    -      -     1.00   3.00    -     2.00    -     3.00   7.00    -     vpcmpestrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     vpcmpgtb	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     vpcmpgtb	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     vpcmpgtd	%xmm0, %xmm1, %xmm2
@@ -2115,6 +2139,10 @@ vzeroupper
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     vpcmpgtq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     vpcmpgtw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     vpcmpgtw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1.00    -      -     1.00    -     1.00   2.00    -      -      -      -      -     2.00    -     vpcmpistri	$1, %xmm0, %xmm2
+# CHECK-NEXT: 1.00    -      -     1.00    -     1.00   2.00   1.00    -      -      -      -     2.00    -     vpcmpistri	$1, (%rax), %xmm2
+# CHECK-NEXT: 1.00    -      -     1.00    -     1.00   2.00    -      -      -      -      -     2.00    -     vpcmpistrm	$1, %xmm0, %xmm2
+# CHECK-NEXT: 1.00    -      -     1.00    -     1.00   2.00   1.00    -      -      -      -     2.00    -     vpcmpistrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  -      -      -     1.00   1.00   1.00   1.00    -      -      -      -      -      -      -     vperm2f128	$1, %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -     1.00   1.00   1.00   1.00   1.00    -      -      -      -      -      -     vperm2f128	$1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -      -     vpermilpd	$1, %xmm0, %xmm2

Modified: llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx1.s?rev=343421&r1=343420&r2=343421&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx1.s Sun Sep 30 11:19:00 2018
@@ -565,6 +565,12 @@ vpcmpeqq          (%rax), %xmm1, %xmm2
 vpcmpeqw          %xmm0, %xmm1, %xmm2
 vpcmpeqw          (%rax), %xmm1, %xmm2
 
+vpcmpestri        $1, %xmm0, %xmm2
+vpcmpestri        $1, (%rax), %xmm2
+
+vpcmpestrm        $1, %xmm0, %xmm2
+vpcmpestrm        $1, (%rax), %xmm2
+
 vpcmpgtb          %xmm0, %xmm1, %xmm2
 vpcmpgtb          (%rax), %xmm1, %xmm2
 
@@ -577,6 +583,12 @@ vpcmpgtq          (%rax), %xmm1, %xmm2
 vpcmpgtw          %xmm0, %xmm1, %xmm2
 vpcmpgtw          (%rax), %xmm1, %xmm2
 
+vpcmpistri        $1, %xmm0, %xmm2
+vpcmpistri        $1, (%rax), %xmm2
+
+vpcmpistrm        $1, %xmm0, %xmm2
+vpcmpistrm        $1, (%rax), %xmm2
+
 vperm2f128        $1, %ymm0, %ymm1, %ymm2
 vperm2f128        $1, (%rax), %ymm1, %ymm2
 
@@ -1401,6 +1413,10 @@ vzeroupper
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpeqq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpeqw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpeqw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      4     2.67                        vpcmpestri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      4     2.33    *                   vpcmpestri	$1, (%rax), %xmm2
+# CHECK-NEXT:  1      11    2.67                        vpcmpestrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      11    2.33    *                   vpcmpestrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtb	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpgtb	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtd	%xmm0, %xmm1, %xmm2
@@ -1409,6 +1425,10 @@ vzeroupper
 # CHECK-NEXT:  2      11    1.00    *                   vpcmpgtq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpgtw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  3      11    3.00                        vpcmpistri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  4      17    3.00    *                   vpcmpistri	$1, (%rax), %xmm2
+# CHECK-NEXT:  3      11    3.00                        vpcmpistrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  4      17    3.00    *                   vpcmpistrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  1      1     1.00                        vperm2f128	$1, %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  2      8     1.00    *                   vperm2f128	$1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      1     1.00                        vpermilpd	$1, %xmm0, %xmm2
@@ -1714,7 +1734,7 @@ vzeroupper
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -     572.00 225.17 307.67 39.00  354.17 177.50 177.50
+# CHECK-NEXT:  -     572.00 247.17 317.67 39.00  364.17 179.50 179.50
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
@@ -2101,6 +2121,10 @@ vzeroupper
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmpeqq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpeqw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmpeqw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -     2.67   2.67    -     2.67    -      -     vpcmpestri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     2.33   2.33    -     2.33   0.50   0.50   vpcmpestri	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -     2.67   2.67    -     2.67    -      -     vpcmpestrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     2.33   2.33    -     2.33   0.50   0.50   vpcmpestrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpgtb	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmpgtb	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpgtd	%xmm0, %xmm1, %xmm2
@@ -2109,6 +2133,10 @@ vzeroupper
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpcmpgtq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpgtw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmpgtw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -     3.00    -      -      -      -      -     vpcmpistri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     3.00    -      -      -     0.50   0.50   vpcmpistri	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -     3.00    -      -      -      -      -     vpcmpistrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     3.00    -      -      -     0.50   0.50   vpcmpistrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vperm2f128	$1, %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vperm2f128	$1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermilpd	$1, %xmm0, %xmm2

Modified: llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-avx1.s?rev=343421&r1=343420&r2=343421&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-avx1.s Sun Sep 30 11:19:00 2018
@@ -565,6 +565,12 @@ vpcmpeqq          (%rax), %xmm1, %xmm2
 vpcmpeqw          %xmm0, %xmm1, %xmm2
 vpcmpeqw          (%rax), %xmm1, %xmm2
 
+vpcmpestri        $1, %xmm0, %xmm2
+vpcmpestri        $1, (%rax), %xmm2
+
+vpcmpestrm        $1, %xmm0, %xmm2
+vpcmpestrm        $1, (%rax), %xmm2
+
 vpcmpgtb          %xmm0, %xmm1, %xmm2
 vpcmpgtb          (%rax), %xmm1, %xmm2
 
@@ -577,6 +583,12 @@ vpcmpgtq          (%rax), %xmm1, %xmm2
 vpcmpgtw          %xmm0, %xmm1, %xmm2
 vpcmpgtw          (%rax), %xmm1, %xmm2
 
+vpcmpistri        $1, %xmm0, %xmm2
+vpcmpistri        $1, (%rax), %xmm2
+
+vpcmpistrm        $1, %xmm0, %xmm2
+vpcmpistrm        $1, (%rax), %xmm2
+
 vperm2f128        $1, %ymm0, %ymm1, %ymm2
 vperm2f128        $1, (%rax), %ymm1, %ymm2
 
@@ -1401,6 +1413,10 @@ vzeroupper
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpeqq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpeqw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpeqw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  8      18    4.00                        vpcmpestri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  9      24    4.00    *                   vpcmpestri	$1, (%rax), %xmm2
+# CHECK-NEXT:  9      19    4.00                        vpcmpestrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  10     25    4.00    *                   vpcmpestrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtb	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpgtb	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtd	%xmm0, %xmm1, %xmm2
@@ -1409,6 +1425,10 @@ vzeroupper
 # CHECK-NEXT:  2      11    1.00    *                   vpcmpgtq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpgtw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  3      11    3.00                        vpcmpistri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  4      17    3.00    *                   vpcmpistri	$1, (%rax), %xmm2
+# CHECK-NEXT:  3      11    3.00                        vpcmpistrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  4      17    3.00    *                   vpcmpistrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  1      3     1.00                        vperm2f128	$1, %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  2      10    1.00    *                   vperm2f128	$1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      1     1.00                        vpermilpd	$1, %xmm0, %xmm2
@@ -1716,7 +1736,7 @@ vzeroupper
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -     336.00 186.00 236.00 174.17 174.17 38.00  432.00 1.00   12.67
+# CHECK-NEXT:  -     336.00 215.67 237.67 176.17 176.17 38.00  445.67 2.00   12.67
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -2103,6 +2123,10 @@ vzeroupper
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50    -     0.50    -      -     vpcmpeqq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     vpcmpeqw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50    -     0.50    -      -     vpcmpeqw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -     4.25   0.25    -      -      -     3.25   0.25    -     vpcmpestri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     4.25   0.25   0.50   0.50    -     3.25   0.25    -     vpcmpestri	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -     4.58   0.58    -      -      -     3.58   0.25    -     vpcmpestrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     4.58   0.58   0.50   0.50    -     3.58   0.25    -     vpcmpestrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     vpcmpgtb	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50    -     0.50    -      -     vpcmpgtb	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     vpcmpgtd	%xmm0, %xmm1, %xmm2
@@ -2111,6 +2135,10 @@ vzeroupper
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpcmpgtq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     vpcmpgtw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50    -     0.50    -      -     vpcmpgtw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -     3.00    -      -      -      -      -      -      -     vpcmpistri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     3.00    -     0.50   0.50    -      -      -      -     vpcmpistri	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -     3.00    -      -      -      -      -      -      -     vpcmpistrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     3.00    -     0.50   0.50    -      -      -      -     vpcmpistrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vperm2f128	$1, %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vperm2f128	$1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpermilpd	$1, %xmm0, %xmm2

Modified: llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s?rev=343421&r1=343420&r2=343421&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s Sun Sep 30 11:19:00 2018
@@ -565,6 +565,12 @@ vpcmpeqq          (%rax), %xmm1, %xmm2
 vpcmpeqw          %xmm0, %xmm1, %xmm2
 vpcmpeqw          (%rax), %xmm1, %xmm2
 
+vpcmpestri        $1, %xmm0, %xmm2
+vpcmpestri        $1, (%rax), %xmm2
+
+vpcmpestrm        $1, %xmm0, %xmm2
+vpcmpestrm        $1, (%rax), %xmm2
+
 vpcmpgtb          %xmm0, %xmm1, %xmm2
 vpcmpgtb          (%rax), %xmm1, %xmm2
 
@@ -577,6 +583,12 @@ vpcmpgtq          (%rax), %xmm1, %xmm2
 vpcmpgtw          %xmm0, %xmm1, %xmm2
 vpcmpgtw          (%rax), %xmm1, %xmm2
 
+vpcmpistri        $1, %xmm0, %xmm2
+vpcmpistri        $1, (%rax), %xmm2
+
+vpcmpistrm        $1, %xmm0, %xmm2
+vpcmpistrm        $1, (%rax), %xmm2
+
 vperm2f128        $1, %ymm0, %ymm1, %ymm2
 vperm2f128        $1, (%rax), %ymm1, %ymm2
 
@@ -1401,6 +1413,10 @@ vzeroupper
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpeqq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpeqw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpeqw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      4     2.67                        vpcmpestri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      4     2.33    *                   vpcmpestri	$1, (%rax), %xmm2
+# CHECK-NEXT:  1      11    2.67                        vpcmpestrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      11    2.33    *                   vpcmpestrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtb	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpgtb	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtd	%xmm0, %xmm1, %xmm2
@@ -1409,6 +1425,10 @@ vzeroupper
 # CHECK-NEXT:  2      11    1.00    *                   vpcmpgtq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpgtw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  3      11    3.00                        vpcmpistri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  4      17    3.00    *                   vpcmpistri	$1, (%rax), %xmm2
+# CHECK-NEXT:  3      11    3.00                        vpcmpistrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  4      17    3.00    *                   vpcmpistrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  1      1     1.00                        vperm2f128	$1, %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  2      8     1.00    *                   vperm2f128	$1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      1     1.00                        vpermilpd	$1, %xmm0, %xmm2
@@ -1714,7 +1734,7 @@ vzeroupper
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -     572.00 225.17 307.67 39.00  354.17 177.50 177.50
+# CHECK-NEXT:  -     572.00 247.17 317.67 39.00  364.17 179.50 179.50
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
@@ -2101,6 +2121,10 @@ vzeroupper
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmpeqq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpeqw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmpeqw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -     2.67   2.67    -     2.67    -      -     vpcmpestri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     2.33   2.33    -     2.33   0.50   0.50   vpcmpestri	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -     2.67   2.67    -     2.67    -      -     vpcmpestrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     2.33   2.33    -     2.33   0.50   0.50   vpcmpestrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpgtb	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmpgtb	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpgtd	%xmm0, %xmm1, %xmm2
@@ -2109,6 +2133,10 @@ vzeroupper
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpcmpgtq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpgtw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmpgtw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -     3.00    -      -      -      -      -     vpcmpistri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     3.00    -      -      -     0.50   0.50   vpcmpistri	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -     3.00    -      -      -      -      -     vpcmpistrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     3.00    -      -      -     0.50   0.50   vpcmpistrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vperm2f128	$1, %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vperm2f128	$1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermilpd	$1, %xmm0, %xmm2

Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s?rev=343421&r1=343420&r2=343421&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s Sun Sep 30 11:19:00 2018
@@ -565,6 +565,12 @@ vpcmpeqq          (%rax), %xmm1, %xmm2
 vpcmpeqw          %xmm0, %xmm1, %xmm2
 vpcmpeqw          (%rax), %xmm1, %xmm2
 
+vpcmpestri        $1, %xmm0, %xmm2
+vpcmpestri        $1, (%rax), %xmm2
+
+vpcmpestrm        $1, %xmm0, %xmm2
+vpcmpestrm        $1, (%rax), %xmm2
+
 vpcmpgtb          %xmm0, %xmm1, %xmm2
 vpcmpgtb          (%rax), %xmm1, %xmm2
 
@@ -577,6 +583,12 @@ vpcmpgtq          (%rax), %xmm1, %xmm2
 vpcmpgtw          %xmm0, %xmm1, %xmm2
 vpcmpgtw          (%rax), %xmm1, %xmm2
 
+vpcmpistri        $1, %xmm0, %xmm2
+vpcmpistri        $1, (%rax), %xmm2
+
+vpcmpistrm        $1, %xmm0, %xmm2
+vpcmpistrm        $1, (%rax), %xmm2
+
 vperm2f128        $1, %ymm0, %ymm1, %ymm2
 vperm2f128        $1, (%rax), %ymm1, %ymm2
 
@@ -1401,6 +1413,10 @@ vzeroupper
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpeqq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpeqw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpeqw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  8      18    4.00                        vpcmpestri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  9      24    4.00    *                   vpcmpestri	$1, (%rax), %xmm2
+# CHECK-NEXT:  9      19    4.00                        vpcmpestrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  10     25    4.00    *                   vpcmpestrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtb	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpgtb	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtd	%xmm0, %xmm1, %xmm2
@@ -1409,6 +1425,10 @@ vzeroupper
 # CHECK-NEXT:  2      9     1.00    *                   vpcmpgtq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpgtw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  3      10    3.00                        vpcmpistri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  4      16    3.00    *                   vpcmpistri	$1, (%rax), %xmm2
+# CHECK-NEXT:  3      10    3.00                        vpcmpistrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  4      16    3.00    *                   vpcmpistrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  1      3     1.00                        vperm2f128	$1, %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  2      10    1.00    *                   vperm2f128	$1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      1     1.00                        vpermilpd	$1, %xmm0, %xmm2
@@ -1716,7 +1736,7 @@ vzeroupper
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -     123.00 303.50 202.50 171.17 171.17 34.00  311.00 5.00   12.67
+# CHECK-NEXT:  -     123.00 333.17 204.17 173.17 173.17 34.00  324.67 6.00   12.67
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -2103,6 +2123,10 @@ vzeroupper
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpcmpeqq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpcmpeqw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpcmpeqw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -     4.25   0.25    -      -      -     3.25   0.25    -     vpcmpestri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     4.25   0.25   0.50   0.50    -     3.25   0.25    -     vpcmpestri	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -     4.58   0.58    -      -      -     3.58   0.25    -     vpcmpestrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     4.58   0.58   0.50   0.50    -     3.58   0.25    -     vpcmpestrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpcmpgtb	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpcmpgtb	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpcmpgtd	%xmm0, %xmm1, %xmm2
@@ -2111,6 +2135,10 @@ vzeroupper
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpcmpgtq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpcmpgtw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpcmpgtw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -     3.00    -      -      -      -      -      -      -     vpcmpistri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     3.00    -     0.50   0.50    -      -      -      -     vpcmpistri	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -     3.00    -      -      -      -      -      -      -     vpcmpistrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     3.00    -     0.50   0.50    -      -      -      -     vpcmpistrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vperm2f128	$1, %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vperm2f128	$1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpermilpd	$1, %xmm0, %xmm2

Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s?rev=343421&r1=343420&r2=343421&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s Sun Sep 30 11:19:00 2018
@@ -565,6 +565,12 @@ vpcmpeqq          (%rax), %xmm1, %xmm2
 vpcmpeqw          %xmm0, %xmm1, %xmm2
 vpcmpeqw          (%rax), %xmm1, %xmm2
 
+vpcmpestri        $1, %xmm0, %xmm2
+vpcmpestri        $1, (%rax), %xmm2
+
+vpcmpestrm        $1, %xmm0, %xmm2
+vpcmpestrm        $1, (%rax), %xmm2
+
 vpcmpgtb          %xmm0, %xmm1, %xmm2
 vpcmpgtb          (%rax), %xmm1, %xmm2
 
@@ -577,6 +583,12 @@ vpcmpgtq          (%rax), %xmm1, %xmm2
 vpcmpgtw          %xmm0, %xmm1, %xmm2
 vpcmpgtw          (%rax), %xmm1, %xmm2
 
+vpcmpistri        $1, %xmm0, %xmm2
+vpcmpistri        $1, (%rax), %xmm2
+
+vpcmpistrm        $1, %xmm0, %xmm2
+vpcmpistrm        $1, (%rax), %xmm2
+
 vperm2f128        $1, %ymm0, %ymm1, %ymm2
 vperm2f128        $1, (%rax), %ymm1, %ymm2
 
@@ -1401,6 +1413,10 @@ vzeroupper
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpeqq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpeqw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpeqw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  8      18    4.00                        vpcmpestri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  9      24    4.00    *                   vpcmpestri	$1, (%rax), %xmm2
+# CHECK-NEXT:  9      19    4.00                        vpcmpestrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  10     25    4.00    *                   vpcmpestrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtb	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpgtb	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtd	%xmm0, %xmm1, %xmm2
@@ -1409,6 +1425,10 @@ vzeroupper
 # CHECK-NEXT:  2      9     1.00    *                   vpcmpgtq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.50                        vpcmpgtw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpgtw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  3      10    3.00                        vpcmpistri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  4      16    3.00    *                   vpcmpistri	$1, (%rax), %xmm2
+# CHECK-NEXT:  3      10    3.00                        vpcmpistrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  4      16    3.00    *                   vpcmpistrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  1      3     1.00                        vperm2f128	$1, %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  2      10    1.00    *                   vperm2f128	$1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      1     1.00                        vpermilpd	$1, %xmm0, %xmm2
@@ -1716,7 +1736,7 @@ vzeroupper
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -     123.00 290.83 198.83 171.17 171.17 34.00  327.33 5.00   12.67
+# CHECK-NEXT:  -     123.00 320.50 200.50 173.17 173.17 34.00  341.00 6.00   12.67
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -2103,6 +2123,10 @@ vzeroupper
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpcmpeqq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpcmpeqw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpcmpeqw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -     4.25   0.25    -      -      -     3.25   0.25    -     vpcmpestri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     4.25   0.25   0.50   0.50    -     3.25   0.25    -     vpcmpestri	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -     4.58   0.58    -      -      -     3.58   0.25    -     vpcmpestrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     4.58   0.58   0.50   0.50    -     3.58   0.25    -     vpcmpestrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpcmpgtb	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpcmpgtb	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpcmpgtd	%xmm0, %xmm1, %xmm2
@@ -2111,6 +2135,10 @@ vzeroupper
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpcmpgtq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpcmpgtw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpcmpgtw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -     3.00    -      -      -      -      -      -      -     vpcmpistri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     3.00    -     0.50   0.50    -      -      -      -     vpcmpistri	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -     3.00    -      -      -      -      -      -      -     vpcmpistrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -     3.00    -     0.50   0.50    -      -      -      -     vpcmpistrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vperm2f128	$1, %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vperm2f128	$1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpermilpd	$1, %xmm0, %xmm2

Modified: llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-avx1.s?rev=343421&r1=343420&r2=343421&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-avx1.s Sun Sep 30 11:19:00 2018
@@ -565,6 +565,12 @@ vpcmpeqq          (%rax), %xmm1, %xmm2
 vpcmpeqw          %xmm0, %xmm1, %xmm2
 vpcmpeqw          (%rax), %xmm1, %xmm2
 
+vpcmpestri        $1, %xmm0, %xmm2
+vpcmpestri        $1, (%rax), %xmm2
+
+vpcmpestrm        $1, %xmm0, %xmm2
+vpcmpestrm        $1, (%rax), %xmm2
+
 vpcmpgtb          %xmm0, %xmm1, %xmm2
 vpcmpgtb          (%rax), %xmm1, %xmm2
 
@@ -577,6 +583,12 @@ vpcmpgtq          (%rax), %xmm1, %xmm2
 vpcmpgtw          %xmm0, %xmm1, %xmm2
 vpcmpgtw          (%rax), %xmm1, %xmm2
 
+vpcmpistri        $1, %xmm0, %xmm2
+vpcmpistri        $1, (%rax), %xmm2
+
+vpcmpistrm        $1, %xmm0, %xmm2
+vpcmpistrm        $1, (%rax), %xmm2
+
 vperm2f128        $1, %ymm0, %ymm1, %ymm2
 vperm2f128        $1, (%rax), %ymm1, %ymm2
 
@@ -1401,6 +1413,10 @@ vzeroupper
 # CHECK-NEXT:  1      8     0.50    *                   vpcmpeqq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.25                        vpcmpeqw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  1      8     0.50    *                   vpcmpeqw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      100   0.25                        vpcmpestri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      100   0.25    *                   vpcmpestri	$1, (%rax), %xmm2
+# CHECK-NEXT:  1      100   0.25                        vpcmpestrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      100   0.25    *                   vpcmpestrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  1      1     0.25                        vpcmpgtb	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  1      8     0.50    *                   vpcmpgtb	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.25                        vpcmpgtd	%xmm0, %xmm1, %xmm2
@@ -1409,6 +1425,10 @@ vzeroupper
 # CHECK-NEXT:  1      8     0.50    *                   vpcmpgtq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.25                        vpcmpgtw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  1      8     0.50    *                   vpcmpgtw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      100   0.25                        vpcmpistri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      100   0.25    *                   vpcmpistri	$1, (%rax), %xmm2
+# CHECK-NEXT:  1      100   0.25                        vpcmpistrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      100   0.25    *                   vpcmpistrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  1      100   0.25                        vperm2f128	$1, %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  1      100   0.25    *                   vperm2f128	$1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      1     0.50                        vpermilpd	$1, %xmm0, %xmm2
@@ -2105,6 +2125,10 @@ vzeroupper
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.25   0.25   0.25   0.25    -     vpcmpeqq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -      -     0.25   0.25   0.25   0.25    -     vpcmpeqw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.25   0.25   0.25   0.25    -     vpcmpeqw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     vpcmpestri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     vpcmpestri	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     vpcmpestrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     vpcmpestrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -      -     0.25   0.25   0.25   0.25    -     vpcmpgtb	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.25   0.25   0.25   0.25    -     vpcmpgtb	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -      -     0.25   0.25   0.25   0.25    -     vpcmpgtd	%xmm0, %xmm1, %xmm2
@@ -2113,6 +2137,10 @@ vzeroupper
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.50    -      -     0.50    -     vpcmpgtq	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -      -     0.25   0.25   0.25   0.25    -     vpcmpgtw	%xmm0, %xmm1, %xmm2
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.25   0.25   0.25   0.25    -     vpcmpgtw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     vpcmpistri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     vpcmpistri	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     vpcmpistrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     vpcmpistrm	$1, (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     vperm2f128	$1, %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     vperm2f128	$1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -     vpermilpd	$1, %xmm0, %xmm2




More information about the llvm-commits mailing list