[llvm] bbf84fc - [X86] SandyBridge - fix ADC RMW uop count
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sat Dec 17 13:54:18 PST 2022
Author: Simon Pilgrim
Date: 2022-12-17T21:52:44Z
New Revision: bbf84fcf180cf18dfc61627799a56a596e62ed68
URL: https://github.com/llvm/llvm-project/commit/bbf84fcf180cf18dfc61627799a56a596e62ed68
DIFF: https://github.com/llvm/llvm-project/commit/bbf84fcf180cf18dfc61627799a56a596e62ed68.diff
LOG: [X86] SandyBridge - fix ADC RMW uop count
These should consistently use the fused domain count, not the unfused domain
Confirmed with Agner + uops.info
Added:
Modified:
llvm/lib/Target/X86/X86SchedSandyBridge.td
llvm/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s
llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86SchedSandyBridge.td b/llvm/lib/Target/X86/X86SchedSandyBridge.td
index 9ceb8dbaa7c7e..a67d707f83d0f 100644
--- a/llvm/lib/Target/X86/X86SchedSandyBridge.td
+++ b/llvm/lib/Target/X86/X86SchedSandyBridge.td
@@ -1035,14 +1035,14 @@ def: InstRW<[SBWriteResGroup97_2], (instregex "ROL(8|16|32|64)mCL",
def SBWriteResGroup98 : SchedWriteRes<[SBPort4,SBPort23,SBPort015]> {
let Latency = 9;
- let NumMicroOps = 6;
+ let NumMicroOps = 4;
let ResourceCycles = [1,2,3];
}
def: SchedAlias<WriteADCRMW, SBWriteResGroup98>;
def SBWriteResGroup99 : SchedWriteRes<[SBPort4,SBPort23,SBPort05,SBPort015]> {
let Latency = 9;
- let NumMicroOps = 6;
+ let NumMicroOps = 4;
let ResourceCycles = [1,2,2,1];
}
def: InstRW<[SBWriteResGroup99, ReadAfterLd], (instrs ADC8mr, ADC16mr, ADC32mr, ADC64mr,
diff --git a/llvm/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s
index 37ccff2429f16..117025ab3d038 100644
--- a/llvm/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s
@@ -1036,60 +1036,60 @@ xorq (%rax), %rdi
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.67 adcb $0, %al
# CHECK-NEXT: 2 2 0.67 adcb $0, %dil
-# CHECK-NEXT: 6 9 1.00 * * adcb $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcb $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcb $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcb $0, (%rax)
# CHECK-NEXT: 2 2 0.67 adcb $7, %al
# CHECK-NEXT: 2 2 0.67 adcb $7, %dil
-# CHECK-NEXT: 6 9 1.00 * * adcb $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcb $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcb $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcb $7, (%rax)
# CHECK-NEXT: 2 2 0.67 adcb %sil, %dil
-# CHECK-NEXT: 6 9 1.00 * * adcb %sil, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcb %sil, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcb %sil, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcb %sil, (%rax)
# CHECK-NEXT: 3 7 0.67 * adcb (%rax), %dil
# CHECK-NEXT: 2 2 0.67 adcw $0, %ax
# CHECK-NEXT: 2 2 0.67 adcw $0, %di
-# CHECK-NEXT: 6 9 1.00 * * adcw $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcw $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcw $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcw $0, (%rax)
# CHECK-NEXT: 2 2 0.67 adcw $511, %ax
# CHECK-NEXT: 2 2 0.67 adcw $511, %di
-# CHECK-NEXT: 6 9 1.00 * * adcw $511, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcw $511, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcw $511, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcw $511, (%rax)
# CHECK-NEXT: 2 2 0.67 adcw $7, %di
-# CHECK-NEXT: 6 9 1.00 * * adcw $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcw $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcw $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcw $7, (%rax)
# CHECK-NEXT: 2 2 0.67 adcw %si, %di
-# CHECK-NEXT: 6 9 1.00 * * adcw %si, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcw %si, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcw %si, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcw %si, (%rax)
# CHECK-NEXT: 3 7 0.67 * adcw (%rax), %di
# CHECK-NEXT: 2 2 0.67 adcl $0, %eax
# CHECK-NEXT: 2 2 0.67 adcl $0, %edi
-# CHECK-NEXT: 6 9 1.00 * * adcl $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcl $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcl $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcl $0, (%rax)
# CHECK-NEXT: 2 2 0.67 adcl $665536, %eax
# CHECK-NEXT: 2 2 0.67 adcl $665536, %edi
-# CHECK-NEXT: 6 9 1.00 * * adcl $665536, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcl $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcl $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcl $665536, (%rax)
# CHECK-NEXT: 2 2 0.67 adcl $7, %edi
-# CHECK-NEXT: 6 9 1.00 * * adcl $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcl $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcl $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcl $7, (%rax)
# CHECK-NEXT: 2 2 0.67 adcl %esi, %edi
-# CHECK-NEXT: 6 9 1.00 * * adcl %esi, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcl %esi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcl %esi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcl %esi, (%rax)
# CHECK-NEXT: 3 7 0.67 * adcl (%rax), %edi
# CHECK-NEXT: 2 2 0.67 adcq $0, %rax
# CHECK-NEXT: 2 2 0.67 adcq $0, %rdi
-# CHECK-NEXT: 6 9 1.00 * * adcq $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcq $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcq $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcq $0, (%rax)
# CHECK-NEXT: 2 2 0.67 adcq $665536, %rax
# CHECK-NEXT: 2 2 0.67 adcq $665536, %rdi
-# CHECK-NEXT: 6 9 1.00 * * adcq $665536, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcq $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcq $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcq $665536, (%rax)
# CHECK-NEXT: 2 2 0.67 adcq $7, %rdi
-# CHECK-NEXT: 6 9 1.00 * * adcq $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcq $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcq $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcq $7, (%rax)
# CHECK-NEXT: 2 2 0.67 adcq %rsi, %rdi
-# CHECK-NEXT: 6 9 1.00 * * adcq %rsi, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcq %rsi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcq %rsi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcq %rsi, (%rax)
# CHECK-NEXT: 3 7 0.67 * adcq (%rax), %rdi
# CHECK-NEXT: 1 1 0.33 addb $7, %al
# CHECK-NEXT: 1 1 0.33 addb $7, %dil
@@ -1688,60 +1688,60 @@ xorq (%rax), %rdi
# CHECK-NEXT: 6 9 1.50 * * shrq %cl, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbb $0, %al
# CHECK-NEXT: 2 2 0.67 sbbb $0, %dil
-# CHECK-NEXT: 6 9 1.00 * * sbbb $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbb $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbb $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbb $0, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbb $7, %al
# CHECK-NEXT: 2 2 0.67 sbbb $7, %dil
-# CHECK-NEXT: 6 9 1.00 * * sbbb $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbb $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbb $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbb $7, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbb %sil, %dil
-# CHECK-NEXT: 6 9 1.00 * * sbbb %sil, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbb %sil, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbb %sil, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbb %sil, (%rax)
# CHECK-NEXT: 3 7 0.67 * sbbb (%rax), %dil
# CHECK-NEXT: 2 2 0.67 sbbw $0, %ax
# CHECK-NEXT: 2 2 0.67 sbbw $0, %di
-# CHECK-NEXT: 6 9 1.00 * * sbbw $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbw $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbw $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbw $0, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbw $511, %ax
# CHECK-NEXT: 2 2 0.67 sbbw $511, %di
-# CHECK-NEXT: 6 9 1.00 * * sbbw $511, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbw $511, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbw $511, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbw $511, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbw $7, %di
-# CHECK-NEXT: 6 9 1.00 * * sbbw $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbw $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbw $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbw $7, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbw %si, %di
-# CHECK-NEXT: 6 9 1.00 * * sbbw %si, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbw %si, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbw %si, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbw %si, (%rax)
# CHECK-NEXT: 3 7 0.67 * sbbw (%rax), %di
# CHECK-NEXT: 2 2 0.67 sbbl $0, %eax
# CHECK-NEXT: 2 2 0.67 sbbl $0, %edi
-# CHECK-NEXT: 6 9 1.00 * * sbbl $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbl $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbl $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbl $0, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbl $665536, %eax
# CHECK-NEXT: 2 2 0.67 sbbl $665536, %edi
-# CHECK-NEXT: 6 9 1.00 * * sbbl $665536, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbl $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbl $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbl $665536, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbl $7, %edi
-# CHECK-NEXT: 6 9 1.00 * * sbbl $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbl $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbl $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbl $7, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbl %esi, %edi
-# CHECK-NEXT: 6 9 1.00 * * sbbl %esi, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbl %esi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbl %esi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbl %esi, (%rax)
# CHECK-NEXT: 3 7 0.67 * sbbl (%rax), %edi
# CHECK-NEXT: 2 2 0.67 sbbq $0, %rax
# CHECK-NEXT: 2 2 0.67 sbbq $0, %rdi
-# CHECK-NEXT: 6 9 1.00 * * sbbq $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbq $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbq $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbq $0, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbq $665536, %rax
# CHECK-NEXT: 2 2 0.67 sbbq $665536, %rdi
-# CHECK-NEXT: 6 9 1.00 * * sbbq $665536, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbq $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbq $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbq $665536, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbq $7, %rdi
-# CHECK-NEXT: 6 9 1.00 * * sbbq $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbq $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbq $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbq $7, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbq %rsi, %rdi
-# CHECK-NEXT: 6 9 1.00 * * sbbq %rsi, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbq %rsi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbq %rsi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbq %rsi, (%rax)
# CHECK-NEXT: 3 7 0.67 * sbbq (%rax), %rdi
# CHECK-NEXT: 2 2 0.67 U scasb %es:(%rdi), %al
# CHECK-NEXT: 2 2 0.67 U scasw %es:(%rdi), %ax
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
index 37ccff2429f16..117025ab3d038 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
@@ -1036,60 +1036,60 @@ xorq (%rax), %rdi
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.67 adcb $0, %al
# CHECK-NEXT: 2 2 0.67 adcb $0, %dil
-# CHECK-NEXT: 6 9 1.00 * * adcb $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcb $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcb $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcb $0, (%rax)
# CHECK-NEXT: 2 2 0.67 adcb $7, %al
# CHECK-NEXT: 2 2 0.67 adcb $7, %dil
-# CHECK-NEXT: 6 9 1.00 * * adcb $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcb $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcb $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcb $7, (%rax)
# CHECK-NEXT: 2 2 0.67 adcb %sil, %dil
-# CHECK-NEXT: 6 9 1.00 * * adcb %sil, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcb %sil, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcb %sil, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcb %sil, (%rax)
# CHECK-NEXT: 3 7 0.67 * adcb (%rax), %dil
# CHECK-NEXT: 2 2 0.67 adcw $0, %ax
# CHECK-NEXT: 2 2 0.67 adcw $0, %di
-# CHECK-NEXT: 6 9 1.00 * * adcw $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcw $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcw $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcw $0, (%rax)
# CHECK-NEXT: 2 2 0.67 adcw $511, %ax
# CHECK-NEXT: 2 2 0.67 adcw $511, %di
-# CHECK-NEXT: 6 9 1.00 * * adcw $511, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcw $511, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcw $511, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcw $511, (%rax)
# CHECK-NEXT: 2 2 0.67 adcw $7, %di
-# CHECK-NEXT: 6 9 1.00 * * adcw $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcw $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcw $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcw $7, (%rax)
# CHECK-NEXT: 2 2 0.67 adcw %si, %di
-# CHECK-NEXT: 6 9 1.00 * * adcw %si, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcw %si, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcw %si, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcw %si, (%rax)
# CHECK-NEXT: 3 7 0.67 * adcw (%rax), %di
# CHECK-NEXT: 2 2 0.67 adcl $0, %eax
# CHECK-NEXT: 2 2 0.67 adcl $0, %edi
-# CHECK-NEXT: 6 9 1.00 * * adcl $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcl $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcl $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcl $0, (%rax)
# CHECK-NEXT: 2 2 0.67 adcl $665536, %eax
# CHECK-NEXT: 2 2 0.67 adcl $665536, %edi
-# CHECK-NEXT: 6 9 1.00 * * adcl $665536, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcl $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcl $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcl $665536, (%rax)
# CHECK-NEXT: 2 2 0.67 adcl $7, %edi
-# CHECK-NEXT: 6 9 1.00 * * adcl $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcl $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcl $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcl $7, (%rax)
# CHECK-NEXT: 2 2 0.67 adcl %esi, %edi
-# CHECK-NEXT: 6 9 1.00 * * adcl %esi, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcl %esi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcl %esi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcl %esi, (%rax)
# CHECK-NEXT: 3 7 0.67 * adcl (%rax), %edi
# CHECK-NEXT: 2 2 0.67 adcq $0, %rax
# CHECK-NEXT: 2 2 0.67 adcq $0, %rdi
-# CHECK-NEXT: 6 9 1.00 * * adcq $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcq $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcq $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcq $0, (%rax)
# CHECK-NEXT: 2 2 0.67 adcq $665536, %rax
# CHECK-NEXT: 2 2 0.67 adcq $665536, %rdi
-# CHECK-NEXT: 6 9 1.00 * * adcq $665536, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcq $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcq $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcq $665536, (%rax)
# CHECK-NEXT: 2 2 0.67 adcq $7, %rdi
-# CHECK-NEXT: 6 9 1.00 * * adcq $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcq $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcq $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcq $7, (%rax)
# CHECK-NEXT: 2 2 0.67 adcq %rsi, %rdi
-# CHECK-NEXT: 6 9 1.00 * * adcq %rsi, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcq %rsi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcq %rsi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcq %rsi, (%rax)
# CHECK-NEXT: 3 7 0.67 * adcq (%rax), %rdi
# CHECK-NEXT: 1 1 0.33 addb $7, %al
# CHECK-NEXT: 1 1 0.33 addb $7, %dil
@@ -1688,60 +1688,60 @@ xorq (%rax), %rdi
# CHECK-NEXT: 6 9 1.50 * * shrq %cl, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbb $0, %al
# CHECK-NEXT: 2 2 0.67 sbbb $0, %dil
-# CHECK-NEXT: 6 9 1.00 * * sbbb $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbb $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbb $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbb $0, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbb $7, %al
# CHECK-NEXT: 2 2 0.67 sbbb $7, %dil
-# CHECK-NEXT: 6 9 1.00 * * sbbb $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbb $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbb $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbb $7, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbb %sil, %dil
-# CHECK-NEXT: 6 9 1.00 * * sbbb %sil, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbb %sil, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbb %sil, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbb %sil, (%rax)
# CHECK-NEXT: 3 7 0.67 * sbbb (%rax), %dil
# CHECK-NEXT: 2 2 0.67 sbbw $0, %ax
# CHECK-NEXT: 2 2 0.67 sbbw $0, %di
-# CHECK-NEXT: 6 9 1.00 * * sbbw $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbw $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbw $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbw $0, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbw $511, %ax
# CHECK-NEXT: 2 2 0.67 sbbw $511, %di
-# CHECK-NEXT: 6 9 1.00 * * sbbw $511, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbw $511, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbw $511, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbw $511, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbw $7, %di
-# CHECK-NEXT: 6 9 1.00 * * sbbw $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbw $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbw $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbw $7, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbw %si, %di
-# CHECK-NEXT: 6 9 1.00 * * sbbw %si, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbw %si, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbw %si, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbw %si, (%rax)
# CHECK-NEXT: 3 7 0.67 * sbbw (%rax), %di
# CHECK-NEXT: 2 2 0.67 sbbl $0, %eax
# CHECK-NEXT: 2 2 0.67 sbbl $0, %edi
-# CHECK-NEXT: 6 9 1.00 * * sbbl $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbl $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbl $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbl $0, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbl $665536, %eax
# CHECK-NEXT: 2 2 0.67 sbbl $665536, %edi
-# CHECK-NEXT: 6 9 1.00 * * sbbl $665536, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbl $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbl $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbl $665536, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbl $7, %edi
-# CHECK-NEXT: 6 9 1.00 * * sbbl $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbl $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbl $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbl $7, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbl %esi, %edi
-# CHECK-NEXT: 6 9 1.00 * * sbbl %esi, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbl %esi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbl %esi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbl %esi, (%rax)
# CHECK-NEXT: 3 7 0.67 * sbbl (%rax), %edi
# CHECK-NEXT: 2 2 0.67 sbbq $0, %rax
# CHECK-NEXT: 2 2 0.67 sbbq $0, %rdi
-# CHECK-NEXT: 6 9 1.00 * * sbbq $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbq $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbq $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbq $0, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbq $665536, %rax
# CHECK-NEXT: 2 2 0.67 sbbq $665536, %rdi
-# CHECK-NEXT: 6 9 1.00 * * sbbq $665536, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbq $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbq $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbq $665536, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbq $7, %rdi
-# CHECK-NEXT: 6 9 1.00 * * sbbq $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbq $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbq $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbq $7, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbq %rsi, %rdi
-# CHECK-NEXT: 6 9 1.00 * * sbbq %rsi, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbq %rsi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbq %rsi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbq %rsi, (%rax)
# CHECK-NEXT: 3 7 0.67 * sbbq (%rax), %rdi
# CHECK-NEXT: 2 2 0.67 U scasb %es:(%rdi), %al
# CHECK-NEXT: 2 2 0.67 U scasw %es:(%rdi), %ax
diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
index c046cbdc1bf32..c1fad00fbdf09 100644
--- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
@@ -1036,60 +1036,60 @@ xorq (%rax), %rdi
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.67 adcb $0, %al
# CHECK-NEXT: 2 2 0.67 adcb $0, %dil
-# CHECK-NEXT: 6 9 1.00 * * adcb $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcb $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcb $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcb $0, (%rax)
# CHECK-NEXT: 2 2 0.67 adcb $7, %al
# CHECK-NEXT: 2 2 0.67 adcb $7, %dil
-# CHECK-NEXT: 6 9 1.00 * * adcb $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcb $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcb $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcb $7, (%rax)
# CHECK-NEXT: 2 2 0.67 adcb %sil, %dil
-# CHECK-NEXT: 6 9 1.00 * * adcb %sil, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcb %sil, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcb %sil, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcb %sil, (%rax)
# CHECK-NEXT: 3 7 0.67 * adcb (%rax), %dil
# CHECK-NEXT: 2 2 0.67 adcw $0, %ax
# CHECK-NEXT: 2 2 0.67 adcw $0, %di
-# CHECK-NEXT: 6 9 1.00 * * adcw $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcw $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcw $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcw $0, (%rax)
# CHECK-NEXT: 2 2 0.67 adcw $511, %ax
# CHECK-NEXT: 2 2 0.67 adcw $511, %di
-# CHECK-NEXT: 6 9 1.00 * * adcw $511, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcw $511, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcw $511, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcw $511, (%rax)
# CHECK-NEXT: 2 2 0.67 adcw $7, %di
-# CHECK-NEXT: 6 9 1.00 * * adcw $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcw $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcw $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcw $7, (%rax)
# CHECK-NEXT: 2 2 0.67 adcw %si, %di
-# CHECK-NEXT: 6 9 1.00 * * adcw %si, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcw %si, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcw %si, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcw %si, (%rax)
# CHECK-NEXT: 3 7 0.67 * adcw (%rax), %di
# CHECK-NEXT: 2 2 0.67 adcl $0, %eax
# CHECK-NEXT: 2 2 0.67 adcl $0, %edi
-# CHECK-NEXT: 6 9 1.00 * * adcl $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcl $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcl $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcl $0, (%rax)
# CHECK-NEXT: 2 2 0.67 adcl $665536, %eax
# CHECK-NEXT: 2 2 0.67 adcl $665536, %edi
-# CHECK-NEXT: 6 9 1.00 * * adcl $665536, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcl $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcl $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcl $665536, (%rax)
# CHECK-NEXT: 2 2 0.67 adcl $7, %edi
-# CHECK-NEXT: 6 9 1.00 * * adcl $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcl $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcl $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcl $7, (%rax)
# CHECK-NEXT: 2 2 0.67 adcl %esi, %edi
-# CHECK-NEXT: 6 9 1.00 * * adcl %esi, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcl %esi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcl %esi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcl %esi, (%rax)
# CHECK-NEXT: 3 7 0.67 * adcl (%rax), %edi
# CHECK-NEXT: 2 2 0.67 adcq $0, %rax
# CHECK-NEXT: 2 2 0.67 adcq $0, %rdi
-# CHECK-NEXT: 6 9 1.00 * * adcq $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcq $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcq $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcq $0, (%rax)
# CHECK-NEXT: 2 2 0.67 adcq $665536, %rax
# CHECK-NEXT: 2 2 0.67 adcq $665536, %rdi
-# CHECK-NEXT: 6 9 1.00 * * adcq $665536, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcq $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcq $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcq $665536, (%rax)
# CHECK-NEXT: 2 2 0.67 adcq $7, %rdi
-# CHECK-NEXT: 6 9 1.00 * * adcq $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcq $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcq $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcq $7, (%rax)
# CHECK-NEXT: 2 2 0.67 adcq %rsi, %rdi
-# CHECK-NEXT: 6 9 1.00 * * adcq %rsi, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock adcq %rsi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * adcq %rsi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock adcq %rsi, (%rax)
# CHECK-NEXT: 3 7 0.67 * adcq (%rax), %rdi
# CHECK-NEXT: 1 1 0.33 addb $7, %al
# CHECK-NEXT: 1 1 0.33 addb $7, %dil
@@ -1688,60 +1688,60 @@ xorq (%rax), %rdi
# CHECK-NEXT: 6 9 1.50 * * shrq %cl, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbb $0, %al
# CHECK-NEXT: 2 2 0.67 sbbb $0, %dil
-# CHECK-NEXT: 6 9 1.00 * * sbbb $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbb $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbb $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbb $0, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbb $7, %al
# CHECK-NEXT: 2 2 0.67 sbbb $7, %dil
-# CHECK-NEXT: 6 9 1.00 * * sbbb $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbb $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbb $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbb $7, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbb %sil, %dil
-# CHECK-NEXT: 6 9 1.00 * * sbbb %sil, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbb %sil, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbb %sil, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbb %sil, (%rax)
# CHECK-NEXT: 3 7 0.67 * sbbb (%rax), %dil
# CHECK-NEXT: 2 2 0.67 sbbw $0, %ax
# CHECK-NEXT: 2 2 0.67 sbbw $0, %di
-# CHECK-NEXT: 6 9 1.00 * * sbbw $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbw $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbw $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbw $0, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbw $511, %ax
# CHECK-NEXT: 2 2 0.67 sbbw $511, %di
-# CHECK-NEXT: 6 9 1.00 * * sbbw $511, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbw $511, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbw $511, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbw $511, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbw $7, %di
-# CHECK-NEXT: 6 9 1.00 * * sbbw $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbw $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbw $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbw $7, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbw %si, %di
-# CHECK-NEXT: 6 9 1.00 * * sbbw %si, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbw %si, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbw %si, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbw %si, (%rax)
# CHECK-NEXT: 3 7 0.67 * sbbw (%rax), %di
# CHECK-NEXT: 2 2 0.67 sbbl $0, %eax
# CHECK-NEXT: 2 2 0.67 sbbl $0, %edi
-# CHECK-NEXT: 6 9 1.00 * * sbbl $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbl $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbl $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbl $0, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbl $665536, %eax
# CHECK-NEXT: 2 2 0.67 sbbl $665536, %edi
-# CHECK-NEXT: 6 9 1.00 * * sbbl $665536, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbl $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbl $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbl $665536, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbl $7, %edi
-# CHECK-NEXT: 6 9 1.00 * * sbbl $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbl $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbl $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbl $7, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbl %esi, %edi
-# CHECK-NEXT: 6 9 1.00 * * sbbl %esi, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbl %esi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbl %esi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbl %esi, (%rax)
# CHECK-NEXT: 3 7 0.67 * sbbl (%rax), %edi
# CHECK-NEXT: 2 2 0.67 sbbq $0, %rax
# CHECK-NEXT: 2 2 0.67 sbbq $0, %rdi
-# CHECK-NEXT: 6 9 1.00 * * sbbq $0, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbq $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbq $0, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbq $0, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbq $665536, %rax
# CHECK-NEXT: 2 2 0.67 sbbq $665536, %rdi
-# CHECK-NEXT: 6 9 1.00 * * sbbq $665536, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbq $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbq $665536, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbq $665536, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbq $7, %rdi
-# CHECK-NEXT: 6 9 1.00 * * sbbq $7, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbq $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbq $7, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbq $7, (%rax)
# CHECK-NEXT: 2 2 0.67 sbbq %rsi, %rdi
-# CHECK-NEXT: 6 9 1.00 * * sbbq %rsi, (%rax)
-# CHECK-NEXT: 6 9 1.00 * * lock sbbq %rsi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * sbbq %rsi, (%rax)
+# CHECK-NEXT: 4 9 1.00 * * lock sbbq %rsi, (%rax)
# CHECK-NEXT: 3 7 0.67 * sbbq (%rax), %rdi
# CHECK-NEXT: 2 2 0.67 U scasb %es:(%rdi), %al
# CHECK-NEXT: 2 2 0.67 U scasw %es:(%rdi), %ax
More information about the llvm-commits
mailing list