1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00

[X86][Btver2] BLSI/BLSMSK/BLSR instructions take 2uops not 1 (same as TZCNT)

llvm-svn: 343227
This commit is contained in:
Simon Pilgrim 2018-09-27 14:57:57 +00:00
parent 60150a3256
commit ccbe566797
2 changed files with 13 additions and 13 deletions

View File

@ -214,7 +214,7 @@ defm : JWriteResIntPair<WriteTZCNT, [JALU01], 2, [2], 2>;
// BMI1 BEXTR/BLS, BMI2 BZHI // BMI1 BEXTR/BLS, BMI2 BZHI
defm : JWriteResIntPair<WriteBEXTR, [JALU01], 1>; defm : JWriteResIntPair<WriteBEXTR, [JALU01], 1>;
defm : JWriteResIntPair<WriteBLS, [JALU01], 2, [2]>; defm : JWriteResIntPair<WriteBLS, [JALU01], 2, [2], 2>;
defm : X86WriteResPairUnsupported<WriteBZHI>; defm : X86WriteResPairUnsupported<WriteBZHI>;
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////

View File

@ -54,18 +54,18 @@ tzcnt (%rax), %rcx
# CHECK-NEXT: 1 4 1.00 * bextrl %eax, (%rbx), %ecx # CHECK-NEXT: 1 4 1.00 * bextrl %eax, (%rbx), %ecx
# CHECK-NEXT: 1 1 0.50 bextrq %rax, %rbx, %rcx # CHECK-NEXT: 1 1 0.50 bextrq %rax, %rbx, %rcx
# CHECK-NEXT: 1 4 1.00 * 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: 2 2 1.00 blsil %eax, %ecx
# CHECK-NEXT: 1 5 1.00 * blsil (%rax), %ecx # CHECK-NEXT: 2 5 1.00 * blsil (%rax), %ecx
# CHECK-NEXT: 1 2 1.00 blsiq %rax, %rcx # CHECK-NEXT: 2 2 1.00 blsiq %rax, %rcx
# CHECK-NEXT: 1 5 1.00 * blsiq (%rax), %rcx # CHECK-NEXT: 2 5 1.00 * blsiq (%rax), %rcx
# CHECK-NEXT: 1 2 1.00 blsmskl %eax, %ecx # CHECK-NEXT: 2 2 1.00 blsmskl %eax, %ecx
# CHECK-NEXT: 1 5 1.00 * blsmskl (%rax), %ecx # CHECK-NEXT: 2 5 1.00 * blsmskl (%rax), %ecx
# CHECK-NEXT: 1 2 1.00 blsmskq %rax, %rcx # CHECK-NEXT: 2 2 1.00 blsmskq %rax, %rcx
# CHECK-NEXT: 1 5 1.00 * blsmskq (%rax), %rcx # CHECK-NEXT: 2 5 1.00 * blsmskq (%rax), %rcx
# CHECK-NEXT: 1 2 1.00 blsrl %eax, %ecx # CHECK-NEXT: 2 2 1.00 blsrl %eax, %ecx
# CHECK-NEXT: 1 5 1.00 * blsrl (%rax), %ecx # CHECK-NEXT: 2 5 1.00 * blsrl (%rax), %ecx
# CHECK-NEXT: 1 2 1.00 blsrq %rax, %rcx # CHECK-NEXT: 2 2 1.00 blsrq %rax, %rcx
# CHECK-NEXT: 1 5 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 2 1.00 tzcntl %eax, %ecx
# CHECK-NEXT: 2 5 1.00 * tzcntl (%rax), %ecx # CHECK-NEXT: 2 5 1.00 * tzcntl (%rax), %ecx
# CHECK-NEXT: 2 2 1.00 tzcntq %rax, %rcx # CHECK-NEXT: 2 2 1.00 tzcntq %rax, %rcx