[llvm] c637102 - [X86][SLM] RMW instructions don't require an extra uop

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Sat Sep 4 05:21:57 PDT 2021


Author: Simon Pilgrim
Date: 2021-09-04T13:21:34+01:00
New Revision: c6371020a801f1da327ec3dcdfa0818fbd6f657a

URL: https://github.com/llvm/llvm-project/commit/c6371020a801f1da327ec3dcdfa0818fbd6f657a
DIFF: https://github.com/llvm/llvm-project/commit/c6371020a801f1da327ec3dcdfa0818fbd6f657a.diff

LOG: [X86][SLM] RMW instructions don't require an extra uop

For RMW instructions, the load and store hold the MEC for an extra cycle, but within the same single uop. This is alluded to in the Intel AOM:

"The MEC also owns the MEC RSV, which is responsible for scheduling of all loads and stores. Load and
store instructions go through addresses generation phase in program order to avoid on-the-fly memory
ordering later in the pipeline. Therefore, an unknown address will stall younger memory instructions."

Noticed while trying to get a cheap SLM test box up and running with llvm-exegesis - RMW arithmetic is always 1uop - and matches what Agner / InstLatX64 report as well.

Added: 
    

Modified: 
    llvm/lib/Target/X86/X86ScheduleSLM.td
    llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/X86/X86ScheduleSLM.td b/llvm/lib/Target/X86/X86ScheduleSLM.td
index 252f51228f4f..a545f3cecb7c 100644
--- a/llvm/lib/Target/X86/X86ScheduleSLM.td
+++ b/llvm/lib/Target/X86/X86ScheduleSLM.td
@@ -79,9 +79,9 @@ multiclass SLMWriteResPair<X86FoldableSchedWrite SchedRW,
   }
 }
 
-// A folded store needs a cycle on MEC_RSV for the store data, but it does not
-// need an extra port cycle to recompute the address.
-def : WriteRes<WriteRMW, [SLM_MEC_RSV]>;
+// A folded store needs a cycle on MEC_RSV for the store data (using the same uop),
+// but it does not need an extra port cycle to recompute the address.
+def : WriteRes<WriteRMW, [SLM_MEC_RSV]> { let NumMicroOps = 0; }
 
 def : WriteRes<WriteStore,   [SLM_IEC_RSV01, SLM_MEC_RSV]>;
 def : WriteRes<WriteStoreNT, [SLM_IEC_RSV01, SLM_MEC_RSV]>;

diff  --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
index 8a8ff766bcb4..d9cdb2c91450 100644
--- a/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
@@ -1032,142 +1032,142 @@ xorq (%rax), %rdi
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # CHECK-NEXT:  1      1     0.50                        adcb	$0, %al
 # CHECK-NEXT:  1      1     0.50                        adcb	$0, %dil
-# CHECK-NEXT:  2      5     2.00    *      *            adcb	$0, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		adcb	$0, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            adcb	$0, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		adcb	$0, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        adcb	$7, %dil
-# CHECK-NEXT:  2      5     2.00    *      *            adcb	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		adcb	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            adcb	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		adcb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcb	%sil, %dil
-# CHECK-NEXT:  2      5     2.00    *      *            adcb	%sil, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		adcb	%sil, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            adcb	%sil, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		adcb	%sil, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   adcb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.50                        adcw	$0, %ax
 # CHECK-NEXT:  1      1     0.50                        adcw	$0, %di
-# CHECK-NEXT:  2      5     2.00    *      *            adcw	$0, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		adcw	$0, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            adcw	$0, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		adcw	$0, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcw	$511, %ax
 # CHECK-NEXT:  1      1     0.50                        adcw	$511, %di
-# CHECK-NEXT:  2      5     2.00    *      *            adcw	$511, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		adcw	$511, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            adcw	$511, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		adcw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcw	$7, %di
-# CHECK-NEXT:  2      5     2.00    *      *            adcw	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		adcw	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            adcw	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		adcw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcw	%si, %di
-# CHECK-NEXT:  2      5     2.00    *      *            adcw	%si, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		adcw	%si, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            adcw	%si, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		adcw	%si, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   adcw	(%rax), %di
 # CHECK-NEXT:  1      1     0.50                        adcl	$0, %eax
 # CHECK-NEXT:  1      1     0.50                        adcl	$0, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            adcl	$0, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		adcl	$0, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            adcl	$0, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		adcl	$0, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcl	$665536, %eax
 # CHECK-NEXT:  1      1     0.50                        adcl	$665536, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            adcl	$665536, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		adcl	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            adcl	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		adcl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcl	$7, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            adcl	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		adcl	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            adcl	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		adcl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcl	%esi, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            adcl	%esi, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		adcl	%esi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            adcl	%esi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		adcl	%esi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   adcl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.50                        adcq	$0, %rax
 # CHECK-NEXT:  1      1     0.50                        adcq	$0, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            adcq	$0, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		adcq	$0, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            adcq	$0, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		adcq	$0, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcq	$665536, %rax
 # CHECK-NEXT:  1      1     0.50                        adcq	$665536, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            adcq	$665536, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		adcq	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            adcq	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		adcq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcq	$7, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            adcq	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		adcq	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            adcq	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		adcq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcq	%rsi, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            adcq	%rsi, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		adcq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            adcq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		adcq	%rsi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   adcq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        addb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        addb	$7, %dil
