OSDN Git Service

[X86][Btver2] TZCNT instructions take 2uops not 1
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 27 Sep 2018 12:28:47 +0000 (12:28 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 27 Sep 2018 12:28:47 +0000 (12:28 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@343200 91177308-0d34-0410-b5e6-96231b3b80d8

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

index d4edbc4..450b18f 100644 (file)
@@ -210,7 +210,7 @@ defm : JWriteResIntPair<WriteBSF, [JALU01], 5, [4], 8>;
 defm : JWriteResIntPair<WriteBSR, [JALU01], 5, [4], 8>;
 defm : JWriteResIntPair<WritePOPCNT,         [JALU01], 1>;
 defm : JWriteResIntPair<WriteLZCNT,          [JALU01], 1>;
-defm : JWriteResIntPair<WriteTZCNT,          [JALU01], 2, [2]>;
+defm : JWriteResIntPair<WriteTZCNT,          [JALU01], 2, [2], 2>;
 
 // BMI1 BEXTR/BLS, BMI2 BZHI
 defm : JWriteResIntPair<WriteBEXTR, [JALU01], 1>;
index 4d9cdcf..54db08b 100644 (file)
@@ -66,10 +66,10 @@ tzcnt       (%rax), %rcx
 # 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:  1      2     1.00                        tzcntl %eax, %ecx
-# CHECK-NEXT:  1      5     1.00    *                   tzcntl (%rax), %ecx
-# CHECK-NEXT:  1      2     1.00                        tzcntq %rax, %rcx
-# CHECK-NEXT:  1      5     1.00    *                   tzcntq (%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
+# CHECK-NEXT:  2      5     1.00    *                   tzcntq (%rax), %rcx
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - JALU0