[llvm] r336510 - [MCA][X86][NFC] Add BSF/BSR resource tests

Roman Lebedev via llvm-commits llvm-commits at lists.llvm.org
Sun Jul 8 02:50:14 PDT 2018


Author: lebedevri
Date: Sun Jul  8 02:50:14 2018
New Revision: 336510

URL: http://llvm.org/viewvc/llvm-project?rev=336510&view=rev
Log:
[MCA][X86][NFC] Add BSF/BSR resource tests

Reviewers: RKSimon, andreadb, courbet

Reviewed By: RKSimon

Subscribers: gbedwell, llvm-commits

Differential Revision: https://reviews.llvm.org/D48997

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

Modified: llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s?rev=336510&r1=336509&r2=336510&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s Sun Jul  8 02:50:14 2018
@@ -103,6 +103,21 @@ andq %rsi, %rdi
 andq %rsi, (%rax)
 andq (%rax), %rdi
 
+bsfw %si, %di
+bsrw %si, %di
+bsfw (%rax), %di
+bsrw (%rax), %di
+
+bsfl %esi, %edi
+bsrl %esi, %edi
+bsfl (%rax), %edi
+bsrl (%rax), %edi
+
+bsfq %rsi, %rdi
+bsrq %rsi, %rdi
+bsfq (%rax), %rdi
+bsrq (%rax), %rdi
+
 btw  %si, %di
 btcw %si, %di
 btrw %si, %di
@@ -703,6 +718,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        andq	%rsi, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            andq	%rsi, (%rax)
 # CHECK-NEXT:  1      1     1.00    *                   andq	(%rax), %rdi
+# CHECK-NEXT:  1      16    8.00                        bsfw	%si, %di
+# CHECK-NEXT:  1      16    8.00                        bsrw	%si, %di
+# CHECK-NEXT:  1      16    8.00    *                   bsfw	(%rax), %di
+# CHECK-NEXT:  1      16    8.00    *                   bsrw	(%rax), %di
+# CHECK-NEXT:  1      16    8.00                        bsfl	%esi, %edi
+# CHECK-NEXT:  1      16    8.00                        bsrl	%esi, %edi
+# CHECK-NEXT:  1      16    8.00    *                   bsfl	(%rax), %edi
+# CHECK-NEXT:  1      16    8.00    *                   bsrl	(%rax), %edi
+# CHECK-NEXT:  1      16    8.00                        bsfq	%rsi, %rdi
+# CHECK-NEXT:  1      16    8.00                        bsrq	%rsi, %rdi
+# CHECK-NEXT:  1      16    8.00    *                   bsfq	(%rax), %rdi
+# CHECK-NEXT:  1      16    8.00    *                   bsrq	(%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                        btw	%si, %di
 # CHECK-NEXT:  1      1     1.00                        btcw	%si, %di
 # CHECK-NEXT:  1      1     1.00                        btrw	%si, %di
@@ -1162,7 +1189,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]
-# CHECK-NEXT: 1260.50 965.50
+# CHECK-NEXT: 1356.50 1061.50
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    Instructions:
@@ -1256,6 +1283,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   andq	%rsi, %rdi
 # CHECK-NEXT: 1.00    -     andq	%rsi, (%rax)
 # CHECK-NEXT: 1.00    -     andq	(%rax), %rdi
+# CHECK-NEXT: 8.00   8.00   bsfw	%si, %di
+# CHECK-NEXT: 8.00   8.00   bsrw	%si, %di
+# CHECK-NEXT: 8.00   8.00   bsfw	(%rax), %di
+# CHECK-NEXT: 8.00   8.00   bsrw	(%rax), %di
+# CHECK-NEXT: 8.00   8.00   bsfl	%esi, %edi
+# CHECK-NEXT: 8.00   8.00   bsrl	%esi, %edi
+# CHECK-NEXT: 8.00   8.00   bsfl	(%rax), %edi
+# CHECK-NEXT: 8.00   8.00   bsrl	(%rax), %edi
+# CHECK-NEXT: 8.00   8.00   bsfq	%rsi, %rdi
+# CHECK-NEXT: 8.00   8.00   bsrq	%rsi, %rdi
+# CHECK-NEXT: 8.00   8.00   bsfq	(%rax), %rdi
+# CHECK-NEXT: 8.00   8.00   bsrq	(%rax), %rdi
 # CHECK-NEXT:  -     1.00   btw	%si, %di
 # CHECK-NEXT:  -     1.00   btcw	%si, %di
 # CHECK-NEXT:  -     1.00   btrw	%si, %di