-# CHECK-NEXT:  2      5     2.00    *      *            addb	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		addb	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            addb	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		addb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addb	%sil, %dil
-# CHECK-NEXT:  2      5     2.00    *      *            addb	%sil, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		addb	%sil, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            addb	%sil, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		addb	%sil, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   addb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.50                        addw	$511, %ax
 # CHECK-NEXT:  1      1     0.50                        addw	$511, %di
-# CHECK-NEXT:  2      5     2.00    *      *            addw	$511, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		addw	$511, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            addw	$511, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		addw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addw	$7, %di
-# CHECK-NEXT:  2      5     2.00    *      *            addw	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		addw	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            addw	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		addw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addw	%si, %di
-# CHECK-NEXT:  2      5     2.00    *      *            addw	%si, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		addw	%si, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            addw	%si, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		addw	%si, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   addw	(%rax), %di
 # CHECK-NEXT:  1      1     0.50                        addl	$665536, %eax
 # CHECK-NEXT:  1      1     0.50                        addl	$665536, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            addl	$665536, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		addl	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            addl	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		addl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addl	$7, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            addl	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		addl	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            addl	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		addl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addl	%esi, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            addl	%esi, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		addl	%esi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            addl	%esi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		addl	%esi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   addl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.50                        addq	$665536, %rax
 # CHECK-NEXT:  1      1     0.50                        addq	$665536, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            addq	$665536, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		addq	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            addq	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		addq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addq	$7, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            addq	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		addq	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            addq	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		addq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addq	%rsi, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            addq	%rsi, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		addq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            addq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		addq	%rsi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   addq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        andb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        andb	$7, %dil
-# CHECK-NEXT:  2      5     2.00    *      *            andb	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		andb	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            andb	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		andb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andb	%sil, %dil
-# CHECK-NEXT:  2      5     2.00    *      *            andb	%sil, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		andb	%sil, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            andb	%sil, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		andb	%sil, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   andb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.50                        andw	$511, %ax
 # CHECK-NEXT:  1      1     0.50                        andw	$511, %di
-# CHECK-NEXT:  2      5     2.00    *      *            andw	$511, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		andw	$511, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            andw	$511, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		andw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andw	$7, %di
-# CHECK-NEXT:  2      5     2.00    *      *            andw	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		andw	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            andw	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		andw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andw	%si, %di
-# CHECK-NEXT:  2      5     2.00    *      *            andw	%si, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		andw	%si, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            andw	%si, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		andw	%si, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   andw	(%rax), %di
 # CHECK-NEXT:  1      1     0.50                        andl	$665536, %eax
 # CHECK-NEXT:  1      1     0.50                        andl	$665536, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            andl	$665536, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		andl	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            andl	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		andl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andl	$7, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            andl	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		andl	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            andl	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		andl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andl	%esi, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            andl	%esi, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		andl	%esi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            andl	%esi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		andl	%esi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   andl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.50                        andq	$665536, %rax
 # CHECK-NEXT:  1      1     0.50                        andq	$665536, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            andq	$665536, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		andq	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            andq	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		andq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andq	$7, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            andq	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		andq	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            andq	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		andq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andq	%rsi, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            andq	%rsi, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		andq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            andq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		andq	%rsi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   andq	(%rax), %rdi
 # CHECK-NEXT:  10     10    10.00                       bsfw	%si, %di
 # CHECK-NEXT:  10     10    10.00                       bsrw	%si, %di
