[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