Modified: llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s?rev=336510&r1=336509&r2=336510&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s Sun Jul  8 02:50:14 2018
@@ -103,6 +103,21 @@ andq %rsi, %rdi
 andq %rsi, (%rax)
 andq (%rax), %rdi
 
+bsfw %si, %di
+bsrw %si, %di
+bsfw (%rax), %di
+bsrw (%rax), %di
+
+bsfl %esi, %edi
+bsrl %esi, %edi
+bsfl (%rax), %edi
+bsrl (%rax), %edi
+
+bsfq %rsi, %rdi
+bsrq %rsi, %rdi
+bsfq (%rax), %rdi
+bsrq (%rax), %rdi
+
 btw  %si, %di
 btcw %si, %di
 btrw %si, %di
@@ -703,6 +718,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        andq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andq	(%rax), %rdi
+# CHECK-NEXT:  1      3     1.00                        bsfw	%si, %di
+# CHECK-NEXT:  1      3     1.00                        bsrw	%si, %di
+# CHECK-NEXT:  2      8     1.00    *                   bsfw	(%rax), %di
+# CHECK-NEXT:  2      8     1.00    *                   bsrw	(%rax), %di
+# CHECK-NEXT:  1      3     1.00                        bsfl	%esi, %edi
+# CHECK-NEXT:  1      3     1.00                        bsrl	%esi, %edi
+# CHECK-NEXT:  2      8     1.00    *                   bsfl	(%rax), %edi
+# CHECK-NEXT:  2      8     1.00    *                   bsrl	(%rax), %edi
+# CHECK-NEXT:  1      3     1.00                        bsfq	%rsi, %rdi
+# CHECK-NEXT:  1      3     1.00                        bsrq	%rsi, %rdi
+# CHECK-NEXT:  2      8     1.00    *                   bsfq	(%rax), %rdi
+# CHECK-NEXT:  2      8     1.00    *                   bsrq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        btw	%si, %di
 # CHECK-NEXT:  1      1     0.50                        btcw	%si, %di
 # CHECK-NEXT:  1      1     0.50                        btrw	%si, %di
@@ -1170,7 +1197,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 50.00   -     363.00 242.50 202.00 202.00 167.00 148.00 328.50 69.00
+# CHECK-NEXT: 50.00   -     363.00 254.50 205.00 205.00 167.00 148.00 328.50 69.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -1264,6 +1291,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     andq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsfw	%si, %di
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsrw	%si, %di
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsfw	(%rax), %di
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsrw	(%rax), %di
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsfl	%esi, %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsrl	%esi, %edi
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsfl	(%rax), %edi
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsrl	(%rax), %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsfq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsrq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsfq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsrq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btw	%si, %di
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btcw	%si, %di
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btrw	%si, %di

Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s?rev=336510&r1=336509&r2=336510&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s Sun Jul  8 02:50:14 2018
@@ -103,6 +103,21 @@ andq %rsi, %rdi
 andq %rsi, (%rax)
 andq (%rax), %rdi
 
+bsfw %si, %di
+bsrw %si, %di
+bsfw (%rax), %di
+bsrw (%rax), %di
+
+bsfl %esi, %edi
+bsrl %esi, %edi
+bsfl (%rax), %edi
+bsrl (%rax), %edi
+
+bsfq %rsi, %rdi
+bsrq %rsi, %rdi
+bsfq (%rax), %rdi
+bsrq (%rax), %rdi
+
 btw  %si, %di
 btcw %si, %di
 btrw %si, %di
