[llvm] r343227 - [X86][Btver2] BLSI/BLSMSK/BLSR instructions take 2uops not 1 (same as TZCNT)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 27 07:57:58 PDT 2018


Author: rksimon
Date: Thu Sep 27 07:57:57 2018
New Revision: 343227

URL: http://llvm.org/viewvc/llvm-project?rev=343227&view=rev
Log:
[X86][Btver2] BLSI/BLSMSK/BLSR instructions take 2uops not 1 (same as TZCNT)

Modified:
    llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td
    llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s

Modified: llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td?rev=343227&r1=343226&r2=343227&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td (original)
+++ llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td Thu Sep 27 07:57:57 2018
@@ -214,7 +214,7 @@ defm : JWriteResIntPair<WriteTZCNT,
 
 // BMI1 BEXTR/BLS, BMI2 BZHI
 defm : JWriteResIntPair<WriteBEXTR, [JALU01], 1>;
-defm : JWriteResIntPair<WriteBLS,   [JALU01], 2, [2]>;
+defm : JWriteResIntPair<WriteBLS,   [JALU01], 2, [2], 2>;
 defm : X86WriteResPairUnsupported<WriteBZHI>;
 
 ////////////////////////////////////////////////////////////////////////////////

Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s?rev=343227&r1=343226&r2=343227&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s Thu Sep 27 07:57:57 2018
@@ -54,18 +54,18 @@ tzcnt       (%rax), %rcx
 # CHECK-NEXT:  1      4     1.00    *                   bextrl	%eax, (%rbx), %ecx
 # CHECK-NEXT:  1      1     0.50                        bextrq	%rax, %rbx, %rcx
 # CHECK-NEXT:  1      4     1.00    *                   bextrq	%rax, (%rbx), %rcx
-# CHECK-NEXT:  1      2     1.00                        blsil	%eax, %ecx
-# CHECK-NEXT:  1      5     1.00    *                   blsil	(%rax), %ecx
-# CHECK-NEXT:  1      2     1.00                        blsiq	%rax, %rcx
-# CHECK-NEXT:  1      5     1.00    *                   blsiq	(%rax), %rcx
-# CHECK-NEXT:  1      2     1.00                        blsmskl	%eax, %ecx
-# CHECK-NEXT:  1      5     1.00    *                   blsmskl	(%rax), %ecx
-# CHECK-NEXT:  1      2     1.00                        blsmskq	%rax, %rcx
-# CHECK-NEXT:  1      5     1.00    *                   blsmskq	(%rax), %rcx
-# CHECK-NEXT:  1      2     1.00                        blsrl	%eax, %ecx
-# CHECK-NEXT:  1      5     1.00    *                   blsrl	(%rax), %ecx
-# CHECK-NEXT:  1      2     1.00                        blsrq	%rax, %rcx
-# CHECK-NEXT:  1      5     1.00    *                   blsrq	(%rax), %rcx
+# CHECK-NEXT:  2      2     1.00                        blsil	%eax, %ecx
+# CHECK-NEXT:  2      5     1.00    *                   blsil	(%rax), %ecx
+# CHECK-NEXT:  2      2     1.00                        blsiq	%rax, %rcx
+# CHECK-NEXT:  2      5     1.00    *                   blsiq	(%rax), %rcx
+# CHECK-NEXT:  2      2     1.00                        blsmskl	%eax, %ecx
+# CHECK-NEXT:  2      5     1.00    *                   blsmskl	(%rax), %ecx
+# CHECK-NEXT:  2      2     1.00                        blsmskq	%rax, %rcx
+# CHECK-NEXT:  2      5     1.00    *                   blsmskq	(%rax), %rcx
+# CHECK-NEXT:  2      2     1.00                        blsrl	%eax, %ecx
+# CHECK-NEXT:  2      5     1.00    *                   blsrl	(%rax), %ecx
+# CHECK-NEXT:  2      2     1.00                        blsrq	%rax, %rcx
+# CHECK-NEXT:  2      5     1.00    *                   blsrq	(%rax), %rcx
 # CHECK-NEXT:  2      2     1.00                        tzcntl	%eax, %ecx
 # CHECK-NEXT:  2      5     1.00    *                   tzcntl	(%rax), %ecx
 # CHECK-NEXT:  2      2     1.00                        tzcntq	%rax, %rcx




More information about the llvm-commits mailing list