@@ -1188,67 +1188,67 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        btrw	%si, %di
 # CHECK-NEXT:  1      1     0.50                        btsw	%si, %di
 # CHECK-NEXT:  1      4     1.00    *                   btw	%si, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            btcw	%si, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            btrw	%si, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            btsw	%si, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		btcw	%si, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		btrw	%si, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		btsw	%si, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            btcw	%si, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            btrw	%si, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            btsw	%si, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		btcw	%si, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		btrw	%si, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		btsw	%si, (%rax)
 # CHECK-NEXT:  1      1     0.50                        btw	$7, %di
 # CHECK-NEXT:  1      1     0.50                        btcw	$7, %di
 # CHECK-NEXT:  1      1     0.50                        btrw	$7, %di
 # CHECK-NEXT:  1      1     0.50                        btsw	$7, %di
 # CHECK-NEXT:  1      4     1.00    *                   btw	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            btcw	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            btrw	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            btsw	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		btcw	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		btrw	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		btsw	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            btcw	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            btrw	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            btsw	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		btcw	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		btrw	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		btsw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        btl	%esi, %edi
 # CHECK-NEXT:  1      1     0.50                        btcl	%esi, %edi
 # CHECK-NEXT:  1      1     0.50                        btrl	%esi, %edi
 # CHECK-NEXT:  1      1     0.50                        btsl	%esi, %edi
 # CHECK-NEXT:  1      4     1.00    *                   btl	%esi, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            btcl	%esi, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            btrl	%esi, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            btsl	%esi, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		btcl	%esi, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		btrl	%esi, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		btsl	%esi, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            btcl	%esi, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            btrl	%esi, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            btsl	%esi, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		btcl	%esi, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		btrl	%esi, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		btsl	%esi, (%rax)
 # CHECK-NEXT:  1      1     0.50                        btl	$7, %edi
 # CHECK-NEXT:  1      1     0.50                        btcl	$7, %edi
 # CHECK-NEXT:  1      1     0.50                        btrl	$7, %edi
 # CHECK-NEXT:  1      1     0.50                        btsl	$7, %edi
 # CHECK-NEXT:  1      4     1.00    *                   btl	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            btcl	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            btrl	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            btsl	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		btcl	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		btrl	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		btsl	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            btcl	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            btrl	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            btsl	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		btcl	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		btrl	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		btsl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        btq	%rsi, %rdi
 # CHECK-NEXT:  1      1     0.50                        btcq	%rsi, %rdi
 # CHECK-NEXT:  1      1     0.50                        btrq	%rsi, %rdi
 # CHECK-NEXT:  1      1     0.50                        btsq	%rsi, %rdi
 # CHECK-NEXT:  1      4     1.00    *                   btq	%rsi, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            btcq	%rsi, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            btrq	%rsi, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            btsq	%rsi, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		btcq	%rsi, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		btrq	%rsi, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		btsq	%rsi, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            btcq	%rsi, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            btrq	%rsi, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            btsq	%rsi, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		btcq	%rsi, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		btrq	%rsi, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		btsq	%rsi, (%rax)
 # CHECK-NEXT:  1      1     0.50                        btq	$7, %rdi
 # CHECK-NEXT:  1      1     0.50                        btcq	$7, %rdi
 # CHECK-NEXT:  1      1     0.50                        btrq	$7, %rdi
 # CHECK-NEXT:  1      1     0.50                        btsq	$7, %rdi
 # CHECK-NEXT:  1      4     1.00    *                   btq	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            btcq	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            btrq	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            btsq	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		btcq	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		btrq	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		btsq	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            btcq	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            btrq	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            btsq	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		btcq	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		btrq	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		btsq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        cbtw
 # CHECK-NEXT:  1      1     0.50                        cwtl
 # CHECK-NEXT:  1      1     0.50                        cltq
@@ -1306,17 +1306,17 @@ xorq (%rax), %rdi
 # 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)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		decb	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            decb	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		decb	(%rax)
 # CHECK-NEXT:  1      1     0.50                        decw	%di
-# CHECK-NEXT:  2      5     2.00    *      *            decw	(%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		decw	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            decw	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		decw	(%rax)
 # CHECK-NEXT:  1      1     0.50                        decl	%edi
-# CHECK-NEXT:  2      5     2.00    *      *            decl	(%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		decl	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            decl	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		decl	(%rax)
 # CHECK-NEXT:  1      1     0.50                        decq	%rdi
-# CHECK-NEXT:  2      5     2.00    *      *            decq	(%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		decq	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            decq	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		decq	(%rax)
 # CHECK-NEXT:  1      25    25.00                 U     divb	%dil
 # CHECK-NEXT:  1      29    25.00   *             U     divb	(%rax)
 # CHECK-NEXT:  1      25    25.00                 U     divw	%si
@@ -1367,17 +1367,17 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   1.00                  U     inl	$7, %eax
 # CHECK-NEXT:  1      100   1.00                  U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.50                        incb	%dil
-# CHECK-NEXT:  2      5     2.00    *      *            incb	(%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		incb	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            incb	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		incb	(%rax)
 # CHECK-NEXT:  1      1     0.50                        incw	%di
-# CHECK-NEXT:  2      5     2.00    *      *            incw	(%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		incw	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            incw	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		incw	(%rax)
 # CHECK-NEXT:  1      1     0.50                        incl	%edi
-# CHECK-NEXT:  2      5     2.00    *      *            incl	(%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		incl	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            incl	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		incl	(%rax)
 # CHECK-NEXT:  1      1     0.50                        incq	%rdi
-# CHECK-NEXT:  2      5     2.00    *      *            incq	(%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		incq	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            incq	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		incq	(%rax)
 # CHECK-NEXT:  1      100   1.00                  U     insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  1      100   1.00                  U     insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  1      100   1.00                  U     insl	%dx, %es:(%rdi)
@@ -1425,17 +1425,17 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  3      7     7.00                        mulq	%rcx
 # CHECK-NEXT:  3      10    7.00    *                   mulq	(%rax)
 # CHECK-NEXT:  1      1     0.50                        negb	%dil
-# CHECK-NEXT:  2      5     2.00    *      *            negb	(%r8)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		negb	(%r8)
+# CHECK-NEXT:  1      5     2.00    *      *            negb	(%r8)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		negb	(%r8)
 # CHECK-NEXT:  1      1     0.50                        negw	%si
-# CHECK-NEXT:  2      5     2.00    *      *            negw	(%r9)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		negw	(%r9)
+# CHECK-NEXT:  1      5     2.00    *      *            negw	(%r9)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		negw	(%r9)
 # CHECK-NEXT:  1      1     0.50                        negl	%edx
-# CHECK-NEXT:  2      5     2.00    *      *            negl	(%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		negl	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            negl	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		negl	(%rax)
 # CHECK-NEXT:  1      1     0.50                        negq	%rcx