@@ -703,6 +718,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        andq	%rsi, %rdi
 # CHECK-NEXT:  2      5     1.00    *      *            andq	%rsi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   andq	(%rax), %rdi
+# CHECK-NEXT:  8      5     2.00                        bsfw	%si, %di
+# CHECK-NEXT:  8      5     2.00                        bsrw	%si, %di
+# CHECK-NEXT:  8      8     2.00    *                   bsfw	(%rax), %di
+# CHECK-NEXT:  8      8     2.00    *                   bsrw	(%rax), %di
+# CHECK-NEXT:  8      5     2.00                        bsfl	%esi, %edi
+# CHECK-NEXT:  8      5     2.00                        bsrl	%esi, %edi
+# CHECK-NEXT:  8      8     2.00    *                   bsfl	(%rax), %edi
+# CHECK-NEXT:  8      8     2.00    *                   bsrl	(%rax), %edi
+# CHECK-NEXT:  8      5     2.00                        bsfq	%rsi, %rdi
+# CHECK-NEXT:  8      5     2.00                        bsrq	%rsi, %rdi
+# CHECK-NEXT:  8      8     2.00    *                   bsfq	(%rax), %rdi
+# CHECK-NEXT:  8      8     2.00    *                   bsrq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        btw	%si, %di
 # CHECK-NEXT:  1      1     0.50                        btcw	%si, %di
 # CHECK-NEXT:  1      1     0.50                        btrw	%si, %di
@@ -1174,7 +1201,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]
-# CHECK-NEXT: 438.00 488.00 380.00  -      -      -      -     263.00 64.00  195.00  -      -      -      -
+# CHECK-NEXT: 462.00 512.00 380.00  -      -      -      -     269.00 64.00  195.00  -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]   Instructions:
@@ -1268,6 +1295,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     andq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     andq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     andq	(%rax), %rdi
+# CHECK-NEXT: 2.00   2.00    -      -      -      -      -      -      -      -      -      -      -      -     bsfw	%si, %di
+# CHECK-NEXT: 2.00   2.00    -      -      -      -      -      -      -      -      -      -      -      -     bsrw	%si, %di
+# CHECK-NEXT: 2.00   2.00    -      -      -      -      -     1.00    -      -      -      -      -      -     bsfw	(%rax), %di
+# CHECK-NEXT: 2.00   2.00    -      -      -      -      -     1.00    -      -      -      -      -      -     bsrw	(%rax), %di
+# CHECK-NEXT: 2.00   2.00    -      -      -      -      -      -      -      -      -      -      -      -     bsfl	%esi, %edi
+# CHECK-NEXT: 2.00   2.00    -      -      -      -      -      -      -      -      -      -      -      -     bsrl	%esi, %edi
+# CHECK-NEXT: 2.00   2.00    -      -      -      -      -     1.00    -      -      -      -      -      -     bsfl	(%rax), %edi
+# CHECK-NEXT: 2.00   2.00    -      -      -      -      -     1.00    -      -      -      -      -      -     bsrl	(%rax), %edi
+# CHECK-NEXT: 2.00   2.00    -      -      -      -      -      -      -      -      -      -      -      -     bsfq	%rsi, %rdi
+# CHECK-NEXT: 2.00   2.00    -      -      -      -      -      -      -      -      -      -      -      -     bsrq	%rsi, %rdi
+# CHECK-NEXT: 2.00   2.00    -      -      -      -      -     1.00    -      -      -      -      -      -     bsfq	(%rax), %rdi
+# CHECK-NEXT: 2.00   2.00    -      -      -      -      -     1.00    -      -      -      -      -      -     bsrq	(%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     btw	%si, %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     btcw	%si, %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     btrw	%si, %di

Modified: llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s?rev=336510&r1=336509&r2=336510&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s Sun Jul  8 02:50:14 2018
@@ -103,6 +103,21 @@ andq %rsi, %rdi
 andq %rsi, (%rax)
 andq (%rax), %rdi
 
