forked from OSchip/llvm-project
[X86] Added extensive scheduling model tests for all the CMPXCHG variants. NFC
Addresses a review comment in D66424 llvm-svn: 369279
This commit is contained in:
parent
8682281063
commit
ecbaba672e
|
@ -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: 1 18 9.00 * * cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: 1 22 11.00 * * cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: 1 18 9.00 * * lock cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: 1 22 11.00 * * lock cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: 1 9 4.50 cmpxchgb %bl, %cl
|
||||
# CHECK-NEXT: 1 15 7.50 cmpxchgw %bx, %cx
|
||||
# CHECK-NEXT: 1 15 7.50 cmpxchgl %ebx, %ecx
|
||||
# CHECK-NEXT: 1 15 7.50 cmpxchgq %rbx, %rcx
|
||||
# CHECK-NEXT: 1 6 3.00 * * cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 1 14 7.00 * * cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 1 14 7.00 * * cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 1 14 7.00 * * cmpxchgq %rbx, (%rsi)
|
||||
# CHECK-NEXT: 1 6 3.00 * * lock cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 1 14 7.00 * * lock cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 1 14 7.00 * * lock cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 1 14 7.00 * * lock cmpxchgq %rbx, (%rsi)
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0] - AtomPort0
|
||||
|
@ -22,9 +53,23 @@ cmpxchg16b (%rax)
|
|||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0] [1]
|
||||
# CHECK-NEXT: 20.00 20.00
|
||||
# CHECK-NEXT: 115.00 115.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] Instructions:
|
||||
# CHECK-NEXT: 9.00 9.00 cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: 11.00 11.00 cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: 9.00 9.00 lock cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: 11.00 11.00 lock cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: 4.50 4.50 cmpxchgb %bl, %cl
|
||||
# CHECK-NEXT: 7.50 7.50 cmpxchgw %bx, %cx
|
||||
# CHECK-NEXT: 7.50 7.50 cmpxchgl %ebx, %ecx
|
||||
# CHECK-NEXT: 7.50 7.50 cmpxchgq %rbx, %rcx
|
||||
# CHECK-NEXT: 3.00 3.00 cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 7.00 7.00 cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 7.00 7.00 cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 7.00 7.00 cmpxchgq %rbx, (%rsi)
|
||||
# CHECK-NEXT: 3.00 3.00 lock cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 7.00 7.00 lock cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 7.00 7.00 lock cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 7.00 7.00 lock cmpxchgq %rbx, (%rsi)
|
||||
|
|
|
@ -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: 3 6 1.00 * * cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: 3 6 1.00 * * cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: 3 6 1.00 * * lock cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: 3 6 1.00 * * lock cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: 4 5 1.33 cmpxchgb %bl, %cl
|
||||
# CHECK-NEXT: 4 5 1.33 cmpxchgw %bx, %cx
|
||||
# CHECK-NEXT: 4 5 1.33 cmpxchgl %ebx, %ecx
|
||||
# CHECK-NEXT: 4 5 1.33 cmpxchgq %rbx, %rcx
|
||||
# CHECK-NEXT: 6 8 2.00 * * cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * cmpxchgq %rbx, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgq %rbx, (%rsi)
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0] - SBDivider
|
||||
|
@ -28,9 +59,23 @@ cmpxchg16b (%rax)
|
|||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
|
||||
# CHECK-NEXT: - - 0.67 0.67 2.00 0.67 2.00 2.00
|
||||
# CHECK-NEXT: - - 10.00 8.00 12.00 26.00 12.00 12.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 lock cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 lock cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgb %bl, %cl
|
||||
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgw %bx, %cx
|
||||
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgl %ebx, %ecx
|
||||
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgq %rbx, %rcx
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgq %rbx, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgq %rbx, (%rsi)
|
||||
|
|
|
@ -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: 18 3 26.00 * * cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: 22 3 69.00 * * cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: 18 3 26.00 * * lock cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: 22 3 69.00 * * lock cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: 3 3 3.00 cmpxchgb %bl, %cl
|
||||
# CHECK-NEXT: 5 3 3.00 cmpxchgw %bx, %cx
|
||||
# CHECK-NEXT: 5 3 3.00 cmpxchgl %ebx, %ecx
|
||||
# CHECK-NEXT: 5 3 3.00 cmpxchgq %rbx, %rcx
|
||||
# CHECK-NEXT: 5 3 23.00 * * cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 6 3 21.00 * * cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 6 3 21.00 * * cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 6 3 21.00 * * cmpxchgq %rbx, (%rsi)
|
||||
# CHECK-NEXT: 5 3 23.00 * * lock cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 6 3 21.00 * * lock cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 6 3 21.00 * * lock cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 6 3 21.00 * * lock cmpxchgq %rbx, (%rsi)
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - PdAGLU01
|
||||
|
@ -43,9 +74,23 @@ cmpxchg16b (%rax)
|
|||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]
|
||||
# CHECK-NEXT: - - - - - - 95.00 - - - - - - - - - - - - - - - -
|
||||
# CHECK-NEXT: - - - - - - 374.00 - - - - - - - - - - - - - - - -
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:
|
||||
# CHECK-NEXT: - - - - - - 26.00 - - - - - - - - - - - - - - - - cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: - - - - - - 69.00 - - - - - - - - - - - - - - - - cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: - - - - - - 26.00 - - - - - - - - - - - - - - - - lock cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: - - - - - - 69.00 - - - - - - - - - - - - - - - - lock cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: - - - - - - 3.00 - - - - - - - - - - - - - - - - cmpxchgb %bl, %cl
|
||||
# CHECK-NEXT: - - - - - - 3.00 - - - - - - - - - - - - - - - - cmpxchgw %bx, %cx
|
||||
# CHECK-NEXT: - - - - - - 3.00 - - - - - - - - - - - - - - - - cmpxchgl %ebx, %ecx
|
||||
# CHECK-NEXT: - - - - - - 3.00 - - - - - - - - - - - - - - - - cmpxchgq %rbx, %rcx
|
||||
# CHECK-NEXT: - - - - - - 23.00 - - - - - - - - - - - - - - - - cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: - - - - - - 21.00 - - - - - - - - - - - - - - - - cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: - - - - - - 21.00 - - - - - - - - - - - - - - - - cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: - - - - - - 21.00 - - - - - - - - - - - - - - - - cmpxchgq %rbx, (%rsi)
|
||||
# CHECK-NEXT: - - - - - - 23.00 - - - - - - - - - - - - - - - - lock cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: - - - - - - 21.00 - - - - - - - - - - - - - - - - lock cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: - - - - - - 21.00 - - - - - - - - - - - - - - - - lock cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: - - - - - - 21.00 - - - - - - - - - - - - - - - - lock cmpxchgq %rbx, (%rsi)
|
||||
|
|
|
@ -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 21 4.00 * * cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: 14 16 2.75 * * lock cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: 19 21 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] - BWDivider
|
||||
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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: 3 6 1.00 * * cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: 3 6 1.00 * * cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: 3 6 1.00 * * lock cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: 3 6 1.00 * * lock cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: 4 5 1.33 cmpxchgb %bl, %cl
|
||||
# CHECK-NEXT: 4 5 1.33 cmpxchgw %bx, %cx
|
||||
# CHECK-NEXT: 4 5 1.33 cmpxchgl %ebx, %ecx
|
||||
# CHECK-NEXT: 4 5 1.33 cmpxchgq %rbx, %rcx
|
||||
# CHECK-NEXT: 6 8 2.00 * * cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * cmpxchgq %rbx, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgq %rbx, (%rsi)
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0] - SBDivider
|
||||
|
@ -28,9 +59,23 @@ cmpxchg16b (%rax)
|
|||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
|
||||
# CHECK-NEXT: - - 0.67 0.67 2.00 0.67 2.00 2.00
|
||||
# CHECK-NEXT: - - 10.00 8.00 12.00 26.00 12.00 12.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 lock cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 lock cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgb %bl, %cl
|
||||
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgw %bx, %cx
|
||||
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgl %ebx, %ecx
|
||||
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgq %rbx, %rcx
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgq %rbx, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgq %rbx, (%rsi)
|
||||
|
|
|
@ -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 17 2.75 * * cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: 19 22 4.00 * * cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: 14 17 2.75 * * lock cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: 19 22 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 9 1.00 * * cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 6 9 1.00 * * cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 6 9 1.00 * * cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 6 9 1.00 * * cmpxchgq %rbx, (%rsi)
|
||||
# CHECK-NEXT: 6 9 1.00 * * lock cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 6 9 1.00 * * lock cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 6 9 1.00 * * lock cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 6 9 1.00 * * lock cmpxchgq %rbx, (%rsi)
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0] - HWDivider
|
||||
|
@ -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)
|
||||
|
|
|
@ -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 2.00 * * cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: 2 4 2.00 * * cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: 2 4 2.00 * * lock cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: 2 4 2.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 2.00 * * cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 2 4 2.00 * * cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 2 4 2.00 * * cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 2 4 2.00 * * cmpxchgq %rbx, (%rsi)
|
||||
# CHECK-NEXT: 2 4 2.00 * * lock cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 2 4 2.00 * * lock cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 2 4 2.00 * * lock cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 2 4 2.00 * * lock cmpxchgq %rbx, (%rsi)
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0] - SLMDivider
|
||||
|
@ -28,9 +59,23 @@ cmpxchg16b (%rax)
|
|||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7]
|
||||
# CHECK-NEXT: - - - - - 1.00 1.00 4.00
|
||||
# CHECK-NEXT: - - - - - 8.00 8.00 24.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions:
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 lock cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 2.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 2.00 cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 cmpxchgq %rbx, (%rsi)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 lock cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 lock cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 lock cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 lock cmpxchgq %rbx, (%rsi)
|
||||
|
|
|
@ -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: 3 6 1.00 * * cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: 3 6 1.00 * * cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: 3 6 1.00 * * lock cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: 3 6 1.00 * * lock cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: 4 5 1.33 cmpxchgb %bl, %cl
|
||||
# CHECK-NEXT: 4 5 1.33 cmpxchgw %bx, %cx
|
||||
# CHECK-NEXT: 4 5 1.33 cmpxchgl %ebx, %ecx
|
||||
# CHECK-NEXT: 4 5 1.33 cmpxchgq %rbx, %rcx
|
||||
# CHECK-NEXT: 6 8 2.00 * * cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * cmpxchgq %rbx, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgq %rbx, (%rsi)
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0] - SBDivider
|
||||
|
@ -28,9 +59,23 @@ cmpxchg16b (%rax)
|
|||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
|
||||
# CHECK-NEXT: - - 0.67 0.67 2.00 0.67 2.00 2.00
|
||||
# CHECK-NEXT: - - 10.00 8.00 12.00 26.00 12.00 12.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 lock cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 lock cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgb %bl, %cl
|
||||
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgw %bx, %cx
|
||||
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgl %ebx, %ecx
|
||||
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgq %rbx, %rcx
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgq %rbx, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgq %rbx, (%rsi)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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] - SKXDivider
|
||||
|
@ -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)
|
||||
|
|
|
@ -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: 18 1 0.50 * * cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: 1 100 0.25 * * cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: 18 1 0.50 * * lock cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: 1 100 0.25 * * lock cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: 1 1 0.25 cmpxchgb %bl, %cl
|
||||
# CHECK-NEXT: 1 1 0.25 cmpxchgw %bx, %cx
|
||||
# CHECK-NEXT: 1 1 0.25 cmpxchgl %ebx, %ecx
|
||||
# CHECK-NEXT: 1 1 0.25 cmpxchgq %rbx, %rcx
|
||||
# CHECK-NEXT: 5 8 0.50 * * cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 5 8 0.50 * * cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 5 8 0.50 * * cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 5 8 0.50 * * cmpxchgq %rbx, (%rsi)
|
||||
# CHECK-NEXT: 5 8 0.50 * * lock cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 5 8 0.50 * * lock cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 5 8 0.50 * * lock cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 5 8 0.50 * * lock cmpxchgq %rbx, (%rsi)
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0] - ZnAGU0
|
||||
|
@ -32,9 +63,23 @@ cmpxchg16b (%rax)
|
|||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
|
||||
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - -
|
||||
# CHECK-NEXT: 5.00 5.00 3.50 3.50 3.50 3.50 - - - - - -
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
|
||||
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: - - - - - - - - - - - - cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - lock cmpxchg8b (%rax)
|
||||
# CHECK-NEXT: - - - - - - - - - - - - lock cmpxchg16b (%rax)
|
||||
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - cmpxchgb %bl, %cl
|
||||
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - cmpxchgw %bx, %cx
|
||||
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - cmpxchgl %ebx, %ecx
|
||||
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - cmpxchgq %rbx, %rcx
|
||||
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - cmpxchgq %rbx, (%rsi)
|
||||
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - lock cmpxchgb %bl, (%rsi)
|
||||
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - lock cmpxchgw %bx, (%rsi)
|
||||
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - lock cmpxchgl %ebx, (%rsi)
|
||||
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - lock cmpxchgq %rbx, (%rsi)
|
||||
|
|
Loading…
Reference in New Issue