-# CHECK-NEXT:  2      5     2.00    *      *            negq	(%r10)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		negq	(%r10)
+# CHECK-NEXT:  1      5     2.00    *      *            negq	(%r10)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		negq	(%r10)
 # CHECK-NEXT:  1      1     0.50                        nop
 # CHECK-NEXT:  1      1     0.50                        nopw	%di
 # CHECK-NEXT:  1      1     0.50                        nopw	(%rcx)
@@ -1444,57 +1444,57 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        nopq	%rdx
 # CHECK-NEXT:  1      1     0.50                        nopq	(%r9)
 # CHECK-NEXT:  1      1     0.50                        notb	%dil
-# CHECK-NEXT:  2      5     2.00    *      *            notb	(%r8)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		notb	(%r8)
+# CHECK-NEXT:  1      5     2.00    *      *            notb	(%r8)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		notb	(%r8)
 # CHECK-NEXT:  1      1     0.50                        notw	%si
-# CHECK-NEXT:  2      5     2.00    *      *            notw	(%r9)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		notw	(%r9)
+# CHECK-NEXT:  1      5     2.00    *      *            notw	(%r9)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		notw	(%r9)
 # CHECK-NEXT:  1      1     0.50                        notl	%edx
-# CHECK-NEXT:  2      5     2.00    *      *            notl	(%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		notl	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            notl	(%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		notl	(%rax)
 # CHECK-NEXT:  1      1     0.50                        notq	%rcx
-# CHECK-NEXT:  2      5     2.00    *      *            notq	(%r10)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		notq	(%r10)
+# CHECK-NEXT:  1      5     2.00    *      *            notq	(%r10)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		notq	(%r10)
 # CHECK-NEXT:  1      1     0.50                        orb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        orb	$7, %dil
-# CHECK-NEXT:  2      5     2.00    *      *            orb	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		orb	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            orb	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		orb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orb	%sil, %dil
-# CHECK-NEXT:  2      5     2.00    *      *            orb	%sil, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		orb	%sil, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            orb	%sil, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		orb	%sil, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   orb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.50                        orw	$511, %ax
 # CHECK-NEXT:  1      1     0.50                        orw	$511, %di
-# CHECK-NEXT:  2      5     2.00    *      *            orw	$511, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		orw	$511, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            orw	$511, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		orw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orw	$7, %di
-# CHECK-NEXT:  2      5     2.00    *      *            orw	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		orw	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            orw	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		orw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orw	%si, %di
-# CHECK-NEXT:  2      5     2.00    *      *            orw	%si, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		orw	%si, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            orw	%si, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		orw	%si, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   orw	(%rax), %di
 # CHECK-NEXT:  1      1     0.50                        orl	$665536, %eax
 # CHECK-NEXT:  1      1     0.50                        orl	$665536, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            orl	$665536, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		orl	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            orl	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		orl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orl	$7, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            orl	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		orl	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            orl	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		orl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orl	%esi, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            orl	%esi, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		orl	%esi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            orl	%esi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		orl	%esi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   orl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.50                        orq	$665536, %rax
 # CHECK-NEXT:  1      1     0.50                        orq	$665536, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            orq	$665536, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		orq	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            orq	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		orq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orq	$7, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            orq	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		orq	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            orq	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		orq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orq	%rsi, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            orq	%rsi, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		orq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            orq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		orq	%rsi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   orq	(%rax), %rdi
 # CHECK-NEXT:  1      100   1.00                  U     outb	%al, $7
 # CHECK-NEXT:  1      100   1.00                  U     outb	%al, %dx
@@ -1508,233 +1508,233 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50    *      *      U     pause
 # CHECK-NEXT:  1      1     1.00                        rclb	%dil
 # CHECK-NEXT:  1      1     1.00                        rcrb	%dil
-# CHECK-NEXT:  2      4     2.00           *            rclb	(%rax)
-# CHECK-NEXT:  2      4     2.00           *            rcrb	(%rax)
+# CHECK-NEXT:  1      4     2.00           *            rclb	(%rax)
+# CHECK-NEXT:  1      4     2.00           *            rcrb	(%rax)
 # CHECK-NEXT:  1      1     1.00                        rclb	$7, %dil
 # CHECK-NEXT:  1      1     1.00                        rcrb	$7, %dil
-# CHECK-NEXT:  2      4     2.00           *            rclb	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00           *            rcrb	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00           *            rclb	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00           *            rcrb	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        rclb	%cl, %dil
 # CHECK-NEXT:  1      1     1.00                        rcrb	%cl, %dil
-# CHECK-NEXT:  2      4     2.00           *            rclb	%cl, (%rax)
-# CHECK-NEXT:  2      4     2.00           *            rcrb	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00           *            rclb	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00           *            rcrb	%cl, (%rax)
 # CHECK-NEXT:  1      1     1.00                        rclw	%di
 # CHECK-NEXT:  1      1     1.00                        rcrw	%di
-# CHECK-NEXT:  2      4     2.00           *            rclw	(%rax)
-# CHECK-NEXT:  2      4     2.00           *            rcrw	(%rax)
+# CHECK-NEXT:  1      4     2.00           *            rclw	(%rax)
+# CHECK-NEXT:  1      4     2.00           *            rcrw	(%rax)
 # CHECK-NEXT:  1      1     1.00                        rclw	$7, %di
 # CHECK-NEXT:  1      1     1.00                        rcrw	$7, %di