+bsfw %si, %di
+bsrw %si, %di
+bsfw (%rax), %di
+bsrw (%rax), %di
+
+bsfl %esi, %edi
+bsrl %esi, %edi
+bsfl (%rax), %edi
+bsrl (%rax), %edi
+
+bsfq %rsi, %rdi
+bsrq %rsi, %rdi
+bsfq (%rax), %rdi
+bsrq (%rax), %rdi
+
 btw  %si, %di
 btcw %si, %di
 btrw %si, %di
@@ -703,6 +718,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.33                        andq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andq	(%rax), %rdi
+# CHECK-NEXT:  1      3     1.00                        bsfw	%si, %di
+# CHECK-NEXT:  1      3     1.00                        bsrw	%si, %di
+# CHECK-NEXT:  2      8     1.00    *                   bsfw	(%rax), %di
+# CHECK-NEXT:  2      8     1.00    *                   bsrw	(%rax), %di
+# CHECK-NEXT:  1      3     1.00                        bsfl	%esi, %edi
+# CHECK-NEXT:  1      3     1.00                        bsrl	%esi, %edi
+# CHECK-NEXT:  2      8     1.00    *                   bsfl	(%rax), %edi
+# CHECK-NEXT:  2      8     1.00    *                   bsrl	(%rax), %edi
+# CHECK-NEXT:  1      3     1.00                        bsfq	%rsi, %rdi
+# CHECK-NEXT:  1      3     1.00                        bsrq	%rsi, %rdi
+# CHECK-NEXT:  2      8     1.00    *                   bsfq	(%rax), %rdi
+# CHECK-NEXT:  2      8     1.00    *                   bsrq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        btw	%si, %di
 # CHECK-NEXT:  1      1     0.50                        btcw	%si, %di
 # CHECK-NEXT:  1      1     0.50                        btrw	%si, %di
@@ -1168,7 +1195,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT: 160.00  -     347.33 141.33 210.00 339.33 238.00 238.00
+# CHECK-NEXT: 160.00  -     347.33 153.33 210.00 339.33 241.00 241.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
@@ -1262,6 +1289,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   andq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     bsfw	%si, %di
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     bsrw	%si, %di
+# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   bsfw	(%rax), %di
+# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   bsrw	(%rax), %di
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     bsfl	%esi, %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     bsrl	%esi, %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   bsfl	(%rax), %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   bsrl	(%rax), %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     bsfq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     bsrq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   bsfq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   bsrq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btw	%si, %di
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btcw	%si, %di
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btrw	%si, %di

Modified: llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s?rev=336510&r1=336509&r2=336510&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s Sun Jul  8 02:50:14 2018
@@ -103,6 +103,21 @@ andq %rsi, %rdi
 andq %rsi, (%rax)
 andq (%rax), %rdi
 
+bsfw %si, %di
+bsrw %si, %di
+bsfw (%rax), %di
+bsrw (%rax), %di
+
+bsfl %esi, %edi
+bsrl %esi, %edi
+bsfl (%rax), %edi
+bsrl (%rax), %edi
+
+bsfq %rsi, %rdi
+bsrq %rsi, %rdi
+bsfq (%rax), %rdi
+bsrq (%rax), %rdi
+
 btw  %si, %di
 btcw %si, %di
 btrw %si, %di
@@ -703,6 +718,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        andq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andq	(%rax), %rdi
+# CHECK-NEXT:  1      3     1.00                        bsfw	%si, %di
+# CHECK-NEXT:  1      3     1.00                        bsrw	%si, %di
+# CHECK-NEXT:  2      8     1.00    *                   bsfw	(%rax), %di
+# CHECK-NEXT:  2      8     1.00    *                   bsrw	(%rax), %di
+# CHECK-NEXT:  1      3     1.00                        bsfl	%esi, %edi
+# CHECK-NEXT:  1      3     1.00                        bsrl	%esi, %edi
+# CHECK-NEXT:  2      8     1.00    *                   bsfl	(%rax), %edi
+# CHECK-NEXT:  2      8     1.00    *                   bsrl	(%rax), %edi
+# CHECK-NEXT:  1      3     1.00                        bsfq	%rsi, %rdi
+# CHECK-NEXT:  1      3     1.00                        bsrq	%rsi, %rdi
+# CHECK-NEXT:  2      8     1.00    *                   bsfq	(%rax), %rdi
+# CHECK-NEXT:  2      8     1.00    *                   bsrq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        btw	%si, %di
 # CHECK-NEXT:  1      1     0.50                        btcw	%si, %di
 # CHECK-NEXT:  1      1     0.50                        btrw	%si, %di
