OSDN Git Service

[MCA][X86][NFC] Add BSF/BSR resource tests
authorRoman Lebedev <lebedev.ri@gmail.com>
Sun, 8 Jul 2018 09:50:14 +0000 (09:50 +0000)
committerRoman Lebedev <lebedev.ri@gmail.com>
Sun, 8 Jul 2018 09:50:14 +0000 (09:50 +0000)
Reviewers: RKSimon, andreadb, courbet

Reviewed By: RKSimon

Subscribers: gbedwell, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@336510 91177308-0d34-0410-b5e6-96231b3b80d8

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

index 95668eb..6177796 100644 (file)
@@ -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
index ded5f14..fc4ad53 100644 (file)
@@ -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
index dc3570b..60249b6 100644 (file)
@@ -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
index 93d262c..e47148c 100644 (file)
@@ -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
index acb4383..d7adad5 100644 (file)
@@ -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
index bf7e3cc..3c30ded 100644 (file)
@@ -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
index 2a75e80..1ed4539 100644 (file)
@@ -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
index e881759..4b08636 100644 (file)
@@ -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
index c8c5015..a712ddf 100644 (file)
@@ -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
index 6f51903..16c14c9 100644 (file)
@@ -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