diff options
Diffstat (limited to 'llvm/test/tools/llvm-mca/X86/BtVer2/resources-cmpxchg.s')
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/BtVer2/resources-cmpxchg.s | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-cmpxchg.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-cmpxchg.s index 23ee46cfddd..ba54f2206f8 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-cmpxchg.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-cmpxchg.s @@ -3,6 +3,23 @@ cmpxchg8b (%rax) cmpxchg16b (%rax) +lock cmpxchg8b (%rax) +lock cmpxchg16b (%rax) + +cmpxchgb %bl, %cl +cmpxchgw %bx, %cx +cmpxchgl %ebx, %ecx +cmpxchgq %rbx, %rcx + +cmpxchgb %bl, (%rsi) +cmpxchgw %bx, (%rsi) +cmpxchgl %ebx, (%rsi) +cmpxchgq %rbx, (%rsi) + +lock cmpxchgb %bl, (%rsi) +lock cmpxchgw %bx, (%rsi) +lock cmpxchgl %ebx, (%rsi) +lock cmpxchgq %rbx, (%rsi) # CHECK: Instruction Info: # CHECK-NEXT: [1]: #uOps @@ -15,6 +32,20 @@ cmpxchg16b (%rax) # CHECK: [1] [2] [3] [4] [5] [6] Instructions: # CHECK-NEXT: 2 4 1.00 * * cmpxchg8b (%rax) # CHECK-NEXT: 2 4 1.00 * * cmpxchg16b (%rax) +# CHECK-NEXT: 2 4 1.00 * * lock cmpxchg8b (%rax) +# CHECK-NEXT: 2 4 1.00 * * lock cmpxchg16b (%rax) +# CHECK-NEXT: 1 1 0.50 cmpxchgb %bl, %cl +# CHECK-NEXT: 1 1 0.50 cmpxchgw %bx, %cx +# CHECK-NEXT: 1 1 0.50 cmpxchgl %ebx, %ecx +# CHECK-NEXT: 1 1 0.50 cmpxchgq %rbx, %rcx +# CHECK-NEXT: 2 4 1.00 * * cmpxchgb %bl, (%rsi) +# CHECK-NEXT: 2 4 1.00 * * cmpxchgw %bx, (%rsi) +# CHECK-NEXT: 2 4 1.00 * * cmpxchgl %ebx, (%rsi) +# CHECK-NEXT: 2 4 1.00 * * cmpxchgq %rbx, (%rsi) +# CHECK-NEXT: 2 4 1.00 * * lock cmpxchgb %bl, (%rsi) +# CHECK-NEXT: 2 4 1.00 * * lock cmpxchgw %bx, (%rsi) +# CHECK-NEXT: 2 4 1.00 * * lock cmpxchgl %ebx, (%rsi) +# CHECK-NEXT: 2 4 1.00 * * lock cmpxchgq %rbx, (%rsi) # CHECK: Resources: # CHECK-NEXT: [0] - JALU0 @@ -34,9 +65,23 @@ cmpxchg16b (%rax) # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] -# CHECK-NEXT: 1.00 1.00 - - - - - 2.00 - 2.00 - - - - +# CHECK-NEXT: 8.00 8.00 - - - - - 12.00 - 12.00 - - - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - cmpxchg8b (%rax) # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - cmpxchg16b (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - lock cmpxchg8b (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - lock cmpxchg16b (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - cmpxchgb %bl, %cl +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - cmpxchgw %bx, %cx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - cmpxchgl %ebx, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - cmpxchgq %rbx, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - cmpxchgb %bl, (%rsi) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - cmpxchgw %bx, (%rsi) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - cmpxchgl %ebx, (%rsi) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - cmpxchgq %rbx, (%rsi) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - lock cmpxchgb %bl, (%rsi) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - lock cmpxchgw %bx, (%rsi) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - lock cmpxchgl %ebx, (%rsi) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - lock cmpxchgq %rbx, (%rsi) |

