[llvm] r343234 - [X86][Btver2] BTC/BTR/BTS instructions take 2uops not 1

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 27 09:39:52 PDT 2018


Author: rksimon
Date: Thu Sep 27 09:39:52 2018
New Revision: 343234

URL: http://llvm.org/viewvc/llvm-project?rev=343234&view=rev
Log:
[X86][Btver2] BTC/BTR/BTS instructions take 2uops not 1

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

Modified: llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td?rev=343234&r1=343233&r2=343234&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td (original)
+++ llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td Thu Sep 27 09:39:52 2018
@@ -202,7 +202,7 @@ def  : WriteRes<WriteSETCCStore, [JALU01
 def  : WriteRes<WriteLAHFSAHF, [JALU01]>;
 
 defm : X86WriteRes<WriteBitTest,    [JALU01], 1, [1], 1>;
-defm : X86WriteRes<WriteBitTestSet, [JALU01], 1, [1], 1>;
+defm : X86WriteRes<WriteBitTestSet, [JALU01], 1, [1], 2>;
 
 // This is for simple LEAs with one or two input operands.
 def : WriteRes<WriteLEA, [JALU01]>;

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=343234&r1=343233&r2=343234&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 Thu Sep 27 09:39:52 2018
@@ -966,49 +966,49 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        bswapl	%eax
 # CHECK-NEXT:  1      1     0.50                        bswapq	%rax
 # 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
-# CHECK-NEXT:  1      1     0.50                        btsw	%si, %di
+# CHECK-NEXT:  2      1     0.50                        btcw	%si, %di
+# CHECK-NEXT:  2      1     0.50                        btrw	%si, %di
+# CHECK-NEXT:  2      1     0.50                        btsw	%si, %di
 # CHECK-NEXT:  1      4     1.00    *                   btw	%si, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *            btcw	%si, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *            btrw	%si, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *            btsw	%si, (%rax)
 # CHECK-NEXT:  1      1     0.50                        btw	$7, %di
-# CHECK-NEXT:  1      1     0.50                        btcw	$7, %di
-# CHECK-NEXT:  1      1     0.50                        btrw	$7, %di
-# CHECK-NEXT:  1      1     0.50                        btsw	$7, %di
+# CHECK-NEXT:  2      1     0.50                        btcw	$7, %di
+# CHECK-NEXT:  2      1     0.50                        btrw	$7, %di
+# CHECK-NEXT:  2      1     0.50                        btsw	$7, %di
 # CHECK-NEXT:  1      1     0.50    *                   btw	$7, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *            btcw	$7, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *            btrw	$7, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *            btsw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        btl	%esi, %edi
-# CHECK-NEXT:  1      1     0.50                        btcl	%esi, %edi
-# CHECK-NEXT:  1      1     0.50                        btrl	%esi, %edi
-# CHECK-NEXT:  1      1     0.50                        btsl	%esi, %edi
+# CHECK-NEXT:  2      1     0.50                        btcl	%esi, %edi
+# CHECK-NEXT:  2      1     0.50                        btrl	%esi, %edi
+# CHECK-NEXT:  2      1     0.50                        btsl	%esi, %edi
 # CHECK-NEXT:  1      4     1.00    *                   btl	%esi, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *            btcl	%esi, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *            btrl	%esi, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *            btsl	%esi, (%rax)
 # CHECK-NEXT:  1      1     0.50                        btl	$7, %edi
-# CHECK-NEXT:  1      1     0.50                        btcl	$7, %edi
-# CHECK-NEXT:  1      1     0.50                        btrl	$7, %edi
-# CHECK-NEXT:  1      1     0.50                        btsl	$7, %edi
+# CHECK-NEXT:  2      1     0.50                        btcl	$7, %edi
+# CHECK-NEXT:  2      1     0.50                        btrl	$7, %edi
+# CHECK-NEXT:  2      1     0.50                        btsl	$7, %edi
 # CHECK-NEXT:  1      1     0.50    *                   btl	$7, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *            btcl	$7, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *            btrl	$7, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *            btsl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        btq	%rsi, %rdi
-# CHECK-NEXT:  1      1     0.50                        btcq	%rsi, %rdi
-# CHECK-NEXT:  1      1     0.50                        btrq	%rsi, %rdi
-# CHECK-NEXT:  1      1     0.50                        btsq	%rsi, %rdi
+# CHECK-NEXT:  2      1     0.50                        btcq	%rsi, %rdi
+# CHECK-NEXT:  2      1     0.50                        btrq	%rsi, %rdi
+# CHECK-NEXT:  2      1     0.50                        btsq	%rsi, %rdi
 # CHECK-NEXT:  1      4     1.00    *                   btq	%rsi, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *            btcq	%rsi, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *            btrq	%rsi, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *            btsq	%rsi, (%rax)
 # CHECK-NEXT:  1      1     0.50                        btq	$7, %rdi
-# CHECK-NEXT:  1      1     0.50                        btcq	$7, %rdi
-# CHECK-NEXT:  1      1     0.50                        btrq	$7, %rdi
-# CHECK-NEXT:  1      1     0.50                        btsq	$7, %rdi
+# CHECK-NEXT:  2      1     0.50                        btcq	$7, %rdi
+# CHECK-NEXT:  2      1     0.50                        btrq	$7, %rdi
+# CHECK-NEXT:  2      1     0.50                        btsq	$7, %rdi
 # CHECK-NEXT:  1      1     0.50    *                   btq	$7, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *            btcq	$7, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *            btrq	$7, (%rax)




More information about the llvm-commits mailing list