-# CHECK-NEXT:  2      4     2.00           *            rclw	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00           *            rcrw	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00           *            rclw	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00           *            rcrw	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        rclw	%cl, %di
 # CHECK-NEXT:  1      1     1.00                        rcrw	%cl, %di
-# CHECK-NEXT:  2      4     2.00           *            rclw	%cl, (%rax)
-# CHECK-NEXT:  2      4     2.00           *            rcrw	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00           *            rclw	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00           *            rcrw	%cl, (%rax)
 # CHECK-NEXT:  1      1     1.00                        rcll	%edi
 # CHECK-NEXT:  1      1     1.00                        rcrl	%edi
-# CHECK-NEXT:  2      4     2.00           *            rcll	(%rax)
-# CHECK-NEXT:  2      4     2.00           *            rcrl	(%rax)
+# CHECK-NEXT:  1      4     2.00           *            rcll	(%rax)
+# CHECK-NEXT:  1      4     2.00           *            rcrl	(%rax)
 # CHECK-NEXT:  1      1     1.00                        rcll	$7, %edi
 # CHECK-NEXT:  1      1     1.00                        rcrl	$7, %edi
-# CHECK-NEXT:  2      4     2.00           *            rcll	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00           *            rcrl	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00           *            rcll	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00           *            rcrl	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        rcll	%cl, %edi
 # CHECK-NEXT:  1      1     1.00                        rcrl	%cl, %edi
-# CHECK-NEXT:  2      4     2.00           *            rcll	%cl, (%rax)
-# CHECK-NEXT:  2      4     2.00           *            rcrl	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00           *            rcll	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00           *            rcrl	%cl, (%rax)
 # CHECK-NEXT:  1      1     1.00                        rclq	%rdi
 # CHECK-NEXT:  1      1     1.00                        rcrq	%rdi
-# CHECK-NEXT:  2      4     2.00           *            rclq	(%rax)
-# CHECK-NEXT:  2      4     2.00           *            rcrq	(%rax)
+# CHECK-NEXT:  1      4     2.00           *            rclq	(%rax)
+# CHECK-NEXT:  1      4     2.00           *            rcrq	(%rax)
 # CHECK-NEXT:  1      1     1.00                        rclq	$7, %rdi
 # CHECK-NEXT:  1      1     1.00                        rcrq	$7, %rdi
-# CHECK-NEXT:  2      4     2.00           *            rclq	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00           *            rcrq	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00           *            rclq	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00           *            rcrq	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        rclq	%cl, %rdi
 # CHECK-NEXT:  1      1     1.00                        rcrq	%cl, %rdi
-# CHECK-NEXT:  2      4     2.00           *            rclq	%cl, (%rax)
-# CHECK-NEXT:  2      4     2.00           *            rcrq	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00           *            rclq	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00           *            rcrq	%cl, (%rax)
 # CHECK-NEXT:  1      100   1.00                  U     rdmsr
 # CHECK-NEXT:  1      100   1.00                  U     rdpmc
 # CHECK-NEXT:  1      100   1.00                  U     rdtsc
 # CHECK-NEXT:  1      100   1.00                  U     rdtscp
 # CHECK-NEXT:  1      1     1.00                        rolb	%dil
 # CHECK-NEXT:  1      1     1.00                        rorb	%dil
-# CHECK-NEXT:  2      4     2.00    *      *            rolb	(%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            rorb	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rolb	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rorb	(%rax)
 # CHECK-NEXT:  1      1     1.00                        rolb	$7, %dil
 # CHECK-NEXT:  1      1     1.00                        rorb	$7, %dil
-# CHECK-NEXT:  2      4     2.00    *      *            rolb	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            rorb	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rolb	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rorb	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        rolb	%cl, %dil
 # CHECK-NEXT:  1      1     1.00                        rorb	%cl, %dil
-# CHECK-NEXT:  2      4     2.00    *      *            rolb	%cl, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            rorb	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rolb	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rorb	%cl, (%rax)
 # CHECK-NEXT:  1      1     1.00                        rolw	%di
 # CHECK-NEXT:  1      1     1.00                        rorw	%di
-# CHECK-NEXT:  2      4     2.00    *      *            rolw	(%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            rorw	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rolw	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rorw	(%rax)
 # CHECK-NEXT:  1      1     1.00                        rolw	$7, %di
 # CHECK-NEXT:  1      1     1.00                        rorw	$7, %di
-# CHECK-NEXT:  2      4     2.00    *      *            rolw	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            rorw	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rolw	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rorw	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        rolw	%cl, %di
 # CHECK-NEXT:  1      1     1.00                        rorw	%cl, %di
-# CHECK-NEXT:  2      4     2.00    *      *            rolw	%cl, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            rorw	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rolw	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rorw	%cl, (%rax)
 # CHECK-NEXT:  1      1     1.00                        roll	%edi
 # CHECK-NEXT:  1      1     1.00                        rorl	%edi
-# CHECK-NEXT:  2      4     2.00    *      *            roll	(%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            rorl	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            roll	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rorl	(%rax)
 # CHECK-NEXT:  1      1     1.00                        roll	$7, %edi
 # CHECK-NEXT:  1      1     1.00                        rorl	$7, %edi
-# CHECK-NEXT:  2      4     2.00    *      *            roll	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            rorl	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            roll	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rorl	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        roll	%cl, %edi
 # CHECK-NEXT:  1      1     1.00                        rorl	%cl, %edi