@@ -1170,7 +1197,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 80.00   -     414.00 263.50 193.00 193.00 158.00 171.00 408.50 66.00
+# CHECK-NEXT: 80.00   -     414.00 275.50 196.00 196.00 158.00 171.00 408.50 66.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -1264,6 +1291,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     andq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsfw	%si, %di
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsrw	%si, %di
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsfw	(%rax), %di
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsrw	(%rax), %di
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsfl	%esi, %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsrl	%esi, %edi
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsfl	(%rax), %edi
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsrl	(%rax), %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsfq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsrq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsfq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsrq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btw	%si, %di
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btcw	%si, %di
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btrw	%si, %di

Modified: llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s?rev=336510&r1=336509&r2=336510&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s Sun Jul  8 02:50:14 2018
@@ -103,6 +103,21 @@ andq %rsi, %rdi
 andq %rsi, (%rax)
 andq (%rax), %rdi
 
+bsfw %si, %di
+bsrw %si, %di
+bsfw (%rax), %di
+bsrw (%rax), %di
+
+bsfl %esi, %edi
+bsrl %esi, %edi
+bsfl (%rax), %edi
+bsrl (%rax), %edi
+
+bsfq %rsi, %rdi
+bsrq %rsi, %rdi
+bsfq (%rax), %rdi
+bsrq (%rax), %rdi
+
 btw  %si, %di
 btcw %si, %di
 btrw %si, %di
@@ -703,6 +718,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        andq	%rsi, %rdi
 # CHECK-NEXT:  2      5     2.00    *      *            andq	%rsi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   andq	(%rax), %rdi
+# CHECK-NEXT:  10     10    10.00                       bsfw	%si, %di
+# CHECK-NEXT:  10     10    10.00                       bsrw	%si, %di
+# CHECK-NEXT:  10     13    10.00   *                   bsfw	(%rax), %di
+# CHECK-NEXT:  10     13    10.00   *                   bsrw	(%rax), %di
+# CHECK-NEXT:  10     10    10.00                       bsfl	%esi, %edi
+# CHECK-NEXT:  10     10    10.00                       bsrl	%esi, %edi
+# CHECK-NEXT:  10     13    10.00   *                   bsfl	(%rax), %edi
+# CHECK-NEXT:  10     13    10.00   *                   bsrl	(%rax), %edi
+# CHECK-NEXT:  10     10    10.00                       bsfq	%rsi, %rdi
+# CHECK-NEXT:  10     10    10.00                       bsrq	%rsi, %rdi
+# CHECK-NEXT:  10     13    10.00   *                   bsfq	(%rax), %rdi
+# CHECK-NEXT:  10     13    10.00   *                   bsrq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        btw	%si, %di
 # CHECK-NEXT:  1      1     0.50                        btcw	%si, %di
 # CHECK-NEXT:  1      1     0.50                        btrw	%si, %di
