[llvm] r369288 - [X86] Move scheduling tests for CMPXCHG to the corresponding resources-x86_64.s files. NFC
Andrea Di Biagio via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 19 11:20:31 PDT 2019
Author: adibiagio
Date: Mon Aug 19 11:20:30 2019
New Revision: 369288
URL: http://llvm.org/viewvc/llvm-project?rev=369288&view=rev
Log:
[X86] Move scheduling tests for CMPXCHG to the corresponding resources-x86_64.s files. NFC
In D66424 it has been requested to move all the new tests added by r369278 into
resources-x86_64.s. That is because only the 8b/16 ops should be tested by
resources-cmpxchg.s. This partially reverts r369278.
Modified:
llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-cmpxchg.s
llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-cmpxchg.s
llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-cmpxchg.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-cmpxchg.s
llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-cmpxchg.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-cmpxchg.s
llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-cmpxchg.s
llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-cmpxchg.s
llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-cmpxchg.s
llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-cmpxchg.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-cmpxchg.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-cmpxchg.s
llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s
Modified: llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-cmpxchg.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-cmpxchg.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-cmpxchg.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-cmpxchg.s Mon Aug 19 11:20:30 2019
@@ -6,21 +6,6 @@ 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
# CHECK-NEXT: [2]: Latency
@@ -34,18 +19,6 @@ lock cmpxchgq %rbx, (%rsi)
# 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
@@ -53,7 +26,7 @@ lock cmpxchgq %rbx, (%rsi)
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1]
-# CHECK-NEXT: 115.00 115.00
+# CHECK-NEXT: 40.00 40.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] Instructions:
@@ -61,15 +34,3 @@ lock cmpxchgq %rbx, (%rsi)
# 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)
Modified: llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s Mon Aug 19 11:20:30 2019
@@ -236,15 +236,19 @@ cmpsq
cmpxchgb %cl, %bl
cmpxchgb %cl, (%rbx)
+lock cmpxchgb %cl, (%rbx)
cmpxchgw %cx, %bx
cmpxchgw %cx, (%rbx)
+lock cmpxchgw %cx, (%rbx)
cmpxchgl %ecx, %ebx
cmpxchgl %ecx, (%rbx)
+lock cmpxchgl %ecx, (%rbx)
cmpxchgq %rcx, %rbx
cmpxchgq %rcx, (%rbx)
+lock cmpxchgq %rcx, (%rbx)
cpuid
@@ -1108,12 +1112,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 3 1.50 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 1 9 4.50 cmpxchgb %cl, %bl
# CHECK-NEXT: 1 6 3.00 * * cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: 1 6 3.00 * * lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: 1 15 7.50 cmpxchgw %cx, %bx
# CHECK-NEXT: 1 14 7.00 * * cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: 1 14 7.00 * * lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: 1 15 7.50 cmpxchgl %ecx, %ebx
# CHECK-NEXT: 1 14 7.00 * * cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: 1 14 7.00 * * lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: 1 15 7.50 cmpxchgq %rcx, %rbx
# CHECK-NEXT: 1 14 7.00 * * cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: 1 14 7.00 * * lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: 1 121 60.50 U cpuid
# CHECK-NEXT: 1 1 0.50 decb %dil
# CHECK-NEXT: 1 1 1.00 * * decb (%rax)
@@ -1685,7 +1693,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1]
-# CHECK-NEXT: 2690.50 2338.50
+# CHECK-NEXT: 2714.50 2362.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] Instructions:
@@ -1898,12 +1906,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1.50 1.50 cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 4.50 4.50 cmpxchgb %cl, %bl
# CHECK-NEXT: 3.00 3.00 cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: 3.00 3.00 lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: 7.50 7.50 cmpxchgw %cx, %bx
# CHECK-NEXT: 7.00 7.00 cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: 7.00 7.00 lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: 7.50 7.50 cmpxchgl %ecx, %ebx
# CHECK-NEXT: 7.00 7.00 cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: 7.00 7.00 lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: 7.50 7.50 cmpxchgq %rcx, %rbx
# CHECK-NEXT: 7.00 7.00 cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: 7.00 7.00 lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: 60.50 60.50 cpuid
# CHECK-NEXT: 0.50 0.50 decb %dil
# CHECK-NEXT: 1.00 - decb (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-cmpxchg.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-cmpxchg.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-cmpxchg.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-cmpxchg.s Mon Aug 19 11:20:30 2019
@@ -6,21 +6,6 @@ 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
# CHECK-NEXT: [2]: Latency
@@ -34,18 +19,6 @@ lock cmpxchgq %rbx, (%rsi)
# 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
@@ -59,7 +32,7 @@ lock cmpxchgq %rbx, (%rsi)
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - 10.00 8.00 12.00 26.00 12.00 12.00
+# CHECK-NEXT: - - 1.33 1.33 4.00 1.33 4.00 4.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -67,15 +40,3 @@ lock cmpxchgq %rbx, (%rsi)
# 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)
Modified: llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s Mon Aug 19 11:20:30 2019
@@ -236,15 +236,19 @@ cmpsq
cmpxchgb %cl, %bl
cmpxchgb %cl, (%rbx)
+lock cmpxchgb %cl, (%rbx)
cmpxchgw %cx, %bx
cmpxchgw %cx, (%rbx)
+lock cmpxchgw %cx, (%rbx)
cmpxchgl %ecx, %ebx
cmpxchgl %ecx, (%rbx)
+lock cmpxchgl %ecx, (%rbx)
cmpxchgq %rcx, %rbx
cmpxchgq %rcx, (%rbx)
+lock cmpxchgq %rcx, (%rbx)
cpuid
@@ -1108,12 +1112,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: 5 8 1.00 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 4 5 1.33 cmpxchgb %cl, %bl
# CHECK-NEXT: 6 8 2.00 * * cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: 4 5 1.33 cmpxchgw %cx, %bx
# CHECK-NEXT: 6 8 2.00 * * cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: 4 5 1.33 cmpxchgl %ecx, %ebx
# CHECK-NEXT: 6 8 2.00 * * cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: 4 5 1.33 cmpxchgq %rcx, %rbx
# CHECK-NEXT: 6 8 2.00 * * cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: 1 100 0.33 U cpuid
# CHECK-NEXT: 1 1 0.33 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
@@ -1691,7 +1699,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: 160.00 - 596.50 238.00 230.00 596.50 324.50 324.50
+# CHECK-NEXT: 160.00 - 597.83 239.33 234.00 605.83 328.50 328.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -1904,12 +1912,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 1.00 1.00 - 1.00 1.00 1.00 cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgb %cl, %bl
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgw %cx, %bx
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgl %ecx, %ebx
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgq %rcx, %rbx
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - cpuid
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decb %dil
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 decb (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-cmpxchg.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-cmpxchg.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-cmpxchg.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-cmpxchg.s Mon Aug 19 11:20:30 2019
@@ -6,21 +6,6 @@ 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
# CHECK-NEXT: [2]: Latency
@@ -34,18 +19,6 @@ lock cmpxchgq %rbx, (%rsi)
# 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
@@ -74,7 +47,7 @@ lock cmpxchgq %rbx, (%rsi)
# 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: - - - - - - 374.00 - - - - - - - - - - - - - - - -
+# CHECK-NEXT: - - - - - - 190.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:
@@ -82,15 +55,3 @@ lock cmpxchgq %rbx, (%rsi)
# 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)
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-x86_64.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-x86_64.s Mon Aug 19 11:20:30 2019
@@ -236,15 +236,19 @@ cmpsq
cmpxchgb %cl, %bl
cmpxchgb %cl, (%rbx)
+lock cmpxchgb %cl, (%rbx)
cmpxchgw %cx, %bx
cmpxchgw %cx, (%rbx)
+lock cmpxchgw %cx, (%rbx)
cmpxchgl %ecx, %ebx
cmpxchgl %ecx, (%rbx)
+lock cmpxchgl %ecx, (%rbx)
cmpxchgq %rcx, %rbx
cmpxchgq %rcx, (%rbx)
+lock cmpxchgq %rcx, (%rbx)
cpuid
@@ -1108,12 +1112,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 100 0.50 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 3 3 3.00 cmpxchgb %cl, %bl
# CHECK-NEXT: 5 3 23.00 * * cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: 5 3 23.00 * * lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: 5 3 3.00 cmpxchgw %cx, %bx
# CHECK-NEXT: 6 3 21.00 * * cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: 6 3 21.00 * * lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: 5 3 3.00 cmpxchgl %ecx, %ebx
# CHECK-NEXT: 6 3 21.00 * * cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: 6 3 21.00 * * lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: 5 3 3.00 cmpxchgq %rcx, %rbx
# CHECK-NEXT: 6 3 21.00 * * cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: 6 3 21.00 * * lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: 1 100 0.50 U cpuid
# CHECK-NEXT: 1 1 1.00 decb %dil
# CHECK-NEXT: 1 6 2.00 * * decb (%rax)
@@ -1706,7 +1714,7 @@ xorq (%rax), %rdi
# 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: 550.50 550.50 - - 246.00 1323.50 1562.50 - - - - - - - - - - - - 450.00 450.00 136.00 201.00
+# CHECK-NEXT: 550.50 550.50 - - 246.00 1323.50 1648.50 - - - - - - - - - - - - 450.00 450.00 136.00 201.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:
@@ -1919,12 +1927,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: - - - - - - 3.00 - - - - - - - - - - - - - - - - cmpxchgb %cl, %bl
# CHECK-NEXT: - - - - - - 23.00 - - - - - - - - - - - - - - - - cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: - - - - - - 23.00 - - - - - - - - - - - - - - - - lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: - - - - - - 3.00 - - - - - - - - - - - - - - - - cmpxchgw %cx, %bx
# CHECK-NEXT: - - - - - - 21.00 - - - - - - - - - - - - - - - - cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: - - - - - - 21.00 - - - - - - - - - - - - - - - - lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: - - - - - - 3.00 - - - - - - - - - - - - - - - - cmpxchgl %ecx, %ebx
# CHECK-NEXT: - - - - - - 21.00 - - - - - - - - - - - - - - - - cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: - - - - - - 21.00 - - - - - - - - - - - - - - - - lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: - - - - - - 3.00 - - - - - - - - - - - - - - - - cmpxchgq %rcx, %rbx
# CHECK-NEXT: - - - - - - 21.00 - - - - - - - - - - - - - - - - cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: - - - - - - 21.00 - - - - - - - - - - - - - - - - lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - cpuid
# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - decb %dil
# CHECK-NEXT: 2.00 2.00 - - - 1.00 1.00 - - - - - - - - - - - - 1.50 1.50 - 1.00 decb (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-cmpxchg.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-cmpxchg.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-cmpxchg.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-cmpxchg.s Mon Aug 19 11:20:30 2019
@@ -6,21 +6,6 @@ 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
# CHECK-NEXT: [2]: Latency
@@ -34,18 +19,6 @@ lock cmpxchgq %rbx, (%rsi)
# 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
@@ -61,7 +34,7 @@ lock cmpxchgq %rbx, (%rsi)
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 34.50 12.50 10.00 10.00 12.00 20.50 30.50 4.00
+# CHECK-NEXT: - - 17.50 7.50 3.33 3.33 4.00 15.50 13.50 1.33
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -69,15 +42,3 @@ lock cmpxchgq %rbx, (%rsi)
# 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)
Modified: llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s Mon Aug 19 11:20:30 2019
@@ -236,15 +236,19 @@ cmpsq
cmpxchgb %cl, %bl
cmpxchgb %cl, (%rbx)
+lock cmpxchgb %cl, (%rbx)
cmpxchgw %cx, %bx
cmpxchgw %cx, (%rbx)
+lock cmpxchgw %cx, (%rbx)
cmpxchgl %ecx, %ebx
cmpxchgl %ecx, (%rbx)
+lock cmpxchgl %ecx, (%rbx)
cmpxchgq %rcx, %rbx
cmpxchgq %rcx, (%rbx)
+lock cmpxchgq %rcx, (%rbx)
cpuid
@@ -1108,12 +1112,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 100 0.25 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 5 5 1.25 cmpxchgb %cl, %bl
# CHECK-NEXT: 6 8 1.00 * * cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: 6 8 1.00 * * lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: 5 5 1.25 cmpxchgw %cx, %bx
# CHECK-NEXT: 6 8 1.00 * * cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: 6 8 1.00 * * lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: 5 5 1.25 cmpxchgl %ecx, %ebx
# CHECK-NEXT: 6 8 1.00 * * cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: 6 8 1.00 * * lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: 5 5 1.25 cmpxchgq %rcx, %rbx
# CHECK-NEXT: 6 8 1.00 * * cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: 6 8 1.00 * * lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: 8 18 2.00 U cpuid
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
@@ -1693,7 +1701,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: 50.00 - 518.50 346.50 269.33 269.33 214.00 259.00 552.00 85.33
+# CHECK-NEXT: 50.00 - 523.50 347.50 272.67 272.67 218.00 260.00 557.00 86.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1906,12 +1914,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgb %cl, %bl
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgw %cx, %bx
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgl %ecx, %ebx
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgq %rcx, %rbx
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: - - 1.75 1.25 - - - 2.25 2.75 - cpuid
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-cmpxchg.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-cmpxchg.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-cmpxchg.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-cmpxchg.s Mon Aug 19 11:20:30 2019
@@ -6,21 +6,6 @@ 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
# CHECK-NEXT: [2]: Latency
@@ -34,18 +19,6 @@ lock cmpxchgq %rbx, (%rsi)
# 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
@@ -65,7 +38,7 @@ lock cmpxchgq %rbx, (%rsi)
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
-# CHECK-NEXT: 8.00 8.00 - - - - - 12.00 - 12.00 - - - -
+# CHECK-NEXT: 2.00 2.00 - - - - - 4.00 - 4.00 - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
@@ -73,15 +46,3 @@ lock cmpxchgq %rbx, (%rsi)
# 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)
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s Mon Aug 19 11:20:30 2019
@@ -236,15 +236,19 @@ cmpsq
cmpxchgb %cl, %bl
cmpxchgb %cl, (%rbx)
+lock cmpxchgb %cl, (%rbx)
cmpxchgw %cx, %bx
cmpxchgw %cx, (%rbx)
+lock cmpxchgw %cx, (%rbx)
cmpxchgl %ecx, %ebx
cmpxchgl %ecx, (%rbx)
+lock cmpxchgl %ecx, (%rbx)
cmpxchgq %rcx, %rbx
cmpxchgq %rcx, (%rbx)
+lock cmpxchgq %rcx, (%rbx)
cpuid
@@ -1108,12 +1112,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 100 0.50 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 1 1 0.50 cmpxchgb %cl, %bl
# CHECK-NEXT: 2 4 1.00 * * cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: 2 4 1.00 * * lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: 1 1 0.50 cmpxchgw %cx, %bx
# CHECK-NEXT: 2 4 1.00 * * cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: 2 4 1.00 * * lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: 1 1 0.50 cmpxchgl %ecx, %ebx
# CHECK-NEXT: 2 4 1.00 * * cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: 2 4 1.00 * * lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: 1 1 0.50 cmpxchgq %rcx, %rbx
# CHECK-NEXT: 2 4 1.00 * * cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: 2 4 1.00 * * lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: 1 100 0.50 U cpuid
# CHECK-NEXT: 1 1 0.50 decb %dil
# CHECK-NEXT: 1 5 1.00 * * decb (%rax)
@@ -1697,7 +1705,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
-# CHECK-NEXT: 610.00 660.00 380.00 - - - - 330.00 64.00 231.00 - - - -
+# CHECK-NEXT: 612.00 662.00 380.00 - - - - 334.00 64.00 235.00 - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
@@ -1910,12 +1918,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - cmpxchgb %cl, %bl
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - cmpxchgw %cx, %bx
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - cmpxchgl %ecx, %ebx
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - cmpxchgq %rcx, %rbx
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - cpuid
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - decb %dil
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - decb (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-cmpxchg.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-cmpxchg.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-cmpxchg.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-cmpxchg.s Mon Aug 19 11:20:30 2019
@@ -6,21 +6,6 @@ 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
# CHECK-NEXT: [2]: Latency
@@ -34,18 +19,6 @@ lock cmpxchgq %rbx, (%rsi)
# 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
@@ -59,7 +32,7 @@ lock cmpxchgq %rbx, (%rsi)
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - 10.00 8.00 12.00 26.00 12.00 12.00
+# CHECK-NEXT: - - 1.33 1.33 4.00 1.33 4.00 4.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -67,15 +40,3 @@ lock cmpxchgq %rbx, (%rsi)
# 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)
Modified: llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s Mon Aug 19 11:20:30 2019
@@ -236,15 +236,19 @@ cmpsq
cmpxchgb %cl, %bl
cmpxchgb %cl, (%rbx)
+lock cmpxchgb %cl, (%rbx)
cmpxchgw %cx, %bx
cmpxchgw %cx, (%rbx)
+lock cmpxchgw %cx, (%rbx)
cmpxchgl %ecx, %ebx
cmpxchgl %ecx, (%rbx)
+lock cmpxchgl %ecx, (%rbx)
cmpxchgq %rcx, %rbx
cmpxchgq %rcx, (%rbx)
+lock cmpxchgq %rcx, (%rbx)
cpuid
@@ -1108,12 +1112,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: 5 8 1.00 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 4 5 1.33 cmpxchgb %cl, %bl
# CHECK-NEXT: 6 8 2.00 * * cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: 4 5 1.33 cmpxchgw %cx, %bx
# CHECK-NEXT: 6 8 2.00 * * cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: 4 5 1.33 cmpxchgl %ecx, %ebx
# CHECK-NEXT: 6 8 2.00 * * cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: 4 5 1.33 cmpxchgq %rcx, %rbx
# CHECK-NEXT: 6 8 2.00 * * cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: 1 100 0.33 U cpuid
# CHECK-NEXT: 1 1 0.33 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
@@ -1691,7 +1699,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: 160.00 - 596.50 238.00 230.00 596.50 324.50 324.50
+# CHECK-NEXT: 160.00 - 597.83 239.33 234.00 605.83 328.50 328.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -1904,12 +1912,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 1.00 1.00 - 1.00 1.00 1.00 cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgb %cl, %bl
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgw %cx, %bx
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgl %ecx, %ebx
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgq %rcx, %rbx
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - cpuid
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decb %dil
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 decb (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-cmpxchg.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-cmpxchg.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-cmpxchg.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-cmpxchg.s Mon Aug 19 11:20:30 2019
@@ -6,21 +6,6 @@ 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
# CHECK-NEXT: [2]: Latency
@@ -34,18 +19,6 @@ lock cmpxchgq %rbx, (%rsi)
# 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
@@ -61,7 +34,7 @@ lock cmpxchgq %rbx, (%rsi)
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 34.50 12.50 10.00 10.00 12.00 20.50 30.50 4.00
+# CHECK-NEXT: - - 17.50 7.50 3.33 3.33 4.00 15.50 13.50 1.33
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -69,15 +42,3 @@ lock cmpxchgq %rbx, (%rsi)
# 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)
Modified: llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s Mon Aug 19 11:20:30 2019
@@ -236,15 +236,19 @@ cmpsq
cmpxchgb %cl, %bl
cmpxchgb %cl, (%rbx)
+lock cmpxchgb %cl, (%rbx)
cmpxchgw %cx, %bx
cmpxchgw %cx, (%rbx)
+lock cmpxchgw %cx, (%rbx)
cmpxchgl %ecx, %ebx
cmpxchgl %ecx, (%rbx)
+lock cmpxchgl %ecx, (%rbx)
cmpxchgq %rcx, %rbx
cmpxchgq %rcx, (%rbx)
+lock cmpxchgq %rcx, (%rbx)
cpuid
@@ -1108,12 +1112,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: 5 4 1.00 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 5 5 1.25 cmpxchgb %cl, %bl
# CHECK-NEXT: 6 9 1.00 * * cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: 6 9 1.00 * * lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: 5 5 1.25 cmpxchgw %cx, %bx
# CHECK-NEXT: 6 9 1.00 * * cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: 6 9 1.00 * * lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: 5 5 1.25 cmpxchgl %ecx, %ebx
# CHECK-NEXT: 6 9 1.00 * * cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: 6 9 1.00 * * lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: 5 5 1.25 cmpxchgq %rcx, %rbx
# CHECK-NEXT: 6 9 1.00 * * cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: 6 9 1.00 * * lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: 8 18 2.00 U cpuid
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
@@ -1693,7 +1701,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: 80.00 - 573.75 371.75 269.83 269.83 209.00 286.25 636.25 82.33
+# CHECK-NEXT: 80.00 - 578.75 372.75 273.17 273.17 213.00 287.25 641.25 83.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1906,12 +1914,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.75 0.75 1.00 1.00 - 0.75 0.75 - cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgb %cl, %bl
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgw %cx, %bx
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgl %ecx, %ebx
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgq %rcx, %rbx
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: - - 1.75 1.25 - - - 2.25 2.75 - cpuid
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-cmpxchg.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-cmpxchg.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-cmpxchg.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-cmpxchg.s Mon Aug 19 11:20:30 2019
@@ -6,21 +6,6 @@ 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
# CHECK-NEXT: [2]: Latency
@@ -34,18 +19,6 @@ lock cmpxchgq %rbx, (%rsi)
# 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
@@ -59,7 +32,7 @@ lock cmpxchgq %rbx, (%rsi)
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7]
-# CHECK-NEXT: - - - - - 8.00 8.00 24.00
+# CHECK-NEXT: - - - - - 2.00 2.00 8.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions:
@@ -67,15 +40,3 @@ lock cmpxchgq %rbx, (%rsi)
# 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)
Modified: llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s Mon Aug 19 11:20:30 2019
@@ -236,15 +236,19 @@ cmpsq
cmpxchgb %cl, %bl
cmpxchgb %cl, (%rbx)
+lock cmpxchgb %cl, (%rbx)
cmpxchgw %cx, %bx
cmpxchgw %cx, (%rbx)
+lock cmpxchgw %cx, (%rbx)
cmpxchgl %ecx, %ebx
cmpxchgl %ecx, (%rbx)
+lock cmpxchgl %ecx, (%rbx)
cmpxchgq %rcx, %rbx
cmpxchgq %rcx, (%rbx)
+lock cmpxchgq %rcx, (%rbx)
cpuid
@@ -1108,12 +1112,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 100 1.00 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 1 1 0.50 cmpxchgb %cl, %bl
# CHECK-NEXT: 2 4 2.00 * * cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: 2 4 2.00 * * lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: 1 1 0.50 cmpxchgw %cx, %bx
# CHECK-NEXT: 2 4 2.00 * * cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: 2 4 2.00 * * lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: 1 1 0.50 cmpxchgl %ecx, %ebx
# CHECK-NEXT: 2 4 2.00 * * cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: 2 4 2.00 * * lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: 1 1 0.50 cmpxchgq %rcx, %rbx
# CHECK-NEXT: 2 4 2.00 * * cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: 2 4 2.00 * * lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: 1 100 1.00 U cpuid
# CHECK-NEXT: 1 1 0.50 decb %dil
# CHECK-NEXT: 2 5 2.00 * * decb (%rax)
@@ -1691,7 +1699,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7]
-# CHECK-NEXT: 400.00 - - 49.00 - 561.50 403.50 573.00
+# CHECK-NEXT: 400.00 - - 49.00 - 563.50 405.50 581.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions:
@@ -1904,12 +1912,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: - - - - - 0.50 0.50 - cmpxchgb %cl, %bl
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: - - - - - 0.50 0.50 2.00 lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: - - - - - 0.50 0.50 - cmpxchgw %cx, %bx
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: - - - - - 0.50 0.50 2.00 lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: - - - - - 0.50 0.50 - cmpxchgl %ecx, %ebx
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: - - - - - 0.50 0.50 2.00 lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: - - - - - 0.50 0.50 - cmpxchgq %rcx, %rbx
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: - - - - - 0.50 0.50 2.00 lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: - - - 1.00 - - - - cpuid
# CHECK-NEXT: - - - - - 0.50 0.50 - decb %dil
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 decb (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-cmpxchg.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-cmpxchg.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-cmpxchg.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-cmpxchg.s Mon Aug 19 11:20:30 2019
@@ -6,21 +6,6 @@ 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
# CHECK-NEXT: [2]: Latency
@@ -34,18 +19,6 @@ lock cmpxchgq %rbx, (%rsi)
# 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
@@ -59,7 +32,7 @@ lock cmpxchgq %rbx, (%rsi)
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - 10.00 8.00 12.00 26.00 12.00 12.00
+# CHECK-NEXT: - - 1.33 1.33 4.00 1.33 4.00 4.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -67,15 +40,3 @@ lock cmpxchgq %rbx, (%rsi)
# 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)
Modified: llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s Mon Aug 19 11:20:30 2019
@@ -236,15 +236,19 @@ cmpsq
cmpxchgb %cl, %bl
cmpxchgb %cl, (%rbx)
+lock cmpxchgb %cl, (%rbx)
cmpxchgw %cx, %bx
cmpxchgw %cx, (%rbx)
+lock cmpxchgw %cx, (%rbx)
cmpxchgl %ecx, %ebx
cmpxchgl %ecx, (%rbx)
+lock cmpxchgl %ecx, (%rbx)
cmpxchgq %rcx, %rbx
cmpxchgq %rcx, (%rbx)
+lock cmpxchgq %rcx, (%rbx)
cpuid
@@ -1108,12 +1112,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: 5 8 1.00 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 4 5 1.33 cmpxchgb %cl, %bl
# CHECK-NEXT: 6 8 2.00 * * cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: 4 5 1.33 cmpxchgw %cx, %bx
# CHECK-NEXT: 6 8 2.00 * * cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: 4 5 1.33 cmpxchgl %ecx, %ebx
# CHECK-NEXT: 6 8 2.00 * * cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: 4 5 1.33 cmpxchgq %rcx, %rbx
# CHECK-NEXT: 6 8 2.00 * * cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: 6 8 2.00 * * lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: 1 100 0.33 U cpuid
# CHECK-NEXT: 1 1 0.33 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
@@ -1691,7 +1699,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: 160.00 - 596.50 238.00 230.00 596.50 324.50 324.50
+# CHECK-NEXT: 160.00 - 597.83 239.33 234.00 605.83 328.50 328.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -1904,12 +1912,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 1.00 1.00 - 1.00 1.00 1.00 cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgb %cl, %bl
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgw %cx, %bx
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgl %ecx, %ebx
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: - - 1.50 1.00 - 1.50 - - cmpxchgq %rcx, %rbx
# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: - - 0.33 0.33 1.00 2.33 1.00 1.00 lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - cpuid
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decb %dil
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 decb (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-cmpxchg.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-cmpxchg.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-cmpxchg.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-cmpxchg.s Mon Aug 19 11:20:30 2019
@@ -6,21 +6,6 @@ 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
# CHECK-NEXT: [2]: Latency
@@ -34,18 +19,6 @@ lock cmpxchgq %rbx, (%rsi)
# 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
@@ -61,7 +34,7 @@ lock cmpxchgq %rbx, (%rsi)
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 34.50 12.50 10.00 10.00 12.00 20.50 30.50 4.00
+# CHECK-NEXT: - - 17.50 7.50 3.33 3.33 4.00 15.50 13.50 1.33
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -69,15 +42,3 @@ lock cmpxchgq %rbx, (%rsi)
# 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)
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s Mon Aug 19 11:20:30 2019
@@ -236,15 +236,19 @@ cmpsq
cmpxchgb %cl, %bl
cmpxchgb %cl, (%rbx)
+lock cmpxchgb %cl, (%rbx)
cmpxchgw %cx, %bx
cmpxchgw %cx, (%rbx)
+lock cmpxchgw %cx, (%rbx)
cmpxchgl %ecx, %ebx
cmpxchgl %ecx, (%rbx)
+lock cmpxchgl %ecx, (%rbx)
cmpxchgq %rcx, %rbx
cmpxchgq %rcx, (%rbx)
+lock cmpxchgq %rcx, (%rbx)
cpuid
@@ -1108,12 +1112,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 100 0.25 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 5 5 1.25 cmpxchgb %cl, %bl
# CHECK-NEXT: 6 8 1.00 * * cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: 6 8 1.00 * * lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: 5 5 1.25 cmpxchgw %cx, %bx
# CHECK-NEXT: 6 8 1.00 * * cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: 6 8 1.00 * * lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: 5 5 1.25 cmpxchgl %ecx, %ebx
# CHECK-NEXT: 6 8 1.00 * * cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: 6 8 1.00 * * lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: 5 5 1.25 cmpxchgq %rcx, %rbx
# CHECK-NEXT: 6 8 1.00 * * cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: 6 8 1.00 * * lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: 8 18 2.00 U cpuid
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
@@ -1693,7 +1701,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: 60.00 - 588.75 326.25 269.33 269.33 214.00 293.75 645.25 85.33
+# CHECK-NEXT: 60.00 - 593.75 327.25 272.67 272.67 218.00 294.75 650.25 86.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1906,12 +1914,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgb %cl, %bl
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgw %cx, %bx
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgl %ecx, %ebx
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgq %rcx, %rbx
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: - - 1.75 1.25 - - - 2.25 2.75 - cpuid
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-cmpxchg.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-cmpxchg.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-cmpxchg.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-cmpxchg.s Mon Aug 19 11:20:30 2019
@@ -6,21 +6,6 @@ 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
# CHECK-NEXT: [2]: Latency
@@ -34,18 +19,6 @@ lock cmpxchgq %rbx, (%rsi)
# 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
@@ -61,7 +34,7 @@ lock cmpxchgq %rbx, (%rsi)
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 34.50 12.50 10.00 10.00 12.00 20.50 30.50 4.00
+# CHECK-NEXT: - - 17.50 7.50 3.33 3.33 4.00 15.50 13.50 1.33
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -69,15 +42,3 @@ lock cmpxchgq %rbx, (%rsi)
# 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)
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s Mon Aug 19 11:20:30 2019
@@ -236,15 +236,19 @@ cmpsq
cmpxchgb %cl, %bl
cmpxchgb %cl, (%rbx)
+lock cmpxchgb %cl, (%rbx)
cmpxchgw %cx, %bx
cmpxchgw %cx, (%rbx)
+lock cmpxchgw %cx, (%rbx)
cmpxchgl %ecx, %ebx
cmpxchgl %ecx, (%rbx)
+lock cmpxchgl %ecx, (%rbx)
cmpxchgq %rcx, %rbx
cmpxchgq %rcx, (%rbx)
+lock cmpxchgq %rcx, (%rbx)
cpuid
@@ -1108,12 +1112,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 100 0.25 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 5 5 1.25 cmpxchgb %cl, %bl
# CHECK-NEXT: 6 8 1.00 * * cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: 6 8 1.00 * * lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: 5 5 1.25 cmpxchgw %cx, %bx
# CHECK-NEXT: 6 8 1.00 * * cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: 6 8 1.00 * * lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: 5 5 1.25 cmpxchgl %ecx, %ebx
# CHECK-NEXT: 6 8 1.00 * * cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: 6 8 1.00 * * lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: 5 5 1.25 cmpxchgq %rcx, %rbx
# CHECK-NEXT: 6 8 1.00 * * cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: 6 8 1.00 * * lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: 8 18 2.00 U cpuid
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
@@ -1693,7 +1701,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: 60.00 - 589.00 326.50 269.33 269.33 214.00 294.00 645.50 85.33
+# CHECK-NEXT: 60.00 - 594.00 327.50 272.67 272.67 218.00 295.00 650.50 86.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1906,12 +1914,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgb %cl, %bl
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgw %cx, %bx
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgl %ecx, %ebx
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: - - 1.75 0.75 - - - 0.75 1.75 - cmpxchgq %rcx, %rbx
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: - - 1.75 1.25 - - - 2.25 2.75 - cpuid
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-cmpxchg.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-cmpxchg.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-cmpxchg.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-cmpxchg.s Mon Aug 19 11:20:30 2019
@@ -6,21 +6,6 @@ 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
# CHECK-NEXT: [2]: Latency
@@ -34,18 +19,6 @@ lock cmpxchgq %rbx, (%rsi)
# 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
@@ -63,7 +36,7 @@ lock cmpxchgq %rbx, (%rsi)
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: 5.00 5.00 3.50 3.50 3.50 3.50 - - - - - -
+# CHECK-NEXT: 1.00 1.00 0.50 0.50 0.50 0.50 - - - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -71,15 +44,3 @@ lock cmpxchgq %rbx, (%rsi)
# 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)
Modified: llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s?rev=369288&r1=369287&r2=369288&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s Mon Aug 19 11:20:30 2019
@@ -236,15 +236,19 @@ cmpsq
cmpxchgb %cl, %bl
cmpxchgb %cl, (%rbx)
+lock cmpxchgb %cl, (%rbx)
cmpxchgw %cx, %bx
cmpxchgw %cx, (%rbx)
+lock cmpxchgw %cx, (%rbx)
cmpxchgl %ecx, %ebx
cmpxchgl %ecx, (%rbx)
+lock cmpxchgl %ecx, (%rbx)
cmpxchgq %rcx, %rbx
cmpxchgq %rcx, (%rbx)
+lock cmpxchgq %rcx, (%rbx)
cpuid
@@ -1108,12 +1112,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 100 0.25 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 1 1 0.25 cmpxchgb %cl, %bl
# CHECK-NEXT: 5 8 0.50 * * cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: 5 8 0.50 * * lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: 1 1 0.25 cmpxchgw %cx, %bx
# CHECK-NEXT: 5 8 0.50 * * cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: 5 8 0.50 * * lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: 1 1 0.25 cmpxchgl %ecx, %ebx
# CHECK-NEXT: 5 8 0.50 * * cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: 5 8 0.50 * * lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: 1 1 0.25 cmpxchgq %rcx, %rbx
# CHECK-NEXT: 5 8 0.50 * * cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: 5 8 0.50 * * lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: 1 100 0.25 U cpuid
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 2 5 0.50 * * decb (%rax)
@@ -1695,7 +1703,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: 169.50 169.50 159.75 193.75 175.75 159.75 392.00 - - - - 34.00
+# CHECK-NEXT: 171.50 171.50 160.75 194.75 176.75 160.75 392.00 - - - - 34.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -1908,12 +1916,16 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - - - - - - - - - - - cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - cmpxchgb %cl, %bl
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - lock cmpxchgb %cl, (%rbx)
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - cmpxchgw %cx, %bx
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - lock cmpxchgw %cx, (%rbx)
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - cmpxchgl %ecx, %ebx
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - lock cmpxchgl %ecx, (%rbx)
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - cmpxchgq %rcx, %rbx
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - lock cmpxchgq %rcx, (%rbx)
# CHECK-NEXT: - - - - - - - - - - - - cpuid
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - decb %dil
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - decb (%rax)
More information about the llvm-commits
mailing list