-# CHECK-NEXT:  2      4     2.00    *      *            roll	%cl, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            rorl	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            roll	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rorl	%cl, (%rax)
 # CHECK-NEXT:  1      1     1.00                        rolq	%rdi
 # CHECK-NEXT:  1      1     1.00                        rorq	%rdi
-# CHECK-NEXT:  2      4     2.00    *      *            rolq	(%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            rorq	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rolq	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rorq	(%rax)
 # CHECK-NEXT:  1      1     1.00                        rolq	$7, %rdi
 # CHECK-NEXT:  1      1     1.00                        rorq	$7, %rdi
-# CHECK-NEXT:  2      4     2.00    *      *            rolq	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            rorq	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rolq	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rorq	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        rolq	%cl, %rdi
 # CHECK-NEXT:  1      1     1.00                        rorq	%cl, %rdi
-# CHECK-NEXT:  2      4     2.00    *      *            rolq	%cl, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            rorq	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rolq	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            rorq	%cl, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sahf
 # CHECK-NEXT:  1      1     1.00                        sarb	%dil
 # CHECK-NEXT:  1      1     1.00                        shlb	%dil
 # CHECK-NEXT:  1      1     1.00                        shrb	%dil
-# CHECK-NEXT:  2      4     2.00    *      *            sarb	(%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shlb	(%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shrb	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            sarb	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shlb	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shrb	(%rax)
 # CHECK-NEXT:  1      1     1.00                        sarb	$7, %dil
 # CHECK-NEXT:  1      1     1.00                        shlb	$7, %dil
 # CHECK-NEXT:  1      1     1.00                        shrb	$7, %dil
-# CHECK-NEXT:  2      4     2.00    *      *            sarb	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shlb	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shrb	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            sarb	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shlb	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shrb	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sarb	%cl, %dil
 # CHECK-NEXT:  1      1     1.00                        shlb	%cl, %dil
 # CHECK-NEXT:  1      1     1.00                        shrb	%cl, %dil
-# CHECK-NEXT:  2      4     2.00    *      *            sarb	%cl, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shlb	%cl, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shrb	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            sarb	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shlb	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shrb	%cl, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sarw	%di
 # CHECK-NEXT:  1      1     1.00                        shlw	%di
 # CHECK-NEXT:  1      1     1.00                        shrw	%di
-# CHECK-NEXT:  2      4     2.00    *      *            sarw	(%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shlw	(%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shrw	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            sarw	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shlw	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shrw	(%rax)
 # CHECK-NEXT:  1      1     1.00                        sarw	$7, %di
 # CHECK-NEXT:  1      1     1.00                        shlw	$7, %di
 # CHECK-NEXT:  1      1     1.00                        shrw	$7, %di
-# CHECK-NEXT:  2      4     2.00    *      *            sarw	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shlw	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shrw	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            sarw	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shlw	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shrw	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sarw	%cl, %di
 # CHECK-NEXT:  1      1     1.00                        shlw	%cl, %di
 # CHECK-NEXT:  1      1     1.00                        shrw	%cl, %di
-# CHECK-NEXT:  2      4     2.00    *      *            sarw	%cl, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shlw	%cl, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shrw	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            sarw	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shlw	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shrw	%cl, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sarl	%edi
 # CHECK-NEXT:  1      1     1.00                        shll	%edi
 # CHECK-NEXT:  1      1     1.00                        shrl	%edi
-# CHECK-NEXT:  2      4     2.00    *      *            sarl	(%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shll	(%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shrl	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            sarl	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shll	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shrl	(%rax)
 # CHECK-NEXT:  1      1     1.00                        sarl	$7, %edi
 # CHECK-NEXT:  1      1     1.00                        shll	$7, %edi
 # CHECK-NEXT:  1      1     1.00                        shrl	$7, %edi
-# CHECK-NEXT:  2      4     2.00    *      *            sarl	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shll	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shrl	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            sarl	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shll	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shrl	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sarl	%cl, %edi
 # CHECK-NEXT:  1      1     1.00                        shll	%cl, %edi
 # CHECK-NEXT:  1      1     1.00                        shrl	%cl, %edi
-# CHECK-NEXT:  2      4     2.00    *      *            sarl	%cl, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shll	%cl, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shrl	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            sarl	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shll	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shrl	%cl, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sarq	%rdi
 # CHECK-NEXT:  1      1     1.00                        shlq	%rdi
 # CHECK-NEXT:  1      1     1.00                        shrq	%rdi
-# CHECK-NEXT:  2      4     2.00    *      *            sarq	(%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shlq	(%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shrq	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            sarq	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shlq	(%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shrq	(%rax)
 # CHECK-NEXT:  1      1     1.00                        sarq	$7, %rdi
 # CHECK-NEXT:  1      1     1.00                        shlq	$7, %rdi
 # CHECK-NEXT:  1      1     1.00                        shrq	$7, %rdi
-# CHECK-NEXT:  2      4     2.00    *      *            sarq	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shlq	$7, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shrq	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            sarq	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shlq	$7, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shrq	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sarq	%cl, %rdi
 # CHECK-NEXT:  1      1     1.00                        shlq	%cl, %rdi
 # CHECK-NEXT:  1      1     1.00                        shrq	%cl, %rdi