@@ -1168,7 +1195,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]
-# CHECK-NEXT: 400.00  -      -      -      -     393.00 235.00 470.00
+# CHECK-NEXT: 400.00  -      -      -      -     513.00 355.00 476.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    Instructions:
@@ -1262,6 +1289,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     andq	%rsi, %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00   andq	%rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   andq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -      -      -     10.00  10.00   -     bsfw	%si, %di
+# CHECK-NEXT:  -      -      -      -      -     10.00  10.00   -     bsrw	%si, %di
+# CHECK-NEXT:  -      -      -      -      -     10.00  10.00  1.00   bsfw	(%rax), %di
+# CHECK-NEXT:  -      -      -      -      -     10.00  10.00  1.00   bsrw	(%rax), %di
+# CHECK-NEXT:  -      -      -      -      -     10.00  10.00   -     bsfl	%esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     10.00  10.00   -     bsrl	%esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     10.00  10.00  1.00   bsfl	(%rax), %edi
+# CHECK-NEXT:  -      -      -      -      -     10.00  10.00  1.00   bsrl	(%rax), %edi
+# CHECK-NEXT:  -      -      -      -      -     10.00  10.00   -     bsfq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     10.00  10.00   -     bsrq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     10.00  10.00  1.00   bsfq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -      -      -     10.00  10.00  1.00   bsrq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     btw	%si, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     btcw	%si, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     btrw	%si, %di

Modified: llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s?rev=336510&r1=336509&r2=336510&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s Sun Jul  8 02:50:14 2018
@@ -103,6 +103,21 @@ andq %rsi, %rdi
 andq %rsi, (%rax)
 andq (%rax), %rdi
 
+bsfw %si, %di
+bsrw %si, %di
+bsfw (%rax), %di
+bsrw (%rax), %di
+
+bsfl %esi, %edi
+bsrl %esi, %edi
+bsfl (%rax), %edi
+bsrl (%rax), %edi
+
+bsfq %rsi, %rdi
+bsrq %rsi, %rdi
+bsfq (%rax), %rdi
+bsrq (%rax), %rdi
+
 btw  %si, %di
 btcw %si, %di
 btrw %si, %di
@@ -703,6 +718,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.33                        andq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andq	(%rax), %rdi
+# CHECK-NEXT:  1      3     1.00                        bsfw	%si, %di
+# CHECK-NEXT:  1      3     1.00                        bsrw	%si, %di
+# CHECK-NEXT:  2      8     1.00    *                   bsfw	(%rax), %di
+# CHECK-NEXT:  2      8     1.00    *                   bsrw	(%rax), %di
+# CHECK-NEXT:  1      3     1.00                        bsfl	%esi, %edi
+# CHECK-NEXT:  1      3     1.00                        bsrl	%esi, %edi
+# CHECK-NEXT:  2      8     1.00    *                   bsfl	(%rax), %edi
+# CHECK-NEXT:  2      8     1.00    *                   bsrl	(%rax), %edi
+# CHECK-NEXT:  1      3     1.00                        bsfq	%rsi, %rdi
+# CHECK-NEXT:  1      3     1.00                        bsrq	%rsi, %rdi
+# CHECK-NEXT:  2      8     1.00    *                   bsfq	(%rax), %rdi
+# CHECK-NEXT:  2      8     1.00    *                   bsrq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        btw	%si, %di
 # CHECK-NEXT:  1      1     0.50                        btcw	%si, %di
 # CHECK-NEXT:  1      1     0.50                        btrw	%si, %di
@@ -1168,7 +1195,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT: 160.00  -     347.33 141.33 210.00 339.33 238.00 238.00
+# CHECK-NEXT: 160.00  -     347.33 153.33 210.00 339.33 241.00 241.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
@@ -1262,6 +1289,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   andq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     bsfw	%si, %di
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     bsrw	%si, %di
+# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   bsfw	(%rax), %di
+# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   bsrw	(%rax), %di
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     bsfl	%esi, %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     bsrl	%esi, %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   bsfl	(%rax), %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   bsrl	(%rax), %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     bsfq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     bsrq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   bsfq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   bsrq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btw	%si, %di
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btcw	%si, %di
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btrw	%si, %di

Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s?rev=336510&r1=336509&r2=336510&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s Sun Jul  8 02:50:14 2018
@@ -103,6 +103,21 @@ andq %rsi, %rdi
 andq %rsi, (%rax)
 andq (%rax), %rdi
 
