[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