-# CHECK-NEXT:  2      4     2.00    *      *            sarq	%cl, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shlq	%cl, (%rax)
-# CHECK-NEXT:  2      4     2.00    *      *            shrq	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            sarq	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shlq	%cl, (%rax)
+# CHECK-NEXT:  1      4     2.00    *      *            shrq	%cl, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbb	$0, %al
 # CHECK-NEXT:  1      1     0.50                        sbbb	$0, %dil
-# CHECK-NEXT:  2      5     2.00    *      *            sbbb	$0, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		sbbb	$0, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            sbbb	$0, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		sbbb	$0, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        sbbb	$7, %dil
-# CHECK-NEXT:  2      5     2.00    *      *            sbbb	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		sbbb	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            sbbb	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		sbbb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbb	%sil, %dil
-# CHECK-NEXT:  2      5     2.00    *      *            sbbb	%sil, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		sbbb	%sil, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            sbbb	%sil, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		sbbb	%sil, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   sbbb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.50                        sbbw	$0, %ax
 # CHECK-NEXT:  1      1     0.50                        sbbw	$0, %di
-# CHECK-NEXT:  2      5     2.00    *      *            sbbw	$0, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		sbbw	$0, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            sbbw	$0, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		sbbw	$0, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbw	$511, %ax
 # CHECK-NEXT:  1      1     0.50                        sbbw	$511, %di
-# CHECK-NEXT:  2      5     2.00    *      *            sbbw	$511, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		sbbw	$511, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            sbbw	$511, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		sbbw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbw	$7, %di
-# CHECK-NEXT:  2      5     2.00    *      *            sbbw	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		sbbw	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            sbbw	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		sbbw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbw	%si, %di
-# CHECK-NEXT:  2      5     2.00    *      *            sbbw	%si, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		sbbw	%si, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            sbbw	%si, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		sbbw	%si, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   sbbw	(%rax), %di
 # CHECK-NEXT:  1      1     0.50                        sbbl	$0, %eax
 # CHECK-NEXT:  1      1     0.50                        sbbl	$0, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            sbbl	$0, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		sbbl	$0, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            sbbl	$0, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		sbbl	$0, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbl	$665536, %eax
 # CHECK-NEXT:  1      1     0.50                        sbbl	$665536, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            sbbl	$665536, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		sbbl	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            sbbl	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		sbbl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbl	$7, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            sbbl	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		sbbl	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            sbbl	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		sbbl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbl	%esi, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            sbbl	%esi, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		sbbl	%esi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            sbbl	%esi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		sbbl	%esi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   sbbl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.50                        sbbq	$0, %rax
 # CHECK-NEXT:  1      1     0.50                        sbbq	$0, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            sbbq	$0, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		sbbq	$0, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            sbbq	$0, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		sbbq	$0, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbq	$665536, %rax
 # CHECK-NEXT:  1      1     0.50                        sbbq	$665536, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            sbbq	$665536, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		sbbq	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            sbbq	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		sbbq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbq	$7, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            sbbq	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		sbbq	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            sbbq	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		sbbq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbq	%rsi, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            sbbq	%rsi, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		sbbq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            sbbq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		sbbq	%rsi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   sbbq	(%rax), %rdi
 # CHECK-NEXT:  1      100   1.00                  U     scasb	%es:(%rdi), %al
 # CHECK-NEXT:  1      100   1.00                  U     scasw	%es:(%rdi), %ax
@@ -1804,44 +1804,44 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   1.00                  U     stosq	%rax, %es:(%rdi)
 # CHECK-NEXT:  1      1     0.50                        subb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        subb	$7, %dil
-# CHECK-NEXT:  2      5     2.00    *      *            subb	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		subb	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            subb	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		subb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subb	%sil, %dil
-# CHECK-NEXT:  2      5     2.00    *      *            subb	%sil, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		subb	%sil, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            subb	%sil, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		subb	%sil, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   subb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.50                        subw	$511, %ax
 # CHECK-NEXT:  1      1     0.50                        subw	$511, %di
-# CHECK-NEXT:  2      5     2.00    *      *            subw	$511, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		subw	$511, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            subw	$511, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		subw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subw	$7, %di
-# CHECK-NEXT:  2      5     2.00    *      *            subw	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		subw	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            subw	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		subw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subw	%si, %di
-# CHECK-NEXT:  2      5     2.00    *      *            subw	%si, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		subw	%si, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            subw	%si, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		subw	%si, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   subw	(%rax), %di
 # CHECK-NEXT:  1      1     0.50                        subl	$665536, %eax
 # CHECK-NEXT:  1      1     0.50                        subl	$665536, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            subl	$665536, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		subl	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            subl	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		subl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subl	$7, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            subl	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		subl	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            subl	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		subl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subl	%esi, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            subl	%esi, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		subl	%esi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            subl	%esi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		subl	%esi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   subl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.50                        subq	$665536, %rax
 # CHECK-NEXT:  1      1     0.50                        subq	$665536, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            subq	$665536, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		subq	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            subq	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		subq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subq	$7, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            subq	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		subq	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            subq	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		subq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subq	%rsi, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            subq	%rsi, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		subq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            subq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		subq	%rsi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   subq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        testb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        testb	$7, %dil