+bsfw %si, %di
+bsrw %si, %di
+bsfw (%rax), %di
+bsrw (%rax), %di
+
+bsfl %esi, %edi
+bsrl %esi, %edi
+bsfl (%rax), %edi
+bsrl (%rax), %edi
+
+bsfq %rsi, %rdi
+bsrq %rsi, %rdi
+bsfq (%rax), %rdi
+bsrq (%rax), %rdi
+
 btw  %si, %di
 btcw %si, %di
 btrw %si, %di
@@ -703,6 +718,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        andq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andq	(%rax), %rdi
+# CHECK-NEXT:  1      3     1.00                        bsfw	%si, %di
+# CHECK-NEXT:  1      3     1.00                        bsrw	%si, %di
+# CHECK-NEXT:  2      8     1.00    *                   bsfw	(%rax), %di
+# CHECK-NEXT:  2      8     1.00    *                   bsrw	(%rax), %di
+# CHECK-NEXT:  1      3     1.00                        bsfl	%esi, %edi
+# CHECK-NEXT:  1      3     1.00                        bsrl	%esi, %edi
+# CHECK-NEXT:  2      8     1.00    *                   bsfl	(%rax), %edi
+# CHECK-NEXT:  2      8     1.00    *                   bsrl	(%rax), %edi
+# CHECK-NEXT:  1      3     1.00                        bsfq	%rsi, %rdi
+# CHECK-NEXT:  1      3     1.00                        bsrq	%rsi, %rdi
+# CHECK-NEXT:  2      8     1.00    *                   bsfq	(%rax), %rdi
+# CHECK-NEXT:  2      8     1.00    *                   bsrq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        btw	%si, %di
 # CHECK-NEXT:  1      1     0.50                        btcw	%si, %di
 # CHECK-NEXT:  1      1     0.50                        btrw	%si, %di
@@ -1170,7 +1197,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 60.00   -     430.50 223.50 202.00 202.00 167.00 184.00 415.00 69.00
+# CHECK-NEXT: 60.00   -     430.50 235.50 205.00 205.00 167.00 184.00 415.00 69.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -1264,6 +1291,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     andq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsfw	%si, %di
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsrw	%si, %di
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsfw	(%rax), %di
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsrw	(%rax), %di
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsfl	%esi, %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsrl	%esi, %edi
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsfl	(%rax), %edi
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsrl	(%rax), %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsfq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsrq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsfq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsrq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btw	%si, %di
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btcw	%si, %di
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btrw	%si, %di

Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s?rev=336510&r1=336509&r2=336510&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s Sun Jul  8 02:50:14 2018
@@ -103,6 +103,21 @@ andq %rsi, %rdi
 andq %rsi, (%rax)
 andq (%rax), %rdi
 
+bsfw %si, %di
+bsrw %si, %di
+bsfw (%rax), %di
+bsrw (%rax), %di
+
+bsfl %esi, %edi
+bsrl %esi, %edi
+bsfl (%rax), %edi
+bsrl (%rax), %edi
+
+bsfq %rsi, %rdi
+bsrq %rsi, %rdi
+bsfq (%rax), %rdi
+bsrq (%rax), %rdi
+
 btw  %si, %di
 btcw %si, %di
 btrw %si, %di
@@ -703,6 +718,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        andq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andq	(%rax), %rdi
+# CHECK-NEXT:  1      3     1.00                        bsfw	%si, %di
+# CHECK-NEXT:  1      3     1.00                        bsrw	%si, %di
+# CHECK-NEXT:  2      8     1.00    *                   bsfw	(%rax), %di
+# CHECK-NEXT:  2      8     1.00    *                   bsrw	(%rax), %di
+# CHECK-NEXT:  1      3     1.00                        bsfl	%esi, %edi
+# CHECK-NEXT:  1      3     1.00                        bsrl	%esi, %edi
+# CHECK-NEXT:  2      8     1.00    *                   bsfl	(%rax), %edi
+# CHECK-NEXT:  2      8     1.00    *                   bsrl	(%rax), %edi
+# CHECK-NEXT:  1      3     1.00                        bsfq	%rsi, %rdi
+# CHECK-NEXT:  1      3     1.00                        bsrq	%rsi, %rdi
+# CHECK-NEXT:  2      8     1.00    *                   bsfq	(%rax), %rdi
+# CHECK-NEXT:  2      8     1.00    *                   bsrq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        btw	%si, %di
 # CHECK-NEXT:  1      1     0.50                        btcw	%si, %di
 # CHECK-NEXT:  1      1     0.50                        btrw	%si, %di
