summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-mca/X86/BtVer2/resources-cmpxchg.s
diff options
context:
space:
mode:
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.s47
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)
OpenPOWER on IntegriCloud