diff options
Diffstat (limited to 'llvm/test/tools/llvm-mca/X86/SkylakeClient')
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-cmpxchg.s | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-cmpxchg.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-cmpxchg.s index 900b9c01cd7..d8ad4cec9fd 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-cmpxchg.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/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: 14 16 2.75 * * cmpxchg8b (%rax) # CHECK-NEXT: 19 23 4.00 * * cmpxchg16b (%rax) +# CHECK-NEXT: 14 16 2.75 * * lock cmpxchg8b (%rax) +# CHECK-NEXT: 19 23 4.00 * * lock cmpxchg16b (%rax) +# CHECK-NEXT: 5 5 1.25 cmpxchgb %bl, %cl +# CHECK-NEXT: 5 5 1.25 cmpxchgw %bx, %cx +# CHECK-NEXT: 5 5 1.25 cmpxchgl %ebx, %ecx +# CHECK-NEXT: 5 5 1.25 cmpxchgq %rbx, %rcx +# CHECK-NEXT: 6 8 1.00 * * cmpxchgb %bl, (%rsi) +# CHECK-NEXT: 6 8 1.00 * * cmpxchgw %bx, (%rsi) +# CHECK-NEXT: 6 8 1.00 * * cmpxchgl %ebx, (%rsi) +# CHECK-NEXT: 6 8 1.00 * * cmpxchgq %rbx, (%rsi) +# CHECK-NEXT: 6 8 1.00 * * lock cmpxchgb %bl, (%rsi) +# CHECK-NEXT: 6 8 1.00 * * lock cmpxchgw %bx, (%rsi) +# CHECK-NEXT: 6 8 1.00 * * lock cmpxchgl %ebx, (%rsi) +# CHECK-NEXT: 6 8 1.00 * * lock cmpxchgq %rbx, (%rsi) # CHECK: Resources: # CHECK-NEXT: [0] - SKLDivider @@ -30,9 +61,23 @@ cmpxchg16b (%rax) # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] -# CHECK-NEXT: - - 8.75 3.75 1.67 1.67 2.00 7.75 6.75 0.67 +# CHECK-NEXT: - - 34.50 12.50 10.00 10.00 12.00 20.50 30.50 4.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: # CHECK-NEXT: - - 3.25 2.25 0.83 0.83 1.00 2.25 3.25 0.33 cmpxchg8b (%rax) # CHECK-NEXT: - - 5.50 1.50 0.83 0.83 1.00 5.50 3.50 0.33 cmpxchg16b (%rax) +# CHECK-NEXT: - - 3.25 2.25 0.83 0.83 1.00 2.25 3.25 0.33 lock cmpxchg8b (%rax) +# CHECK-NEXT: - - 5.50 1.50 0.83 0.83 1.00 5.50 3.50 0.33 lock cmpxchg16b (%rax) +# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgb %bl, %cl +# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgw %bx, %cx +# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgl %ebx, %ecx +# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgq %rbx, %rcx +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgb %bl, (%rsi) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgw %bx, (%rsi) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgl %ebx, (%rsi) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgq %rbx, (%rsi) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgb %bl, (%rsi) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgw %bx, (%rsi) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgl %ebx, (%rsi) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgq %rbx, (%rsi) |