@@ -1170,7 +1197,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 60.00   -     430.75 223.75 202.00 202.00 167.00 184.25 415.25 69.00
+# CHECK-NEXT: 60.00   -     430.75 235.75 205.00 205.00 167.00 184.25 415.25 69.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -1264,6 +1291,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     andq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsfw	%si, %di
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsrw	%si, %di
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsfw	(%rax), %di
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsrw	(%rax), %di
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsfl	%esi, %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsrl	%esi, %edi
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsfl	(%rax), %edi
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsrl	(%rax), %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsfq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsrq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsfq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     bsrq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btw	%si, %di
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btcw	%si, %di
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btrw	%si, %di

Modified: llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s?rev=336510&r1=336509&r2=336510&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s Sun Jul  8 02:50:14 2018
@@ -103,6 +103,21 @@ andq %rsi, %rdi
 andq %rsi, (%rax)
 andq (%rax), %rdi
 
+bsfw %si, %di
+bsrw %si, %di
+bsfw (%rax), %di
+bsrw (%rax), %di
+
+bsfl %esi, %edi
+bsrl %esi, %edi
+bsfl (%rax), %edi
+bsrl (%rax), %edi
+
+bsfq %rsi, %rdi
+bsrq %rsi, %rdi
+bsfq (%rax), %rdi
+bsrq (%rax), %rdi
+
 btw  %si, %di
 btcw %si, %di
 btrw %si, %di
@@ -703,6 +718,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        andq	%rsi, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            andq	%rsi, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   andq	(%rax), %rdi
+# CHECK-NEXT:  1      3     0.25                        bsfw	%si, %di
+# CHECK-NEXT:  1      3     0.25                        bsrw	%si, %di
+# CHECK-NEXT:  2      7     0.50    *                   bsfw	(%rax), %di
+# CHECK-NEXT:  2      7     0.50    *                   bsrw	(%rax), %di
+# CHECK-NEXT:  1      3     0.25                        bsfl	%esi, %edi
+# CHECK-NEXT:  1      3     0.25                        bsrl	%esi, %edi
+# CHECK-NEXT:  2      7     0.50    *                   bsfl	(%rax), %edi
+# CHECK-NEXT:  2      7     0.50    *                   bsrl	(%rax), %edi
+# CHECK-NEXT:  1      3     0.25                        bsfq	%rsi, %rdi
+# CHECK-NEXT:  1      3     0.25                        bsrq	%rsi, %rdi
+# CHECK-NEXT:  2      7     0.50    *                   bsfq	(%rax), %rdi
+# CHECK-NEXT:  2      7     0.50    *                   bsrq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        btw	%si, %di
 # CHECK-NEXT:  2      2     0.25                        btcw	%si, %di
 # CHECK-NEXT:  2      2     0.25                        btrw	%si, %di
@@ -1172,7 +1199,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]
-# CHECK-NEXT: 131.50 131.50 112.00 146.00 128.00 112.00 392.00  -      -      -      -     34.00
+# CHECK-NEXT: 134.50 134.50 115.00 149.00 131.00 115.00 392.00  -      -      -      -     34.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   Instructions:
@@ -1266,6 +1293,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     andq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     andq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     andq	(%rax), %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     bsfw	%si, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     bsrw	%si, %di
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     bsfw	(%rax), %di
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     bsrw	(%rax), %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     bsfl	%esi, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     bsrl	%esi, %edi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     bsfl	(%rax), %edi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     bsrl	(%rax), %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     bsfq	%rsi, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     bsrq	%rsi, %rdi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     bsfq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     bsrq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     btw	%si, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     btcw	%si, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     btrw	%si, %di




More information about the llvm-commits mailing list