From: Simon Pilgrim Date: Thu, 27 Sep 2018 14:57:57 +0000 (+0000) Subject: [X86][Btver2] BLSI/BLSMSK/BLSR instructions take 2uops not 1 (same as TZCNT) X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c2a88ea64e154d44f0a8da44bf84b9acac52066b;p=platform%2Fupstream%2Fllvm.git [X86][Btver2] BLSI/BLSMSK/BLSR instructions take 2uops not 1 (same as TZCNT) llvm-svn: 343227 --- diff --git a/llvm/lib/Target/X86/X86ScheduleBtVer2.td b/llvm/lib/Target/X86/X86ScheduleBtVer2.td index 450b18f..83ba18f 100644 --- a/llvm/lib/Target/X86/X86ScheduleBtVer2.td +++ b/llvm/lib/Target/X86/X86ScheduleBtVer2.td @@ -214,7 +214,7 @@ defm : JWriteResIntPair; // BMI1 BEXTR/BLS, BMI2 BZHI defm : JWriteResIntPair; -defm : JWriteResIntPair; +defm : JWriteResIntPair; defm : X86WriteResPairUnsupported; //////////////////////////////////////////////////////////////////////////////// diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s index 54db08b..f2ea5ea 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s @@ -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