From c2a88ea64e154d44f0a8da44bf84b9acac52066b Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Thu, 27 Sep 2018 14:57:57 +0000 Subject: [PATCH] [X86][Btver2] BLSI/BLSMSK/BLSR instructions take 2uops not 1 (same as TZCNT) llvm-svn: 343227 --- llvm/lib/Target/X86/X86ScheduleBtVer2.td | 2 +- .../tools/llvm-mca/X86/BtVer2/resources-bmi1.s | 24 +++++++++++----------- 2 files changed, 13 insertions(+), 13 deletions(-) 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 -- 2.7.4