@@ -1872,73 +1872,73 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   1.00    *             U     ud2
 # CHECK-NEXT:  1      100   1.00                  U     wrmsr
 # CHECK-NEXT:  1      1     0.50                        xaddb	%bl, %cl
-# CHECK-NEXT:  2      4     2.00    *      *            xaddb	%bl, (%rcx)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		xaddb	%bl, (%rcx)
+# CHECK-NEXT:  1      4     2.00    *      *            xaddb	%bl, (%rcx)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  1      1     0.50                        xaddw	%bx, %cx
-# CHECK-NEXT:  2      4     2.00    *      *            xaddw	%ax, (%rbx)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		xaddw	%ax, (%rbx)
+# CHECK-NEXT:  1      4     2.00    *      *            xaddw	%ax, (%rbx)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  1      1     0.50                        xaddl	%ebx, %ecx
-# CHECK-NEXT:  2      4     2.00    *      *            xaddl	%eax, (%rbx)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		xaddl	%eax, (%rbx)
+# CHECK-NEXT:  1      4     2.00    *      *            xaddl	%eax, (%rbx)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  1      1     0.50                        xaddq	%rbx, %rcx
-# CHECK-NEXT:  2      4     2.00    *      *            xaddq	%rax, (%rbx)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		xaddq	%rax, (%rbx)
+# CHECK-NEXT:  1      4     2.00    *      *            xaddq	%rax, (%rbx)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  1      1     0.50                        xchgb	%bl, %cl
-# CHECK-NEXT:  2      4     2.00    *      *            xchgb	%bl, (%rbx)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		xchgb	%bl, (%rbx)
+# CHECK-NEXT:  1      4     2.00    *      *            xchgb	%bl, (%rbx)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT:  1      1     0.50                        xchgw	%bx, %ax
 # CHECK-NEXT:  1      1     0.50                        xchgw	%bx, %cx
-# CHECK-NEXT:  2      4     2.00    *      *            xchgw	%ax, (%rbx)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		xchgw	%ax, (%rbx)
+# CHECK-NEXT:  1      4     2.00    *      *            xchgw	%ax, (%rbx)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT:  1      1     0.50                        xchgl	%ebx, %eax
 # CHECK-NEXT:  1      1     0.50                        xchgl	%ebx, %ecx
-# CHECK-NEXT:  2      4     2.00    *      *            xchgl	%eax, (%rbx)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		xchgl	%eax, (%rbx)
+# CHECK-NEXT:  1      4     2.00    *      *            xchgl	%eax, (%rbx)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT:  1      1     0.50                        xchgq	%rbx, %rax
 # CHECK-NEXT:  1      1     0.50                        xchgq	%rbx, %rcx
-# CHECK-NEXT:  2      4     2.00    *      *            xchgq	%rax, (%rbx)
-# CHECK-NEXT:  2      4     2.00    *      *            lock		xchgq	%rax, (%rbx)
+# CHECK-NEXT:  1      4     2.00    *      *            xchgq	%rax, (%rbx)
+# CHECK-NEXT:  1      4     2.00    *      *            lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT:  1      3     1.00    *                   xlatb
 # CHECK-NEXT:  1      1     0.50                        xorb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        xorb	$7, %dil
-# CHECK-NEXT:  2      5     2.00    *      *            xorb	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		xorb	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            xorb	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		xorb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorb	%sil, %dil
-# CHECK-NEXT:  2      5     2.00    *      *            xorb	%sil, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		xorb	%sil, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            xorb	%sil, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		xorb	%sil, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   xorb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.50                        xorw	$511, %ax
 # CHECK-NEXT:  1      1     0.50                        xorw	$511, %di
-# CHECK-NEXT:  2      5     2.00    *      *            xorw	$511, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		xorw	$511, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            xorw	$511, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		xorw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorw	$7, %di
-# CHECK-NEXT:  2      5     2.00    *      *            xorw	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		xorw	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            xorw	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		xorw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorw	%si, %di
-# CHECK-NEXT:  2      5     2.00    *      *            xorw	%si, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		xorw	%si, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            xorw	%si, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		xorw	%si, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   xorw	(%rax), %di
 # CHECK-NEXT:  1      1     0.50                        xorl	$665536, %eax
 # CHECK-NEXT:  1      1     0.50                        xorl	$665536, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            xorl	$665536, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		xorl	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            xorl	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorl	$7, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            xorl	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		xorl	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            xorl	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		xorl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorl	%esi, %edi
-# CHECK-NEXT:  2      5     2.00    *      *            xorl	%esi, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		xorl	%esi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            xorl	%esi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		xorl	%esi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   xorl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.50                        xorq	$665536, %rax
 # CHECK-NEXT:  1      1     0.50                        xorq	$665536, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            xorq	$665536, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		xorq	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            xorq	$665536, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorq	$7, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            xorq	$7, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		xorq	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            xorq	$7, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		xorq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorq	%rsi, %rdi
-# CHECK-NEXT:  2      5     2.00    *      *            xorq	%rsi, (%rax)
-# CHECK-NEXT:  2      5     2.00    *      *            lock		xorq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            xorq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     2.00    *      *            lock		xorq	%rsi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   xorq	(%rax), %rdi
 
 # CHECK:      Resources:


        


More information about the llvm-commits mailing list