[llvm] r369367 - [MCA][X86] Add tests for LOCK variants of standard X86 arithmetic ops

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 20 04:13:20 PDT 2019


Author: rksimon
Date: Tue Aug 20 04:13:20 2019
New Revision: 369367

URL: http://llvm.org/viewvc/llvm-project?rev=369367&view=rev
Log:
[MCA][X86] Add tests for LOCK variants of standard X86 arithmetic ops

D66424 adds the base support for LOCK so we should be able to add special case support for all these cases in future patches

Modified:
    llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
    llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s
    llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-x86_64.s
    llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
    llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
    llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
    llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
    llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
    llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
    llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
    llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
    llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s

Modified: llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s?rev=369367&r1=369366&r2=369367&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s Tue Aug 20 04:13:20 2019
@@ -4,115 +4,152 @@
 adcb $0, %al
 adcb $0, %dil
 adcb $0, (%rax)
+lock adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
+lock adcb $7, (%rax)
 adcb %sil, %dil
 adcb %sil, (%rax)
+lock adcb %sil, (%rax)
 adcb (%rax), %dil
 
 adcw $0, %ax
 adcw $0, %di
 adcw $0, (%rax)
+lock adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
+lock adcw $511, (%rax)
 adcw $7, %di
 adcw $7, (%rax)
+lock adcw $7, (%rax)
 adcw %si, %di
 adcw %si, (%rax)
+lock adcw %si, (%rax)
 adcw (%rax), %di
 
 adcl $0, %eax
 adcl $0, %edi
 adcl $0, (%rax)
+lock adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
+lock adcl $665536, (%rax)
 adcl $7, %edi
 adcl $7, (%rax)
+lock adcl $7, (%rax)
 adcl %esi, %edi
 adcl %esi, (%rax)
+lock adcl %esi, (%rax)
 adcl (%rax), %edi
 
 adcq $0, %rax
 adcq $0, %rdi
 adcq $0, (%rax)
+lock adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
+lock adcq $665536, (%rax)
 adcq $7, %rdi
 adcq $7, (%rax)
+lock adcq $7, (%rax)
 adcq %rsi, %rdi
 adcq %rsi, (%rax)
+lock adcq %rsi, (%rax)
 adcq (%rax), %rdi
 
 addb $7, %al
 addb $7, %dil
 addb $7, (%rax)
+lock addb $7, (%rax)
 addb %sil, %dil
 addb %sil, (%rax)
+lock addb %sil, (%rax)
 addb (%rax), %dil
 
 addw $511, %ax
 addw $511, %di
 addw $511, (%rax)
+lock addw $511, (%rax)
 addw $7, %di
 addw $7, (%rax)
+lock addw $7, (%rax)
 addw %si, %di
 addw %si, (%rax)
+lock addw %si, (%rax)
 addw (%rax), %di
 
 addl $665536, %eax
 addl $665536, %edi
 addl $665536, (%rax)
+lock addl $665536, (%rax)
 addl $7, %edi
 addl $7, (%rax)
+lock addl $7, (%rax)
 addl %esi, %edi
 addl %esi, (%rax)
+lock addl %esi, (%rax)
 addl (%rax), %edi
 
 addq $665536, %rax
 addq $665536, %rdi
 addq $665536, (%rax)
+lock addq $665536, (%rax)
 addq $7, %rdi
 addq $7, (%rax)
+lock addq $7, (%rax)
 addq %rsi, %rdi
 addq %rsi, (%rax)
+lock addq %rsi, (%rax)
 addq (%rax), %rdi
 
 andb $7, %al
 andb $7, %dil
 andb $7, (%rax)
+lock andb $7, (%rax)
 andb %sil, %dil
 andb %sil, (%rax)
+lock andb %sil, (%rax)
 andb (%rax), %dil
 
 andw $511, %ax
 andw $511, %di
 andw $511, (%rax)
+lock andw $511, (%rax)
 andw $7, %di
 andw $7, (%rax)
+lock andw $7, (%rax)
 andw %si, %di
 andw %si, (%rax)
+lock andw %si, (%rax)
 andw (%rax), %di
 
 andl $665536, %eax
 andl $665536, %edi
 andl $665536, (%rax)
+lock andl $665536, (%rax)
 andl $7, %edi
 andl $7, (%rax)
+lock andl $7, (%rax)
 andl %esi, %edi
 andl %esi, (%rax)
+lock andl %esi, (%rax)
 andl (%rax), %edi
 
 andq $665536, %rax
 andq $665536, %rdi
 andq $665536, (%rax)
+lock andq $665536, (%rax)
 andq $7, %rdi
 andq $7, (%rax)
+lock andq $7, (%rax)
 andq %rsi, %rdi
 andq %rsi, (%rax)
+lock andq %rsi, (%rax)
 andq (%rax), %rdi
 
 bsfw %si, %di
@@ -141,6 +178,9 @@ btw  %si, (%rax)
 btcw %si, (%rax)
 btrw %si, (%rax)
 btsw %si, (%rax)
+lock btcw %si, (%rax)
+lock btrw %si, (%rax)
+lock btsw %si, (%rax)
 btw  $7, %di
 btcw $7, %di
 btrw $7, %di
@@ -149,6 +189,9 @@ btw  $7, (%rax)
 btcw $7, (%rax)
 btrw $7, (%rax)
 btsw $7, (%rax)
+lock btcw $7, (%rax)
+lock btrw $7, (%rax)
+lock btsw $7, (%rax)
 
 btl  %esi, %edi
 btcl %esi, %edi
@@ -158,6 +201,9 @@ btl  %esi, (%rax)
 btcl %esi, (%rax)
 btrl %esi, (%rax)
 btsl %esi, (%rax)
+lock btcl %esi, (%rax)
+lock btrl %esi, (%rax)
+lock btsl %esi, (%rax)
 btl  $7, %edi
 btcl $7, %edi
 btrl $7, %edi
@@ -166,6 +212,9 @@ btl  $7, (%rax)
 btcl $7, (%rax)
 btrl $7, (%rax)
 btsl $7, (%rax)
+lock btcl $7, (%rax)
+lock btrl $7, (%rax)
+lock btsl $7, (%rax)
 
 btq  %rsi, %rdi
 btcq %rsi, %rdi
@@ -175,6 +224,9 @@ btq  %rsi, (%rax)
 btcq %rsi, (%rax)
 btrq %rsi, (%rax)
 btsq %rsi, (%rax)
+lock btcq %rsi, (%rax)
+lock btrq %rsi, (%rax)
+lock btsq %rsi, (%rax)
 btq  $7, %rdi
 btcq $7, %rdi
 btrq $7, %rdi
@@ -183,6 +235,9 @@ btq  $7, (%rax)
 btcq $7, (%rax)
 btrq $7, (%rax)
 btsq $7, (%rax)
+lock btcq $7, (%rax)
+lock btrq $7, (%rax)
+lock btsq $7, (%rax)
 
 cbw
 cwde
@@ -236,30 +291,34 @@ cmpsq
 
 cmpxchgb %cl, %bl
 cmpxchgb %cl, (%rbx)
-lock cmpxchgb  %cl, (%rbx)
+lock cmpxchgb %cl, (%rbx)
 
 cmpxchgw %cx, %bx
 cmpxchgw %cx, (%rbx)
-lock cmpxchgw  %cx, (%rbx)
+lock cmpxchgw %cx, (%rbx)
 
 cmpxchgl %ecx, %ebx
 cmpxchgl %ecx, (%rbx)
-lock cmpxchgl  %ecx, (%rbx)
+lock cmpxchgl %ecx, (%rbx)
 
 cmpxchgq %rcx, %rbx
 cmpxchgq %rcx, (%rbx)
-lock cmpxchgq  %rcx, (%rbx)
+lock cmpxchgq %rcx, (%rbx)
 
 cpuid
 
 decb %dil
 decb (%rax)
+lock decb (%rax)
 decw %di
 decw (%rax)
+lock decw (%rax)
 decl %edi
 decl (%rax)
+lock decl (%rax)
 decq %rdi
 decq (%rax)
+lock decq (%rax)
 
 divb %dil
 divb (%rax)
@@ -320,12 +379,16 @@ inl %dx, %eax
 
 incb %dil
 incb (%rax)
+lock incb (%rax)
 incw %di
 incw (%rax)
+lock incw (%rax)
 incl %edi
 incl (%rax)
+lock incl (%rax)
 incq %rdi
 incq (%rax)
+lock incq (%rax)
 
 insb
 insw
@@ -386,12 +449,16 @@ mulq (%rax)
 
 negb %dil
 negb (%r8)
+lock negb (%r8)
 negw %si
 negw (%r9)
+lock negw (%r9)
 negl %edx
 negl (%rax)
+lock negl (%rax)
 negq %rcx
 negq (%r10)
+lock negq (%r10)
 
 nop
 nopw %di
@@ -403,45 +470,60 @@ nopq (%r9)
 
 notb %dil
 notb (%r8)
+lock notb (%r8)
 notw %si
 notw (%r9)
+lock notw (%r9)
 notl %edx
 notl (%rax)
+lock notl (%rax)
 notq %rcx
 notq (%r10)
+lock notq (%r10)
 
 orb $7, %al
 orb $7, %dil
 orb $7, (%rax)
+lock orb $7, (%rax)
 orb %sil, %dil
 orb %sil, (%rax)
+lock orb %sil, (%rax)
 orb (%rax), %dil
 
 orw $511, %ax
 orw $511, %di
 orw $511, (%rax)
+lock orw $511, (%rax)
 orw $7, %di
 orw $7, (%rax)
+lock orw $7, (%rax)
 orw %si, %di
 orw %si, (%rax)
+lock orw %si, (%rax)
 orw (%rax), %di
 
 orl $665536, %eax
 orl $665536, %edi
 orl $665536, (%rax)
+lock orl $665536, (%rax)
 orl $7, %edi
 orl $7, (%rax)
+lock orl $7, (%rax)
 orl %esi, %edi
 orl %esi, (%rax)
+lock orl %esi, (%rax)
 orl (%rax), %edi
 
 orq $665536, %rax
 orq $665536, %rdi
 orq $665536, (%rax)
+lock orq $665536, (%rax)
 orq $7, %rdi
 orq $7, (%rax)
+lock orq $7, (%rax)
 orq %rsi, %rdi
 orq %rsi, (%rax)
+lock orq %rsi, (%rax)
 orq (%rax), %rdi
 
 outb %al,  $7
@@ -647,47 +729,62 @@ shrq %cl, (%rax)
 sbbb $0, %al
 sbbb $0, %dil
 sbbb $0, (%rax)
+lock sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
+lock sbbb $7, (%rax)
 sbbb %sil, %dil
 sbbb %sil, (%rax)
+lock sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
 sbbw $0, %ax
 sbbw $0, %di
 sbbw $0, (%rax)
+lock sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
+lock sbbw $511, (%rax)
 sbbw $7, %di
 sbbw $7, (%rax)
+lock sbbw $7, (%rax)
 sbbw %si, %di
 sbbw %si, (%rax)
+lock sbbw %si, (%rax)
 sbbw (%rax), %di
 
 sbbl $0, %eax
 sbbl $0, %edi
 sbbl $0, (%rax)
+lock sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
+lock sbbl $665536, (%rax)
 sbbl $7, %edi
 sbbl $7, (%rax)
+lock sbbl $7, (%rax)
 sbbl %esi, %edi
 sbbl %esi, (%rax)
+lock sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
 sbbq $0, %rax
 sbbq $0, %rdi
 sbbq $0, (%rax)
+lock sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
+lock sbbq $665536, (%rax)
 sbbq $7, %rdi
 sbbq $7, (%rax)
+lock sbbq $7, (%rax)
 sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
+lock sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
 scasb
@@ -766,35 +863,46 @@ stosq
 subb $7, %al
 subb $7, %dil
 subb $7, (%rax)
+lock subb $7, (%rax)
 subb %sil, %dil
 subb %sil, (%rax)
+lock subb %sil, (%rax)
 subb (%rax), %dil
 
 subw $511, %ax
 subw $511, %di
 subw $511, (%rax)
+lock subw $511, (%rax)
 subw $7, %di
 subw $7, (%rax)
+lock subw $7, (%rax)
 subw %si, %di
 subw %si, (%rax)
+lock subw %si, (%rax)
 subw (%rax), %di
 
 subl $665536, %eax
 subl $665536, %edi
 subl $665536, (%rax)
+lock subl $665536, (%rax)
 subl $7, %edi
 subl $7, (%rax)
+lock subl $7, (%rax)
 subl %esi, %edi
 subl %esi, (%rax)
+lock subl %esi, (%rax)
 subl (%rax), %edi
 
 subq $665536, %rax
 subq $665536, %rdi
 subq $665536, (%rax)
+lock subq $665536, (%rax)
 subq $7, %rdi
 subq $7, (%rax)
+lock subq $7, (%rax)
 subq %rsi, %rdi
 subq %rsi, (%rax)
+lock subq %rsi, (%rax)
 subq (%rax), %rdi
 
 testb $7, %al
@@ -833,65 +941,84 @@ wrmsr
 
 xaddb %bl, %cl
 xaddb %bl, (%rcx)
+lock xaddb %bl, (%rcx)
 
 xaddw %bx, %cx
 xaddw %ax, (%rbx)
+lock xaddw %ax, (%rbx)
 
 xaddl %ebx, %ecx
 xaddl %eax, (%rbx)
+lock xaddl %eax, (%rbx)
 
 xaddq %rbx, %rcx
 xaddq %rax, (%rbx)
+lock xaddq %rax, (%rbx)
 
 xchgb %bl, %cl
 xchgb %bl, (%rbx)
+lock xchgb %bl, (%rbx)
 
 xchgw %ax, %bx
 xchgw %bx, %cx
 xchgw %ax, (%rbx)
+lock xchgw %ax, (%rbx)
 
 xchgl %eax, %ebx
 xchgl %ebx, %ecx
 xchgl %eax, (%rbx)
+lock xchgl %eax, (%rbx)
 
 xchgq %rax, %rbx
 xchgq %rbx, %rcx
 xchgq %rax, (%rbx)
+lock xchgq %rax, (%rbx)
 
 xlatb
 
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
+lock xorb $7, (%rax)
 xorb %sil, %dil
 xorb %sil, (%rax)
+lock xorb %sil, (%rax)
 xorb (%rax), %dil
 
 xorw $511, %ax
 xorw $511, %di
 xorw $511, (%rax)
+lock xorw $511, (%rax)
 xorw $7, %di
 xorw $7, (%rax)
+lock xorw $7, (%rax)
 xorw %si, %di
 xorw %si, (%rax)
+lock xorw %si, (%rax)
 xorw (%rax), %di
 
 xorl $665536, %eax
 xorl $665536, %edi
 xorl $665536, (%rax)
+lock xorl $665536, (%rax)
 xorl $7, %edi
 xorl $7, (%rax)
+lock xorl $7, (%rax)
 xorl %esi, %edi
 xorl %esi, (%rax)
+lock xorl %esi, (%rax)
 xorl (%rax), %edi
 
 xorq $665536, %rax
 xorq $665536, %rdi
 xorq $665536, (%rax)
+lock xorq $665536, (%rax)
 xorq $7, %rdi
 xorq $7, (%rax)
+lock xorq $7, (%rax)
 xorq %rsi, %rdi
 xorq %rsi, (%rax)
+lock xorq %rsi, (%rax)
 xorq (%rax), %rdi
 
 # CHECK:      Instruction Info:
@@ -906,104 +1033,141 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        adcb	$0, %al
 # CHECK-NEXT:  1      1     0.50                        adcb	$0, %dil
 # CHECK-NEXT:  1      1     1.00    *      *            adcb	$0, (%rax)
+# CHECK-NEXT:  1      1     1.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:  1      1     1.00    *      *            adcb	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		adcb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcb	%sil, %dil
 # CHECK-NEXT:  1      1     1.00    *      *            adcb	%sil, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		adcb	%sil, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            adcw	$0, (%rax)
+# CHECK-NEXT:  1      1     1.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:  1      1     1.00    *      *            adcw	$511, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		adcw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcw	$7, %di
 # CHECK-NEXT:  1      1     1.00    *      *            adcw	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		adcw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcw	%si, %di
 # CHECK-NEXT:  1      1     1.00    *      *            adcw	%si, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		adcw	%si, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            adcl	$0, (%rax)
+# CHECK-NEXT:  1      1     1.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:  1      1     1.00    *      *            adcl	$665536, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		adcl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcl	$7, %edi
 # CHECK-NEXT:  1      1     1.00    *      *            adcl	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		adcl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcl	%esi, %edi
 # CHECK-NEXT:  1      1     1.00    *      *            adcl	%esi, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		adcl	%esi, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            adcq	$0, (%rax)
+# CHECK-NEXT:  1      1     1.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:  1      1     1.00    *      *            adcq	$665536, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		adcq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcq	$7, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            adcq	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		adcq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcq	%rsi, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            adcq	%rsi, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		adcq	%rsi, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            addb	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		addb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addb	%sil, %dil
 # CHECK-NEXT:  1      1     1.00    *      *            addb	%sil, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		addb	%sil, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            addw	$511, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		addw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addw	$7, %di
 # CHECK-NEXT:  1      1     1.00    *      *            addw	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		addw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addw	%si, %di
 # CHECK-NEXT:  1      1     1.00    *      *            addw	%si, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		addw	%si, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            addl	$665536, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		addl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addl	$7, %edi
 # CHECK-NEXT:  1      1     1.00    *      *            addl	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		addl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addl	%esi, %edi
 # CHECK-NEXT:  1      1     1.00    *      *            addl	%esi, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		addl	%esi, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            addq	$665536, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		addq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addq	$7, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            addq	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		addq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addq	%rsi, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            addq	%rsi, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		addq	%rsi, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            andb	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		andb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andb	%sil, %dil
 # CHECK-NEXT:  1      1     1.00    *      *            andb	%sil, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		andb	%sil, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            andw	$511, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		andw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andw	$7, %di
 # CHECK-NEXT:  1      1     1.00    *      *            andw	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		andw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andw	%si, %di
 # CHECK-NEXT:  1      1     1.00    *      *            andw	%si, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		andw	%si, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            andl	$665536, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		andl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andl	$7, %edi
 # CHECK-NEXT:  1      1     1.00    *      *            andl	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		andl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andl	%esi, %edi
 # CHECK-NEXT:  1      1     1.00    *      *            andl	%esi, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		andl	%esi, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            andq	$665536, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		andq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andq	$7, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            andq	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		andq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andq	%rsi, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            andq	%rsi, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		andq	%rsi, (%rax)
 # CHECK-NEXT:  1      1     1.00    *                   andq	(%rax), %rdi
 # CHECK-NEXT:  1      16    8.00                        bsfw	%si, %di
 # CHECK-NEXT:  1      16    8.00                        bsrw	%si, %di
@@ -1027,6 +1191,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      11    5.50    *      *            btcw	%si, (%rax)
 # CHECK-NEXT:  1      11    5.50    *      *            btrw	%si, (%rax)
 # CHECK-NEXT:  1      11    5.50    *      *            btsw	%si, (%rax)
+# CHECK-NEXT:  1      11    5.50    *      *            lock		btcw	%si, (%rax)
+# CHECK-NEXT:  1      11    5.50    *      *            lock		btrw	%si, (%rax)
+# CHECK-NEXT:  1      11    5.50    *      *            lock		btsw	%si, (%rax)
 # CHECK-NEXT:  1      1     1.00                        btw	$7, %di
 # CHECK-NEXT:  1      1     1.00                        btcw	$7, %di
 # CHECK-NEXT:  1      1     1.00                        btrw	$7, %di
@@ -1035,6 +1202,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      2     1.00    *      *            btcw	$7, (%rax)
 # CHECK-NEXT:  1      2     1.00    *      *            btrw	$7, (%rax)
 # CHECK-NEXT:  1      2     1.00    *      *            btsw	$7, (%rax)
+# CHECK-NEXT:  1      2     1.00    *      *            lock		btcw	$7, (%rax)
+# CHECK-NEXT:  1      2     1.00    *      *            lock		btrw	$7, (%rax)
+# CHECK-NEXT:  1      2     1.00    *      *            lock		btsw	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        btl	%esi, %edi
 # CHECK-NEXT:  1      1     1.00                        btcl	%esi, %edi
 # CHECK-NEXT:  1      1     1.00                        btrl	%esi, %edi
@@ -1043,6 +1213,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      11    5.50    *      *            btcl	%esi, (%rax)
 # CHECK-NEXT:  1      11    5.50    *      *            btrl	%esi, (%rax)
 # CHECK-NEXT:  1      11    5.50    *      *            btsl	%esi, (%rax)
+# CHECK-NEXT:  1      11    5.50    *      *            lock		btcl	%esi, (%rax)
+# CHECK-NEXT:  1      11    5.50    *      *            lock		btrl	%esi, (%rax)
+# CHECK-NEXT:  1      11    5.50    *      *            lock		btsl	%esi, (%rax)
 # CHECK-NEXT:  1      1     1.00                        btl	$7, %edi
 # CHECK-NEXT:  1      1     1.00                        btcl	$7, %edi
 # CHECK-NEXT:  1      1     1.00                        btrl	$7, %edi
@@ -1051,6 +1224,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      2     1.00    *      *            btcl	$7, (%rax)
 # CHECK-NEXT:  1      2     1.00    *      *            btrl	$7, (%rax)
 # CHECK-NEXT:  1      2     1.00    *      *            btsl	$7, (%rax)
+# CHECK-NEXT:  1      2     1.00    *      *            lock		btcl	$7, (%rax)
+# CHECK-NEXT:  1      2     1.00    *      *            lock		btrl	$7, (%rax)
+# CHECK-NEXT:  1      2     1.00    *      *            lock		btsl	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        btq	%rsi, %rdi
 # CHECK-NEXT:  1      1     1.00                        btcq	%rsi, %rdi
 # CHECK-NEXT:  1      1     1.00                        btrq	%rsi, %rdi
@@ -1059,6 +1235,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      11    5.50    *      *            btcq	%rsi, (%rax)
 # CHECK-NEXT:  1      11    5.50    *      *            btrq	%rsi, (%rax)
 # CHECK-NEXT:  1      11    5.50    *      *            btsq	%rsi, (%rax)
+# CHECK-NEXT:  1      11    5.50    *      *            lock		btcq	%rsi, (%rax)
+# CHECK-NEXT:  1      11    5.50    *      *            lock		btrq	%rsi, (%rax)
+# CHECK-NEXT:  1      11    5.50    *      *            lock		btsq	%rsi, (%rax)
 # CHECK-NEXT:  1      1     1.00                        btq	$7, %rdi
 # CHECK-NEXT:  1      1     1.00                        btcq	$7, %rdi
 # CHECK-NEXT:  1      1     1.00                        btrq	$7, %rdi
@@ -1067,6 +1246,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      2     1.00    *      *            btcq	$7, (%rax)
 # CHECK-NEXT:  1      2     1.00    *      *            btrq	$7, (%rax)
 # CHECK-NEXT:  1      2     1.00    *      *            btsq	$7, (%rax)
+# CHECK-NEXT:  1      2     1.00    *      *            lock		btcq	$7, (%rax)
+# CHECK-NEXT:  1      2     1.00    *      *            lock		btrq	$7, (%rax)
+# CHECK-NEXT:  1      2     1.00    *      *            lock		btsq	$7, (%rax)
 # CHECK-NEXT:  1      4     2.00                        cbtw
 # CHECK-NEXT:  1      4     2.00                        cwtl
 # CHECK-NEXT:  1      4     2.00                        cltq
@@ -1125,12 +1307,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      121   60.50                 U     cpuid
 # CHECK-NEXT:  1      1     0.50                        decb	%dil
 # CHECK-NEXT:  1      1     1.00    *      *            decb	(%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		decb	(%rax)
 # CHECK-NEXT:  1      1     0.50                        decw	%di
 # CHECK-NEXT:  1      1     1.00    *      *            decw	(%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		decw	(%rax)
 # CHECK-NEXT:  1      1     0.50                        decl	%edi
 # CHECK-NEXT:  1      1     1.00    *      *            decl	(%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		decl	(%rax)
 # CHECK-NEXT:  1      1     0.50                        decq	%rdi
 # CHECK-NEXT:  1      1     1.00    *      *            decq	(%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		decq	(%rax)
 # CHECK-NEXT:  1      50    25.00                 U     divb	%dil
 # CHECK-NEXT:  1      68    34.00   *             U     divb	(%rax)
 # CHECK-NEXT:  1      50    25.00                 U     divw	%si
@@ -1182,12 +1368,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      94    47.00                 U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.50                        incb	%dil
 # CHECK-NEXT:  1      1     1.00    *      *            incb	(%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		incb	(%rax)
 # CHECK-NEXT:  1      1     0.50                        incw	%di
 # CHECK-NEXT:  1      1     1.00    *      *            incw	(%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		incw	(%rax)
 # CHECK-NEXT:  1      1     0.50                        incl	%edi
 # CHECK-NEXT:  1      1     1.00    *      *            incl	(%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		incl	(%rax)
 # CHECK-NEXT:  1      1     0.50                        incq	%rdi
 # CHECK-NEXT:  1      1     1.00    *      *            incq	(%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		incq	(%rax)
 # CHECK-NEXT:  1      59    29.50                 U     insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  1      59    29.50                 U     insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  1      59    29.50                 U     insl	%dx, %es:(%rdi)
@@ -1236,12 +1426,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      12    6.00    *                   mulq	(%rax)
 # CHECK-NEXT:  1      1     0.50                        negb	%dil
 # CHECK-NEXT:  1      1     1.00    *      *            negb	(%r8)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		negb	(%r8)
 # CHECK-NEXT:  1      1     0.50                        negw	%si
 # CHECK-NEXT:  1      1     1.00    *      *            negw	(%r9)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		negw	(%r9)
 # CHECK-NEXT:  1      1     0.50                        negl	%edx
 # CHECK-NEXT:  1      1     1.00    *      *            negl	(%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		negl	(%rax)
 # CHECK-NEXT:  1      1     0.50                        negq	%rcx
 # CHECK-NEXT:  1      1     1.00    *      *            negq	(%r10)
+# CHECK-NEXT:  1      1     1.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)
@@ -1251,41 +1445,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        nopq	(%r9)
 # CHECK-NEXT:  1      1     0.50                        notb	%dil
 # CHECK-NEXT:  1      1     1.00    *      *            notb	(%r8)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		notb	(%r8)
 # CHECK-NEXT:  1      1     0.50                        notw	%si
 # CHECK-NEXT:  1      1     1.00    *      *            notw	(%r9)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		notw	(%r9)
 # CHECK-NEXT:  1      1     0.50                        notl	%edx
 # CHECK-NEXT:  1      1     1.00    *      *            notl	(%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		notl	(%rax)
 # CHECK-NEXT:  1      1     0.50                        notq	%rcx
 # CHECK-NEXT:  1      1     1.00    *      *            notq	(%r10)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		notq	(%r10)
 # CHECK-NEXT:  1      1     0.50                        orb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        orb	$7, %dil
 # CHECK-NEXT:  1      1     1.00    *      *            orb	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		orb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orb	%sil, %dil
 # CHECK-NEXT:  1      1     1.00    *      *            orb	%sil, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		orb	%sil, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            orw	$511, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		orw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orw	$7, %di
 # CHECK-NEXT:  1      1     1.00    *      *            orw	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		orw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orw	%si, %di
 # CHECK-NEXT:  1      1     1.00    *      *            orw	%si, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		orw	%si, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            orl	$665536, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		orl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orl	$7, %edi
 # CHECK-NEXT:  1      1     1.00    *      *            orl	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		orl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orl	%esi, %edi
 # CHECK-NEXT:  1      1     1.00    *      *            orl	%esi, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		orl	%esi, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            orq	$665536, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		orq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orq	$7, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            orq	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		orq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orq	%rsi, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            orq	%rsi, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		orq	%rsi, (%rax)
 # CHECK-NEXT:  1      1     1.00    *                   orq	(%rax), %rdi
 # CHECK-NEXT:  1      72    36.00                 U     outb	%al, $7
 # CHECK-NEXT:  1      68    34.00                 U     outb	%al, %dx
@@ -1473,44 +1682,59 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        sbbb	$0, %al
 # CHECK-NEXT:  1      1     0.50                        sbbb	$0, %dil
 # CHECK-NEXT:  1      1     1.00    *      *            sbbb	$0, (%rax)
+# CHECK-NEXT:  1      1     1.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:  1      1     1.00    *      *            sbbb	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		sbbb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbb	%sil, %dil
 # CHECK-NEXT:  1      1     1.00    *      *            sbbb	%sil, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		sbbb	%sil, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            sbbw	$0, (%rax)
+# CHECK-NEXT:  1      1     1.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:  1      1     1.00    *      *            sbbw	$511, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		sbbw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbw	$7, %di
 # CHECK-NEXT:  1      1     1.00    *      *            sbbw	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		sbbw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbw	%si, %di
 # CHECK-NEXT:  1      1     1.00    *      *            sbbw	%si, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		sbbw	%si, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            sbbl	$0, (%rax)
+# CHECK-NEXT:  1      1     1.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:  1      1     1.00    *      *            sbbl	$665536, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		sbbl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbl	$7, %edi
 # CHECK-NEXT:  1      1     1.00    *      *            sbbl	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		sbbl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbl	%esi, %edi
 # CHECK-NEXT:  1      1     1.00    *      *            sbbl	%esi, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		sbbl	%esi, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            sbbq	$0, (%rax)
+# CHECK-NEXT:  1      1     1.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:  1      1     1.00    *      *            sbbq	$665536, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		sbbq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbq	$7, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            sbbq	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		sbbq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbq	%rsi, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            sbbq	%rsi, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		sbbq	%rsi, (%rax)
 # CHECK-NEXT:  1      1     1.00    *                   sbbq	(%rax), %rdi
 # CHECK-NEXT:  1      2     1.00                  U     scasb	%es:(%rdi), %al
 # CHECK-NEXT:  1      2     1.00                  U     scasw	%es:(%rdi), %ax
@@ -1581,32 +1805,43 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        subb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        subb	$7, %dil
 # CHECK-NEXT:  1      1     1.00    *      *            subb	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		subb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subb	%sil, %dil
 # CHECK-NEXT:  1      1     1.00    *      *            subb	%sil, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		subb	%sil, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            subw	$511, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		subw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subw	$7, %di
 # CHECK-NEXT:  1      1     1.00    *      *            subw	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		subw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subw	%si, %di
 # CHECK-NEXT:  1      1     1.00    *      *            subw	%si, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		subw	%si, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            subl	$665536, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		subl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subl	$7, %edi
 # CHECK-NEXT:  1      1     1.00    *      *            subl	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		subl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subl	%esi, %edi
 # CHECK-NEXT:  1      1     1.00    *      *            subl	%esi, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		subl	%esi, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            subq	$665536, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		subq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subq	$7, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            subq	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		subq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subq	%rsi, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            subq	%rsi, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		subq	%rsi, (%rax)
 # CHECK-NEXT:  1      1     1.00    *                   subq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        testb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        testb	$7, %dil
@@ -1638,53 +1873,72 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      202   101.00                U     wrmsr
 # CHECK-NEXT:  1      2     1.00                        xaddb	%bl, %cl
 # CHECK-NEXT:  1      3     1.50    *      *            xaddb	%bl, (%rcx)
+# CHECK-NEXT:  1      3     1.50    *      *            lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  1      2     1.00                        xaddw	%bx, %cx
 # CHECK-NEXT:  1      3     1.50    *      *            xaddw	%ax, (%rbx)
+# CHECK-NEXT:  1      3     1.50    *      *            lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  1      2     1.00                        xaddl	%ebx, %ecx
 # CHECK-NEXT:  1      3     1.50    *      *            xaddl	%eax, (%rbx)
+# CHECK-NEXT:  1      3     1.50    *      *            lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  1      2     1.00                        xaddq	%rbx, %rcx
 # CHECK-NEXT:  1      3     1.50    *      *            xaddq	%rax, (%rbx)
+# CHECK-NEXT:  1      3     1.50    *      *            lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  1      2     1.00                        xchgb	%bl, %cl
 # CHECK-NEXT:  1      3     1.50    *      *            xchgb	%bl, (%rbx)
+# CHECK-NEXT:  1      3     1.50    *      *            lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT:  1      2     1.00                        xchgw	%bx, %ax
 # CHECK-NEXT:  1      2     1.00                        xchgw	%bx, %cx
 # CHECK-NEXT:  1      3     1.50    *      *            xchgw	%ax, (%rbx)
+# CHECK-NEXT:  1      3     1.50    *      *            lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT:  1      2     1.00                        xchgl	%ebx, %eax
 # CHECK-NEXT:  1      2     1.00                        xchgl	%ebx, %ecx
 # CHECK-NEXT:  1      3     1.50    *      *            xchgl	%eax, (%rbx)
+# CHECK-NEXT:  1      3     1.50    *      *            lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT:  1      2     1.00                        xchgq	%rbx, %rax
 # CHECK-NEXT:  1      2     1.00                        xchgq	%rbx, %rcx
 # CHECK-NEXT:  1      3     1.50    *      *            xchgq	%rax, (%rbx)
+# CHECK-NEXT:  1      3     1.50    *      *            lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT:  1      6     3.00    *                   xlatb
 # CHECK-NEXT:  1      1     0.50                        xorb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        xorb	$7, %dil
 # CHECK-NEXT:  1      1     1.00    *      *            xorb	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		xorb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorb	%sil, %dil
 # CHECK-NEXT:  1      1     1.00    *      *            xorb	%sil, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		xorb	%sil, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            xorw	$511, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		xorw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorw	$7, %di
 # CHECK-NEXT:  1      1     1.00    *      *            xorw	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		xorw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorw	%si, %di
 # CHECK-NEXT:  1      1     1.00    *      *            xorw	%si, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		xorw	%si, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            xorl	$665536, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorl	$7, %edi
 # CHECK-NEXT:  1      1     1.00    *      *            xorl	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		xorl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorl	%esi, %edi
 # CHECK-NEXT:  1      1     1.00    *      *            xorl	%esi, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		xorl	%esi, (%rax)
 # CHECK-NEXT:  1      1     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:  1      1     1.00    *      *            xorq	$665536, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorq	$7, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            xorq	$7, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		xorq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorq	%rsi, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            xorq	%rsi, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *            lock		xorq	%rsi, (%rax)
 # CHECK-NEXT:  1      1     1.00    *                   xorq	(%rax), %rdi
 
 # CHECK:      Resources:
@@ -1693,111 +1947,148 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]
-# CHECK-NEXT: 2714.50 2362.50
+# CHECK-NEXT: 2886.00 2433.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    Instructions:
 # CHECK-NEXT: 0.50   0.50   adcb	$0, %al
 # CHECK-NEXT: 0.50   0.50   adcb	$0, %dil
 # CHECK-NEXT: 1.00    -     adcb	$0, (%rax)
+# CHECK-NEXT: 1.00    -     lock		adcb	$0, (%rax)
 # CHECK-NEXT: 0.50   0.50   adcb	$7, %al
 # CHECK-NEXT: 0.50   0.50   adcb	$7, %dil
 # CHECK-NEXT: 1.00    -     adcb	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		adcb	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   adcb	%sil, %dil
 # CHECK-NEXT: 1.00    -     adcb	%sil, (%rax)
+# CHECK-NEXT: 1.00    -     lock		adcb	%sil, (%rax)
 # CHECK-NEXT: 1.00    -     adcb	(%rax), %dil
 # CHECK-NEXT: 0.50   0.50   adcw	$0, %ax
 # CHECK-NEXT: 0.50   0.50   adcw	$0, %di
 # CHECK-NEXT: 1.00    -     adcw	$0, (%rax)
+# CHECK-NEXT: 1.00    -     lock		adcw	$0, (%rax)
 # CHECK-NEXT: 0.50   0.50   adcw	$511, %ax
 # CHECK-NEXT: 0.50   0.50   adcw	$511, %di
 # CHECK-NEXT: 1.00    -     adcw	$511, (%rax)
+# CHECK-NEXT: 1.00    -     lock		adcw	$511, (%rax)
 # CHECK-NEXT: 0.50   0.50   adcw	$7, %di
 # CHECK-NEXT: 1.00    -     adcw	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		adcw	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   adcw	%si, %di
 # CHECK-NEXT: 1.00    -     adcw	%si, (%rax)
+# CHECK-NEXT: 1.00    -     lock		adcw	%si, (%rax)
 # CHECK-NEXT: 1.00    -     adcw	(%rax), %di
 # CHECK-NEXT: 0.50   0.50   adcl	$0, %eax
 # CHECK-NEXT: 0.50   0.50   adcl	$0, %edi
 # CHECK-NEXT: 1.00    -     adcl	$0, (%rax)
+# CHECK-NEXT: 1.00    -     lock		adcl	$0, (%rax)
 # CHECK-NEXT: 0.50   0.50   adcl	$665536, %eax
 # CHECK-NEXT: 0.50   0.50   adcl	$665536, %edi
 # CHECK-NEXT: 1.00    -     adcl	$665536, (%rax)
+# CHECK-NEXT: 1.00    -     lock		adcl	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50   adcl	$7, %edi
 # CHECK-NEXT: 1.00    -     adcl	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		adcl	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   adcl	%esi, %edi
 # CHECK-NEXT: 1.00    -     adcl	%esi, (%rax)
+# CHECK-NEXT: 1.00    -     lock		adcl	%esi, (%rax)
 # CHECK-NEXT: 1.00    -     adcl	(%rax), %edi
 # CHECK-NEXT: 0.50   0.50   adcq	$0, %rax
 # CHECK-NEXT: 0.50   0.50   adcq	$0, %rdi
 # CHECK-NEXT: 1.00    -     adcq	$0, (%rax)
+# CHECK-NEXT: 1.00    -     lock		adcq	$0, (%rax)
 # CHECK-NEXT: 0.50   0.50   adcq	$665536, %rax
 # CHECK-NEXT: 0.50   0.50   adcq	$665536, %rdi
 # CHECK-NEXT: 1.00    -     adcq	$665536, (%rax)
+# CHECK-NEXT: 1.00    -     lock		adcq	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50   adcq	$7, %rdi
 # CHECK-NEXT: 1.00    -     adcq	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		adcq	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   adcq	%rsi, %rdi
 # CHECK-NEXT: 1.00    -     adcq	%rsi, (%rax)
+# CHECK-NEXT: 1.00    -     lock		adcq	%rsi, (%rax)
 # CHECK-NEXT: 1.00    -     adcq	(%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   addb	$7, %al
 # CHECK-NEXT: 0.50   0.50   addb	$7, %dil
 # CHECK-NEXT: 1.00    -     addb	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		addb	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   addb	%sil, %dil
 # CHECK-NEXT: 1.00    -     addb	%sil, (%rax)
+# CHECK-NEXT: 1.00    -     lock		addb	%sil, (%rax)
 # CHECK-NEXT: 1.00    -     addb	(%rax), %dil
 # CHECK-NEXT: 0.50   0.50   addw	$511, %ax
 # CHECK-NEXT: 0.50   0.50   addw	$511, %di
 # CHECK-NEXT: 1.00    -     addw	$511, (%rax)
+# CHECK-NEXT: 1.00    -     lock		addw	$511, (%rax)
 # CHECK-NEXT: 0.50   0.50   addw	$7, %di
 # CHECK-NEXT: 1.00    -     addw	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		addw	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   addw	%si, %di
 # CHECK-NEXT: 1.00    -     addw	%si, (%rax)
+# CHECK-NEXT: 1.00    -     lock		addw	%si, (%rax)
 # CHECK-NEXT: 1.00    -     addw	(%rax), %di
 # CHECK-NEXT: 0.50   0.50   addl	$665536, %eax
 # CHECK-NEXT: 0.50   0.50   addl	$665536, %edi
 # CHECK-NEXT: 1.00    -     addl	$665536, (%rax)
+# CHECK-NEXT: 1.00    -     lock		addl	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50   addl	$7, %edi
 # CHECK-NEXT: 1.00    -     addl	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		addl	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   addl	%esi, %edi
 # CHECK-NEXT: 1.00    -     addl	%esi, (%rax)
+# CHECK-NEXT: 1.00    -     lock		addl	%esi, (%rax)
 # CHECK-NEXT: 1.00    -     addl	(%rax), %edi
 # CHECK-NEXT: 0.50   0.50   addq	$665536, %rax
 # CHECK-NEXT: 0.50   0.50   addq	$665536, %rdi
 # CHECK-NEXT: 1.00    -     addq	$665536, (%rax)
+# CHECK-NEXT: 1.00    -     lock		addq	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50   addq	$7, %rdi
 # CHECK-NEXT: 1.00    -     addq	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		addq	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   addq	%rsi, %rdi
 # CHECK-NEXT: 1.00    -     addq	%rsi, (%rax)
+# CHECK-NEXT: 1.00    -     lock		addq	%rsi, (%rax)
 # CHECK-NEXT: 1.00    -     addq	(%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   andb	$7, %al
 # CHECK-NEXT: 0.50   0.50   andb	$7, %dil
 # CHECK-NEXT: 1.00    -     andb	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		andb	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   andb	%sil, %dil
 # CHECK-NEXT: 1.00    -     andb	%sil, (%rax)
+# CHECK-NEXT: 1.00    -     lock		andb	%sil, (%rax)
 # CHECK-NEXT: 1.00    -     andb	(%rax), %dil
 # CHECK-NEXT: 0.50   0.50   andw	$511, %ax
 # CHECK-NEXT: 0.50   0.50   andw	$511, %di
 # CHECK-NEXT: 1.00    -     andw	$511, (%rax)
+# CHECK-NEXT: 1.00    -     lock		andw	$511, (%rax)
 # CHECK-NEXT: 0.50   0.50   andw	$7, %di
 # CHECK-NEXT: 1.00    -     andw	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		andw	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   andw	%si, %di
 # CHECK-NEXT: 1.00    -     andw	%si, (%rax)
+# CHECK-NEXT: 1.00    -     lock		andw	%si, (%rax)
 # CHECK-NEXT: 1.00    -     andw	(%rax), %di
 # CHECK-NEXT: 0.50   0.50   andl	$665536, %eax
 # CHECK-NEXT: 0.50   0.50   andl	$665536, %edi
 # CHECK-NEXT: 1.00    -     andl	$665536, (%rax)
+# CHECK-NEXT: 1.00    -     lock		andl	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50   andl	$7, %edi
 # CHECK-NEXT: 1.00    -     andl	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		andl	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   andl	%esi, %edi
 # CHECK-NEXT: 1.00    -     andl	%esi, (%rax)
+# CHECK-NEXT: 1.00    -     lock		andl	%esi, (%rax)
 # CHECK-NEXT: 1.00    -     andl	(%rax), %edi
 # CHECK-NEXT: 0.50   0.50   andq	$665536, %rax
 # CHECK-NEXT: 0.50   0.50   andq	$665536, %rdi
 # CHECK-NEXT: 1.00    -     andq	$665536, (%rax)
+# CHECK-NEXT: 1.00    -     lock		andq	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50   andq	$7, %rdi
 # CHECK-NEXT: 1.00    -     andq	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		andq	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   andq	%rsi, %rdi
 # CHECK-NEXT: 1.00    -     andq	%rsi, (%rax)
+# CHECK-NEXT: 1.00    -     lock		andq	%rsi, (%rax)
 # CHECK-NEXT: 1.00    -     andq	(%rax), %rdi
 # CHECK-NEXT: 8.00   8.00   bsfw	%si, %di
 # CHECK-NEXT: 8.00   8.00   bsrw	%si, %di
@@ -1821,6 +2112,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 5.50   5.50   btcw	%si, (%rax)
 # CHECK-NEXT: 5.50   5.50   btrw	%si, (%rax)
 # CHECK-NEXT: 5.50   5.50   btsw	%si, (%rax)
+# CHECK-NEXT: 5.50   5.50   lock		btcw	%si, (%rax)
+# CHECK-NEXT: 5.50   5.50   lock		btrw	%si, (%rax)
+# CHECK-NEXT: 5.50   5.50   lock		btsw	%si, (%rax)
 # CHECK-NEXT:  -     1.00   btw	$7, %di
 # CHECK-NEXT:  -     1.00   btcw	$7, %di
 # CHECK-NEXT:  -     1.00   btrw	$7, %di
@@ -1829,6 +2123,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 1.00   1.00   btcw	$7, (%rax)
 # CHECK-NEXT: 1.00   1.00   btrw	$7, (%rax)
 # CHECK-NEXT: 1.00   1.00   btsw	$7, (%rax)
+# CHECK-NEXT: 1.00   1.00   lock		btcw	$7, (%rax)
+# CHECK-NEXT: 1.00   1.00   lock		btrw	$7, (%rax)
+# CHECK-NEXT: 1.00   1.00   lock		btsw	$7, (%rax)
 # CHECK-NEXT:  -     1.00   btl	%esi, %edi
 # CHECK-NEXT:  -     1.00   btcl	%esi, %edi
 # CHECK-NEXT:  -     1.00   btrl	%esi, %edi
@@ -1837,6 +2134,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 5.50   5.50   btcl	%esi, (%rax)
 # CHECK-NEXT: 5.50   5.50   btrl	%esi, (%rax)
 # CHECK-NEXT: 5.50   5.50   btsl	%esi, (%rax)
+# CHECK-NEXT: 5.50   5.50   lock		btcl	%esi, (%rax)
+# CHECK-NEXT: 5.50   5.50   lock		btrl	%esi, (%rax)
+# CHECK-NEXT: 5.50   5.50   lock		btsl	%esi, (%rax)
 # CHECK-NEXT:  -     1.00   btl	$7, %edi
 # CHECK-NEXT:  -     1.00   btcl	$7, %edi
 # CHECK-NEXT:  -     1.00   btrl	$7, %edi
@@ -1845,6 +2145,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 1.00   1.00   btcl	$7, (%rax)
 # CHECK-NEXT: 1.00   1.00   btrl	$7, (%rax)
 # CHECK-NEXT: 1.00   1.00   btsl	$7, (%rax)
+# CHECK-NEXT: 1.00   1.00   lock		btcl	$7, (%rax)
+# CHECK-NEXT: 1.00   1.00   lock		btrl	$7, (%rax)
+# CHECK-NEXT: 1.00   1.00   lock		btsl	$7, (%rax)
 # CHECK-NEXT:  -     1.00   btq	%rsi, %rdi
 # CHECK-NEXT:  -     1.00   btcq	%rsi, %rdi
 # CHECK-NEXT:  -     1.00   btrq	%rsi, %rdi
@@ -1853,6 +2156,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 5.50   5.50   btcq	%rsi, (%rax)
 # CHECK-NEXT: 5.50   5.50   btrq	%rsi, (%rax)
 # CHECK-NEXT: 5.50   5.50   btsq	%rsi, (%rax)
+# CHECK-NEXT: 5.50   5.50   lock		btcq	%rsi, (%rax)
+# CHECK-NEXT: 5.50   5.50   lock		btrq	%rsi, (%rax)
+# CHECK-NEXT: 5.50   5.50   lock		btsq	%rsi, (%rax)
 # CHECK-NEXT:  -     1.00   btq	$7, %rdi
 # CHECK-NEXT:  -     1.00   btcq	$7, %rdi
 # CHECK-NEXT:  -     1.00   btrq	$7, %rdi
@@ -1861,6 +2167,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 1.00   1.00   btcq	$7, (%rax)
 # CHECK-NEXT: 1.00   1.00   btrq	$7, (%rax)
 # CHECK-NEXT: 1.00   1.00   btsq	$7, (%rax)
+# CHECK-NEXT: 1.00   1.00   lock		btcq	$7, (%rax)
+# CHECK-NEXT: 1.00   1.00   lock		btrq	$7, (%rax)
+# CHECK-NEXT: 1.00   1.00   lock		btsq	$7, (%rax)
 # CHECK-NEXT: 2.00   2.00   cbtw
 # CHECK-NEXT: 2.00   2.00   cwtl
 # CHECK-NEXT: 2.00   2.00   cltq
@@ -1919,12 +2228,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 60.50  60.50  cpuid
 # CHECK-NEXT: 0.50   0.50   decb	%dil
 # CHECK-NEXT: 1.00    -     decb	(%rax)
+# CHECK-NEXT: 1.00    -     lock		decb	(%rax)
 # CHECK-NEXT: 0.50   0.50   decw	%di
 # CHECK-NEXT: 1.00    -     decw	(%rax)
+# CHECK-NEXT: 1.00    -     lock		decw	(%rax)
 # CHECK-NEXT: 0.50   0.50   decl	%edi
 # CHECK-NEXT: 1.00    -     decl	(%rax)
+# CHECK-NEXT: 1.00    -     lock		decl	(%rax)
 # CHECK-NEXT: 0.50   0.50   decq	%rdi
 # CHECK-NEXT: 1.00    -     decq	(%rax)
+# CHECK-NEXT: 1.00    -     lock		decq	(%rax)
 # CHECK-NEXT: 25.00  25.00  divb	%dil
 # CHECK-NEXT: 34.00  34.00  divb	(%rax)
 # CHECK-NEXT: 25.00  25.00  divw	%si
@@ -1976,12 +2289,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 47.00  47.00  inl	%dx, %eax
 # CHECK-NEXT: 0.50   0.50   incb	%dil
 # CHECK-NEXT: 1.00    -     incb	(%rax)
+# CHECK-NEXT: 1.00    -     lock		incb	(%rax)
 # CHECK-NEXT: 0.50   0.50   incw	%di
 # CHECK-NEXT: 1.00    -     incw	(%rax)
+# CHECK-NEXT: 1.00    -     lock		incw	(%rax)
 # CHECK-NEXT: 0.50   0.50   incl	%edi
 # CHECK-NEXT: 1.00    -     incl	(%rax)
+# CHECK-NEXT: 1.00    -     lock		incl	(%rax)
 # CHECK-NEXT: 0.50   0.50   incq	%rdi
 # CHECK-NEXT: 1.00    -     incq	(%rax)
+# CHECK-NEXT: 1.00    -     lock		incq	(%rax)
 # CHECK-NEXT: 29.50  29.50  insb	%dx, %es:(%rdi)
 # CHECK-NEXT: 29.50  29.50  insw	%dx, %es:(%rdi)
 # CHECK-NEXT: 29.50  29.50  insl	%dx, %es:(%rdi)
@@ -2030,12 +2347,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 6.00   6.00   mulq	(%rax)
 # CHECK-NEXT: 0.50   0.50   negb	%dil
 # CHECK-NEXT: 1.00    -     negb	(%r8)
+# CHECK-NEXT: 1.00    -     lock		negb	(%r8)
 # CHECK-NEXT: 0.50   0.50   negw	%si
 # CHECK-NEXT: 1.00    -     negw	(%r9)
+# CHECK-NEXT: 1.00    -     lock		negw	(%r9)
 # CHECK-NEXT: 0.50   0.50   negl	%edx
 # CHECK-NEXT: 1.00    -     negl	(%rax)
+# CHECK-NEXT: 1.00    -     lock		negl	(%rax)
 # CHECK-NEXT: 0.50   0.50   negq	%rcx
 # CHECK-NEXT: 1.00    -     negq	(%r10)
+# CHECK-NEXT: 1.00    -     lock		negq	(%r10)
 # CHECK-NEXT: 0.50   0.50   nop
 # CHECK-NEXT: 0.50   0.50   nopw	%di
 # CHECK-NEXT: 0.50   0.50   nopw	(%rcx)
@@ -2045,41 +2366,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   nopq	(%r9)
 # CHECK-NEXT: 0.50   0.50   notb	%dil
 # CHECK-NEXT: 1.00    -     notb	(%r8)
+# CHECK-NEXT: 1.00    -     lock		notb	(%r8)
 # CHECK-NEXT: 0.50   0.50   notw	%si
 # CHECK-NEXT: 1.00    -     notw	(%r9)
+# CHECK-NEXT: 1.00    -     lock		notw	(%r9)
 # CHECK-NEXT: 0.50   0.50   notl	%edx
 # CHECK-NEXT: 1.00    -     notl	(%rax)
+# CHECK-NEXT: 1.00    -     lock		notl	(%rax)
 # CHECK-NEXT: 0.50   0.50   notq	%rcx
 # CHECK-NEXT: 1.00    -     notq	(%r10)
+# CHECK-NEXT: 1.00    -     lock		notq	(%r10)
 # CHECK-NEXT: 0.50   0.50   orb	$7, %al
 # CHECK-NEXT: 0.50   0.50   orb	$7, %dil
 # CHECK-NEXT: 1.00    -     orb	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		orb	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   orb	%sil, %dil
 # CHECK-NEXT: 1.00    -     orb	%sil, (%rax)
+# CHECK-NEXT: 1.00    -     lock		orb	%sil, (%rax)
 # CHECK-NEXT: 1.00    -     orb	(%rax), %dil
 # CHECK-NEXT: 0.50   0.50   orw	$511, %ax
 # CHECK-NEXT: 0.50   0.50   orw	$511, %di
 # CHECK-NEXT: 1.00    -     orw	$511, (%rax)
+# CHECK-NEXT: 1.00    -     lock		orw	$511, (%rax)
 # CHECK-NEXT: 0.50   0.50   orw	$7, %di
 # CHECK-NEXT: 1.00    -     orw	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		orw	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   orw	%si, %di
 # CHECK-NEXT: 1.00    -     orw	%si, (%rax)
+# CHECK-NEXT: 1.00    -     lock		orw	%si, (%rax)
 # CHECK-NEXT: 1.00    -     orw	(%rax), %di
 # CHECK-NEXT: 0.50   0.50   orl	$665536, %eax
 # CHECK-NEXT: 0.50   0.50   orl	$665536, %edi
 # CHECK-NEXT: 1.00    -     orl	$665536, (%rax)
+# CHECK-NEXT: 1.00    -     lock		orl	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50   orl	$7, %edi
 # CHECK-NEXT: 1.00    -     orl	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		orl	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   orl	%esi, %edi
 # CHECK-NEXT: 1.00    -     orl	%esi, (%rax)
+# CHECK-NEXT: 1.00    -     lock		orl	%esi, (%rax)
 # CHECK-NEXT: 1.00    -     orl	(%rax), %edi
 # CHECK-NEXT: 0.50   0.50   orq	$665536, %rax
 # CHECK-NEXT: 0.50   0.50   orq	$665536, %rdi
 # CHECK-NEXT: 1.00    -     orq	$665536, (%rax)
+# CHECK-NEXT: 1.00    -     lock		orq	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50   orq	$7, %rdi
 # CHECK-NEXT: 1.00    -     orq	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		orq	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   orq	%rsi, %rdi
 # CHECK-NEXT: 1.00    -     orq	%rsi, (%rax)
+# CHECK-NEXT: 1.00    -     lock		orq	%rsi, (%rax)
 # CHECK-NEXT: 1.00    -     orq	(%rax), %rdi
 # CHECK-NEXT: 36.00  36.00  outb	%al, $7
 # CHECK-NEXT: 34.00  34.00  outb	%al, %dx
@@ -2267,44 +2603,59 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   sbbb	$0, %al
 # CHECK-NEXT: 0.50   0.50   sbbb	$0, %dil
 # CHECK-NEXT: 1.00    -     sbbb	$0, (%rax)
+# CHECK-NEXT: 1.00    -     lock		sbbb	$0, (%rax)
 # CHECK-NEXT: 0.50   0.50   sbbb	$7, %al
 # CHECK-NEXT: 0.50   0.50   sbbb	$7, %dil
 # CHECK-NEXT: 1.00    -     sbbb	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		sbbb	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   sbbb	%sil, %dil
 # CHECK-NEXT: 1.00    -     sbbb	%sil, (%rax)
+# CHECK-NEXT: 1.00    -     lock		sbbb	%sil, (%rax)
 # CHECK-NEXT: 1.00    -     sbbb	(%rax), %dil
 # CHECK-NEXT: 0.50   0.50   sbbw	$0, %ax
 # CHECK-NEXT: 0.50   0.50   sbbw	$0, %di
 # CHECK-NEXT: 1.00    -     sbbw	$0, (%rax)
+# CHECK-NEXT: 1.00    -     lock		sbbw	$0, (%rax)
 # CHECK-NEXT: 0.50   0.50   sbbw	$511, %ax
 # CHECK-NEXT: 0.50   0.50   sbbw	$511, %di
 # CHECK-NEXT: 1.00    -     sbbw	$511, (%rax)
+# CHECK-NEXT: 1.00    -     lock		sbbw	$511, (%rax)
 # CHECK-NEXT: 0.50   0.50   sbbw	$7, %di
 # CHECK-NEXT: 1.00    -     sbbw	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		sbbw	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   sbbw	%si, %di
 # CHECK-NEXT: 1.00    -     sbbw	%si, (%rax)
+# CHECK-NEXT: 1.00    -     lock		sbbw	%si, (%rax)
 # CHECK-NEXT: 1.00    -     sbbw	(%rax), %di
 # CHECK-NEXT: 0.50   0.50   sbbl	$0, %eax
 # CHECK-NEXT: 0.50   0.50   sbbl	$0, %edi
 # CHECK-NEXT: 1.00    -     sbbl	$0, (%rax)
+# CHECK-NEXT: 1.00    -     lock		sbbl	$0, (%rax)
 # CHECK-NEXT: 0.50   0.50   sbbl	$665536, %eax
 # CHECK-NEXT: 0.50   0.50   sbbl	$665536, %edi
 # CHECK-NEXT: 1.00    -     sbbl	$665536, (%rax)
+# CHECK-NEXT: 1.00    -     lock		sbbl	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50   sbbl	$7, %edi
 # CHECK-NEXT: 1.00    -     sbbl	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		sbbl	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   sbbl	%esi, %edi
 # CHECK-NEXT: 1.00    -     sbbl	%esi, (%rax)
+# CHECK-NEXT: 1.00    -     lock		sbbl	%esi, (%rax)
 # CHECK-NEXT: 1.00    -     sbbl	(%rax), %edi
 # CHECK-NEXT: 0.50   0.50   sbbq	$0, %rax
 # CHECK-NEXT: 0.50   0.50   sbbq	$0, %rdi
 # CHECK-NEXT: 1.00    -     sbbq	$0, (%rax)
+# CHECK-NEXT: 1.00    -     lock		sbbq	$0, (%rax)
 # CHECK-NEXT: 0.50   0.50   sbbq	$665536, %rax
 # CHECK-NEXT: 0.50   0.50   sbbq	$665536, %rdi
 # CHECK-NEXT: 1.00    -     sbbq	$665536, (%rax)
+# CHECK-NEXT: 1.00    -     lock		sbbq	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50   sbbq	$7, %rdi
 # CHECK-NEXT: 1.00    -     sbbq	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		sbbq	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   sbbq	%rsi, %rdi
 # CHECK-NEXT: 1.00    -     sbbq	%rsi, (%rax)
+# CHECK-NEXT: 1.00    -     lock		sbbq	%rsi, (%rax)
 # CHECK-NEXT: 1.00    -     sbbq	(%rax), %rdi
 # CHECK-NEXT: 1.00   1.00   scasb	%es:(%rdi), %al
 # CHECK-NEXT: 1.00   1.00   scasw	%es:(%rdi), %ax
@@ -2375,32 +2726,43 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   subb	$7, %al
 # CHECK-NEXT: 0.50   0.50   subb	$7, %dil
 # CHECK-NEXT: 1.00    -     subb	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		subb	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   subb	%sil, %dil
 # CHECK-NEXT: 1.00    -     subb	%sil, (%rax)
+# CHECK-NEXT: 1.00    -     lock		subb	%sil, (%rax)
 # CHECK-NEXT: 1.00    -     subb	(%rax), %dil
 # CHECK-NEXT: 0.50   0.50   subw	$511, %ax
 # CHECK-NEXT: 0.50   0.50   subw	$511, %di
 # CHECK-NEXT: 1.00    -     subw	$511, (%rax)
+# CHECK-NEXT: 1.00    -     lock		subw	$511, (%rax)
 # CHECK-NEXT: 0.50   0.50   subw	$7, %di
 # CHECK-NEXT: 1.00    -     subw	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		subw	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   subw	%si, %di
 # CHECK-NEXT: 1.00    -     subw	%si, (%rax)
+# CHECK-NEXT: 1.00    -     lock		subw	%si, (%rax)
 # CHECK-NEXT: 1.00    -     subw	(%rax), %di
 # CHECK-NEXT: 0.50   0.50   subl	$665536, %eax
 # CHECK-NEXT: 0.50   0.50   subl	$665536, %edi
 # CHECK-NEXT: 1.00    -     subl	$665536, (%rax)
+# CHECK-NEXT: 1.00    -     lock		subl	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50   subl	$7, %edi
 # CHECK-NEXT: 1.00    -     subl	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		subl	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   subl	%esi, %edi
 # CHECK-NEXT: 1.00    -     subl	%esi, (%rax)
+# CHECK-NEXT: 1.00    -     lock		subl	%esi, (%rax)
 # CHECK-NEXT: 1.00    -     subl	(%rax), %edi
 # CHECK-NEXT: 0.50   0.50   subq	$665536, %rax
 # CHECK-NEXT: 0.50   0.50   subq	$665536, %rdi
 # CHECK-NEXT: 1.00    -     subq	$665536, (%rax)
+# CHECK-NEXT: 1.00    -     lock		subq	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50   subq	$7, %rdi
 # CHECK-NEXT: 1.00    -     subq	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		subq	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   subq	%rsi, %rdi
 # CHECK-NEXT: 1.00    -     subq	%rsi, (%rax)
+# CHECK-NEXT: 1.00    -     lock		subq	%rsi, (%rax)
 # CHECK-NEXT: 1.00    -     subq	(%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   testb	$7, %al
 # CHECK-NEXT: 0.50   0.50   testb	$7, %dil
@@ -2432,51 +2794,70 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 101.00 101.00 wrmsr
 # CHECK-NEXT: 1.00   1.00   xaddb	%bl, %cl
 # CHECK-NEXT: 1.50   1.50   xaddb	%bl, (%rcx)
+# CHECK-NEXT: 1.50   1.50   lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT: 1.00   1.00   xaddw	%bx, %cx
 # CHECK-NEXT: 1.50   1.50   xaddw	%ax, (%rbx)
+# CHECK-NEXT: 1.50   1.50   lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT: 1.00   1.00   xaddl	%ebx, %ecx
 # CHECK-NEXT: 1.50   1.50   xaddl	%eax, (%rbx)
+# CHECK-NEXT: 1.50   1.50   lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT: 1.00   1.00   xaddq	%rbx, %rcx
 # CHECK-NEXT: 1.50   1.50   xaddq	%rax, (%rbx)
+# CHECK-NEXT: 1.50   1.50   lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT: 1.00   1.00   xchgb	%bl, %cl
 # CHECK-NEXT: 1.50   1.50   xchgb	%bl, (%rbx)
+# CHECK-NEXT: 1.50   1.50   lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT: 1.00   1.00   xchgw	%bx, %ax
 # CHECK-NEXT: 1.00   1.00   xchgw	%bx, %cx
 # CHECK-NEXT: 1.50   1.50   xchgw	%ax, (%rbx)
+# CHECK-NEXT: 1.50   1.50   lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT: 1.00   1.00   xchgl	%ebx, %eax
 # CHECK-NEXT: 1.00   1.00   xchgl	%ebx, %ecx
 # CHECK-NEXT: 1.50   1.50   xchgl	%eax, (%rbx)
+# CHECK-NEXT: 1.50   1.50   lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT: 1.00   1.00   xchgq	%rbx, %rax
 # CHECK-NEXT: 1.00   1.00   xchgq	%rbx, %rcx
 # CHECK-NEXT: 1.50   1.50   xchgq	%rax, (%rbx)
+# CHECK-NEXT: 1.50   1.50   lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT: 3.00   3.00   xlatb
 # CHECK-NEXT: 0.50   0.50   xorb	$7, %al
 # CHECK-NEXT: 0.50   0.50   xorb	$7, %dil
 # CHECK-NEXT: 1.00    -     xorb	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		xorb	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   xorb	%sil, %dil
 # CHECK-NEXT: 1.00    -     xorb	%sil, (%rax)
+# CHECK-NEXT: 1.00    -     lock		xorb	%sil, (%rax)
 # CHECK-NEXT: 1.00    -     xorb	(%rax), %dil
 # CHECK-NEXT: 0.50   0.50   xorw	$511, %ax
 # CHECK-NEXT: 0.50   0.50   xorw	$511, %di
 # CHECK-NEXT: 1.00    -     xorw	$511, (%rax)
+# CHECK-NEXT: 1.00    -     lock		xorw	$511, (%rax)
 # CHECK-NEXT: 0.50   0.50   xorw	$7, %di
 # CHECK-NEXT: 1.00    -     xorw	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		xorw	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   xorw	%si, %di
 # CHECK-NEXT: 1.00    -     xorw	%si, (%rax)
+# CHECK-NEXT: 1.00    -     lock		xorw	%si, (%rax)
 # CHECK-NEXT: 1.00    -     xorw	(%rax), %di
 # CHECK-NEXT: 0.50   0.50   xorl	$665536, %eax
 # CHECK-NEXT: 0.50   0.50   xorl	$665536, %edi
 # CHECK-NEXT: 1.00    -     xorl	$665536, (%rax)
+# CHECK-NEXT: 1.00    -     lock		xorl	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50   xorl	$7, %edi
 # CHECK-NEXT: 1.00    -     xorl	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		xorl	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   xorl	%esi, %edi
 # CHECK-NEXT: 1.00    -     xorl	%esi, (%rax)
+# CHECK-NEXT: 1.00    -     lock		xorl	%esi, (%rax)
 # CHECK-NEXT: 1.00    -     xorl	(%rax), %edi
 # CHECK-NEXT: 0.50   0.50   xorq	$665536, %rax
 # CHECK-NEXT: 0.50   0.50   xorq	$665536, %rdi
 # CHECK-NEXT: 1.00    -     xorq	$665536, (%rax)
+# CHECK-NEXT: 1.00    -     lock		xorq	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50   xorq	$7, %rdi
 # CHECK-NEXT: 1.00    -     xorq	$7, (%rax)
+# CHECK-NEXT: 1.00    -     lock		xorq	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   xorq	%rsi, %rdi
 # CHECK-NEXT: 1.00    -     xorq	%rsi, (%rax)
+# CHECK-NEXT: 1.00    -     lock		xorq	%rsi, (%rax)
 # CHECK-NEXT: 1.00    -     xorq	(%rax), %rdi

Modified: llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s?rev=369367&r1=369366&r2=369367&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s Tue Aug 20 04:13:20 2019
@@ -4,115 +4,152 @@
 adcb $0, %al
 adcb $0, %dil
 adcb $0, (%rax)
+lock adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
+lock adcb $7, (%rax)
 adcb %sil, %dil
 adcb %sil, (%rax)
+lock adcb %sil, (%rax)
 adcb (%rax), %dil
 
 adcw $0, %ax
 adcw $0, %di
 adcw $0, (%rax)
+lock adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
+lock adcw $511, (%rax)
 adcw $7, %di
 adcw $7, (%rax)
+lock adcw $7, (%rax)
 adcw %si, %di
 adcw %si, (%rax)
+lock adcw %si, (%rax)
 adcw (%rax), %di
 
 adcl $0, %eax
 adcl $0, %edi
 adcl $0, (%rax)
+lock adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
+lock adcl $665536, (%rax)
 adcl $7, %edi
 adcl $7, (%rax)
+lock adcl $7, (%rax)
 adcl %esi, %edi
 adcl %esi, (%rax)
+lock adcl %esi, (%rax)
 adcl (%rax), %edi
 
 adcq $0, %rax
 adcq $0, %rdi
 adcq $0, (%rax)
+lock adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
+lock adcq $665536, (%rax)
 adcq $7, %rdi
 adcq $7, (%rax)
+lock adcq $7, (%rax)
 adcq %rsi, %rdi
 adcq %rsi, (%rax)
+lock adcq %rsi, (%rax)
 adcq (%rax), %rdi
 
 addb $7, %al
 addb $7, %dil
 addb $7, (%rax)
+lock addb $7, (%rax)
 addb %sil, %dil
 addb %sil, (%rax)
+lock addb %sil, (%rax)
 addb (%rax), %dil
 
 addw $511, %ax
 addw $511, %di
 addw $511, (%rax)
+lock addw $511, (%rax)
 addw $7, %di
 addw $7, (%rax)
+lock addw $7, (%rax)
 addw %si, %di
 addw %si, (%rax)
+lock addw %si, (%rax)
 addw (%rax), %di
 
 addl $665536, %eax
 addl $665536, %edi
 addl $665536, (%rax)
+lock addl $665536, (%rax)
 addl $7, %edi
 addl $7, (%rax)
+lock addl $7, (%rax)
 addl %esi, %edi
 addl %esi, (%rax)
+lock addl %esi, (%rax)
 addl (%rax), %edi
 
 addq $665536, %rax
 addq $665536, %rdi
 addq $665536, (%rax)
+lock addq $665536, (%rax)
 addq $7, %rdi
 addq $7, (%rax)
+lock addq $7, (%rax)
 addq %rsi, %rdi
 addq %rsi, (%rax)
+lock addq %rsi, (%rax)
 addq (%rax), %rdi
 
 andb $7, %al
 andb $7, %dil
 andb $7, (%rax)
+lock andb $7, (%rax)
 andb %sil, %dil
 andb %sil, (%rax)
+lock andb %sil, (%rax)
 andb (%rax), %dil
 
 andw $511, %ax
 andw $511, %di
 andw $511, (%rax)
+lock andw $511, (%rax)
 andw $7, %di
 andw $7, (%rax)
+lock andw $7, (%rax)
 andw %si, %di
 andw %si, (%rax)
+lock andw %si, (%rax)
 andw (%rax), %di
 
 andl $665536, %eax
 andl $665536, %edi
 andl $665536, (%rax)
+lock andl $665536, (%rax)
 andl $7, %edi
 andl $7, (%rax)
+lock andl $7, (%rax)
 andl %esi, %edi
 andl %esi, (%rax)
+lock andl %esi, (%rax)
 andl (%rax), %edi
 
 andq $665536, %rax
 andq $665536, %rdi
 andq $665536, (%rax)
+lock andq $665536, (%rax)
 andq $7, %rdi
 andq $7, (%rax)
+lock andq $7, (%rax)
 andq %rsi, %rdi
 andq %rsi, (%rax)
+lock andq %rsi, (%rax)
 andq (%rax), %rdi
 
 bsfw %si, %di
@@ -141,6 +178,9 @@ btw  %si, (%rax)
 btcw %si, (%rax)
 btrw %si, (%rax)
 btsw %si, (%rax)
+lock btcw %si, (%rax)
+lock btrw %si, (%rax)
+lock btsw %si, (%rax)
 btw  $7, %di
 btcw $7, %di
 btrw $7, %di
@@ -149,6 +189,9 @@ btw  $7, (%rax)
 btcw $7, (%rax)
 btrw $7, (%rax)
 btsw $7, (%rax)
+lock btcw $7, (%rax)
+lock btrw $7, (%rax)
+lock btsw $7, (%rax)
 
 btl  %esi, %edi
 btcl %esi, %edi
@@ -158,6 +201,9 @@ btl  %esi, (%rax)
 btcl %esi, (%rax)
 btrl %esi, (%rax)
 btsl %esi, (%rax)
+lock btcl %esi, (%rax)
+lock btrl %esi, (%rax)
+lock btsl %esi, (%rax)
 btl  $7, %edi
 btcl $7, %edi
 btrl $7, %edi
@@ -166,6 +212,9 @@ btl  $7, (%rax)
 btcl $7, (%rax)
 btrl $7, (%rax)
 btsl $7, (%rax)
+lock btcl $7, (%rax)
+lock btrl $7, (%rax)
+lock btsl $7, (%rax)
 
 btq  %rsi, %rdi
 btcq %rsi, %rdi
@@ -175,6 +224,9 @@ btq  %rsi, (%rax)
 btcq %rsi, (%rax)
 btrq %rsi, (%rax)
 btsq %rsi, (%rax)
+lock btcq %rsi, (%rax)
+lock btrq %rsi, (%rax)
+lock btsq %rsi, (%rax)
 btq  $7, %rdi
 btcq $7, %rdi
 btrq $7, %rdi
@@ -183,6 +235,9 @@ btq  $7, (%rax)
 btcq $7, (%rax)
 btrq $7, (%rax)
 btsq $7, (%rax)
+lock btcq $7, (%rax)
+lock btrq $7, (%rax)
+lock btsq $7, (%rax)
 
 cbw
 cwde
@@ -236,30 +291,34 @@ cmpsq
 
 cmpxchgb %cl, %bl
 cmpxchgb %cl, (%rbx)
-lock cmpxchgb  %cl, (%rbx)
+lock cmpxchgb %cl, (%rbx)
 
 cmpxchgw %cx, %bx
 cmpxchgw %cx, (%rbx)
-lock cmpxchgw  %cx, (%rbx)
+lock cmpxchgw %cx, (%rbx)
 
 cmpxchgl %ecx, %ebx
 cmpxchgl %ecx, (%rbx)
-lock cmpxchgl  %ecx, (%rbx)
+lock cmpxchgl %ecx, (%rbx)
 
 cmpxchgq %rcx, %rbx
 cmpxchgq %rcx, (%rbx)
-lock cmpxchgq  %rcx, (%rbx)
+lock cmpxchgq %rcx, (%rbx)
 
 cpuid
 
 decb %dil
 decb (%rax)
+lock decb (%rax)
 decw %di
 decw (%rax)
+lock decw (%rax)
 decl %edi
 decl (%rax)
+lock decl (%rax)
 decq %rdi
 decq (%rax)
+lock decq (%rax)
 
 divb %dil
 divb (%rax)
@@ -320,12 +379,16 @@ inl %dx, %eax
 
 incb %dil
 incb (%rax)
+lock incb (%rax)
 incw %di
 incw (%rax)
+lock incw (%rax)
 incl %edi
 incl (%rax)
+lock incl (%rax)
 incq %rdi
 incq (%rax)
+lock incq (%rax)
 
 insb
 insw
@@ -386,12 +449,16 @@ mulq (%rax)
 
 negb %dil
 negb (%r8)
+lock negb (%r8)
 negw %si
 negw (%r9)
+lock negw (%r9)
 negl %edx
 negl (%rax)
+lock negl (%rax)
 negq %rcx
 negq (%r10)
+lock negq (%r10)
 
 nop
 nopw %di
@@ -403,45 +470,60 @@ nopq (%r9)
 
 notb %dil
 notb (%r8)
+lock notb (%r8)
 notw %si
 notw (%r9)
+lock notw (%r9)
 notl %edx
 notl (%rax)
+lock notl (%rax)
 notq %rcx
 notq (%r10)
+lock notq (%r10)
 
 orb $7, %al
 orb $7, %dil
 orb $7, (%rax)
+lock orb $7, (%rax)
 orb %sil, %dil
 orb %sil, (%rax)
+lock orb %sil, (%rax)
 orb (%rax), %dil
 
 orw $511, %ax
 orw $511, %di
 orw $511, (%rax)
+lock orw $511, (%rax)
 orw $7, %di
 orw $7, (%rax)
+lock orw $7, (%rax)
 orw %si, %di
 orw %si, (%rax)
+lock orw %si, (%rax)
 orw (%rax), %di
 
 orl $665536, %eax
 orl $665536, %edi
 orl $665536, (%rax)
+lock orl $665536, (%rax)
 orl $7, %edi
 orl $7, (%rax)
+lock orl $7, (%rax)
 orl %esi, %edi
 orl %esi, (%rax)
+lock orl %esi, (%rax)
 orl (%rax), %edi
 
 orq $665536, %rax
 orq $665536, %rdi
 orq $665536, (%rax)
+lock orq $665536, (%rax)
 orq $7, %rdi
 orq $7, (%rax)
+lock orq $7, (%rax)
 orq %rsi, %rdi
 orq %rsi, (%rax)
+lock orq %rsi, (%rax)
 orq (%rax), %rdi
 
 outb %al,  $7
@@ -647,47 +729,62 @@ shrq %cl, (%rax)
 sbbb $0, %al
 sbbb $0, %dil
 sbbb $0, (%rax)
+lock sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
+lock sbbb $7, (%rax)
 sbbb %sil, %dil
 sbbb %sil, (%rax)
+lock sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
 sbbw $0, %ax
 sbbw $0, %di
 sbbw $0, (%rax)
+lock sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
+lock sbbw $511, (%rax)
 sbbw $7, %di
 sbbw $7, (%rax)
+lock sbbw $7, (%rax)
 sbbw %si, %di
 sbbw %si, (%rax)
+lock sbbw %si, (%rax)
 sbbw (%rax), %di
 
 sbbl $0, %eax
 sbbl $0, %edi
 sbbl $0, (%rax)
+lock sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
+lock sbbl $665536, (%rax)
 sbbl $7, %edi
 sbbl $7, (%rax)
+lock sbbl $7, (%rax)
 sbbl %esi, %edi
 sbbl %esi, (%rax)
+lock sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
 sbbq $0, %rax
 sbbq $0, %rdi
 sbbq $0, (%rax)
+lock sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
+lock sbbq $665536, (%rax)
 sbbq $7, %rdi
 sbbq $7, (%rax)
+lock sbbq $7, (%rax)
 sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
+lock sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
 scasb
@@ -766,35 +863,46 @@ stosq
 subb $7, %al
 subb $7, %dil
 subb $7, (%rax)
+lock subb $7, (%rax)
 subb %sil, %dil
 subb %sil, (%rax)
+lock subb %sil, (%rax)
 subb (%rax), %dil
 
 subw $511, %ax
 subw $511, %di
 subw $511, (%rax)
+lock subw $511, (%rax)
 subw $7, %di
 subw $7, (%rax)
+lock subw $7, (%rax)
 subw %si, %di
 subw %si, (%rax)
+lock subw %si, (%rax)
 subw (%rax), %di
 
 subl $665536, %eax
 subl $665536, %edi
 subl $665536, (%rax)
+lock subl $665536, (%rax)
 subl $7, %edi
 subl $7, (%rax)
+lock subl $7, (%rax)
 subl %esi, %edi
 subl %esi, (%rax)
+lock subl %esi, (%rax)
 subl (%rax), %edi
 
 subq $665536, %rax
 subq $665536, %rdi
 subq $665536, (%rax)
+lock subq $665536, (%rax)
 subq $7, %rdi
 subq $7, (%rax)
+lock subq $7, (%rax)
 subq %rsi, %rdi
 subq %rsi, (%rax)
+lock subq %rsi, (%rax)
 subq (%rax), %rdi
 
 testb $7, %al
@@ -833,65 +941,84 @@ wrmsr
 
 xaddb %bl, %cl
 xaddb %bl, (%rcx)
+lock xaddb %bl, (%rcx)
 
 xaddw %bx, %cx
 xaddw %ax, (%rbx)
+lock xaddw %ax, (%rbx)
 
 xaddl %ebx, %ecx
 xaddl %eax, (%rbx)
+lock xaddl %eax, (%rbx)
 
 xaddq %rbx, %rcx
 xaddq %rax, (%rbx)
+lock xaddq %rax, (%rbx)
 
 xchgb %bl, %cl
 xchgb %bl, (%rbx)
+lock xchgb %bl, (%rbx)
 
 xchgw %ax, %bx
 xchgw %bx, %cx
 xchgw %ax, (%rbx)
+lock xchgw %ax, (%rbx)
 
 xchgl %eax, %ebx
 xchgl %ebx, %ecx
 xchgl %eax, (%rbx)
+lock xchgl %eax, (%rbx)
 
 xchgq %rax, %rbx
 xchgq %rbx, %rcx
 xchgq %rax, (%rbx)
+lock xchgq %rax, (%rbx)
 
 xlatb
 
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
+lock xorb $7, (%rax)
 xorb %sil, %dil
 xorb %sil, (%rax)
+lock xorb %sil, (%rax)
 xorb (%rax), %dil
 
 xorw $511, %ax
 xorw $511, %di
 xorw $511, (%rax)
+lock xorw $511, (%rax)
 xorw $7, %di
 xorw $7, (%rax)
+lock xorw $7, (%rax)
 xorw %si, %di
 xorw %si, (%rax)
+lock xorw %si, (%rax)
 xorw (%rax), %di
 
 xorl $665536, %eax
 xorl $665536, %edi
 xorl $665536, (%rax)
+lock xorl $665536, (%rax)
 xorl $7, %edi
 xorl $7, (%rax)
+lock xorl $7, (%rax)
 xorl %esi, %edi
 xorl %esi, (%rax)
+lock xorl %esi, (%rax)
 xorl (%rax), %edi
 
 xorq $665536, %rax
 xorq $665536, %rdi
 xorq $665536, (%rax)
+lock xorq $665536, (%rax)
 xorq $7, %rdi
 xorq $7, (%rax)
+lock xorq $7, (%rax)
 xorq %rsi, %rdi
 xorq %rsi, (%rax)
+lock xorq %rsi, (%rax)
 xorq (%rax), %rdi
 
 # CHECK:      Instruction Info:
@@ -906,104 +1033,141 @@ xorq (%rax), %rdi
 # 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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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
 # CHECK-NEXT:  3      7     1.00    *      *            addb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            addb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.33                        addw	$511, %ax
 # CHECK-NEXT:  1      1     0.33                        addw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            addw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            addw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            addw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addw	(%rax), %di
 # CHECK-NEXT:  1      1     0.33                        addl	$665536, %eax
 # CHECK-NEXT:  1      1     0.33                        addl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            addl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            addl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            addl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.33                        addq	$665536, %rax
 # CHECK-NEXT:  1      1     0.33                        addq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            addq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            addq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            addq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.33                        andb	$7, %al
 # CHECK-NEXT:  1      1     0.33                        andb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            andb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            andb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.33                        andw	$511, %ax
 # CHECK-NEXT:  1      1     0.33                        andw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            andw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            andw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            andw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andw	(%rax), %di
 # CHECK-NEXT:  1      1     0.33                        andl	$665536, %eax
 # CHECK-NEXT:  1      1     0.33                        andl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            andl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            andl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            andl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.33                        andq	$665536, %rax
 # CHECK-NEXT:  1      1     0.33                        andq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andq	(%rax), %rdi
 # CHECK-NEXT:  1      3     1.00                        bsfw	%si, %di
 # CHECK-NEXT:  1      3     1.00                        bsrw	%si, %di
@@ -1027,6 +1191,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            btcw	%si, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *            btrw	%si, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *            btsw	%si, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		btcw	%si, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		btrw	%si, (%rax)
+# CHECK-NEXT:  6      9     1.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
@@ -1035,6 +1202,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      7     1.00    *      *            btcw	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btrw	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btsw	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btcw	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btrw	$7, (%rax)
+# CHECK-NEXT:  4      7     1.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
@@ -1043,6 +1213,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            btcl	%esi, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *            btrl	%esi, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *            btsl	%esi, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		btcl	%esi, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		btrl	%esi, (%rax)
+# CHECK-NEXT:  6      9     1.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
@@ -1051,6 +1224,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      7     1.00    *      *            btcl	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btrl	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btsl	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btcl	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btrl	$7, (%rax)
+# CHECK-NEXT:  4      7     1.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
@@ -1059,6 +1235,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            btcq	%rsi, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *            btrq	%rsi, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *            btsq	%rsi, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		btcq	%rsi, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		btrq	%rsi, (%rax)
+# CHECK-NEXT:  6      9     1.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
@@ -1067,6 +1246,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      7     1.00    *      *            btcq	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btrq	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btsq	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btcq	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btrq	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btsq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        cbtw
 # CHECK-NEXT:  1      1     0.33                        cwtl
 # CHECK-NEXT:  1      1     0.33                        cltq
@@ -1125,12 +1307,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.33                  U     cpuid
 # CHECK-NEXT:  1      1     0.33                        decb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            decb	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decb	(%rax)
 # CHECK-NEXT:  1      1     0.33                        decw	%di
 # CHECK-NEXT:  3      7     1.00    *      *            decw	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decw	(%rax)
 # CHECK-NEXT:  1      1     0.33                        decl	%edi
 # CHECK-NEXT:  3      7     1.00    *      *            decl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decl	(%rax)
 # CHECK-NEXT:  1      1     0.33                        decq	%rdi
 # CHECK-NEXT:  3      7     1.00    *      *            decq	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decq	(%rax)
 # CHECK-NEXT:  1      25    10.00                 U     divb	%dil
 # CHECK-NEXT:  2      30    10.00   *             U     divb	(%rax)
 # CHECK-NEXT:  1      25    10.00                 U     divw	%si
@@ -1182,12 +1368,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.33                  U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.33                        incb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            incb	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incb	(%rax)
 # CHECK-NEXT:  1      1     0.33                        incw	%di
 # CHECK-NEXT:  3      7     1.00    *      *            incw	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incw	(%rax)
 # CHECK-NEXT:  1      1     0.33                        incl	%edi
 # CHECK-NEXT:  3      7     1.00    *      *            incl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incl	(%rax)
 # CHECK-NEXT:  1      1     0.33                        incq	%rdi
 # CHECK-NEXT:  3      7     1.00    *      *            incq	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incq	(%rax)
 # CHECK-NEXT:  1      100   0.33                  U     insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  1      100   0.33                  U     insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  1      100   0.33                  U     insl	%dx, %es:(%rdi)
@@ -1236,12 +1426,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  3      9     1.00    *                   mulq	(%rax)
 # CHECK-NEXT:  1      1     0.33                        negb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            negb	(%r8)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negb	(%r8)
 # CHECK-NEXT:  1      1     0.33                        negw	%si
 # CHECK-NEXT:  3      7     1.00    *      *            negw	(%r9)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negw	(%r9)
 # CHECK-NEXT:  1      1     0.33                        negl	%edx
 # CHECK-NEXT:  3      7     1.00    *      *            negl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negl	(%rax)
 # CHECK-NEXT:  1      1     0.33                        negq	%rcx
 # CHECK-NEXT:  3      7     1.00    *      *            negq	(%r10)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negq	(%r10)
 # CHECK-NEXT:  1      1     0.25                        nop
 # CHECK-NEXT:  1      1     0.25                        nopw	%di
 # CHECK-NEXT:  1      1     0.25                        nopw	(%rcx)
@@ -1251,41 +1445,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        nopq	(%r9)
 # CHECK-NEXT:  1      1     0.33                        notb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            notb	(%r8)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notb	(%r8)
 # CHECK-NEXT:  1      1     0.33                        notw	%si
 # CHECK-NEXT:  3      7     1.00    *      *            notw	(%r9)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notw	(%r9)
 # CHECK-NEXT:  1      1     0.33                        notl	%edx
 # CHECK-NEXT:  3      7     1.00    *      *            notl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notl	(%rax)
 # CHECK-NEXT:  1      1     0.33                        notq	%rcx
 # CHECK-NEXT:  3      7     1.00    *      *            notq	(%r10)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notq	(%r10)
 # CHECK-NEXT:  1      1     0.33                        orb	$7, %al
 # CHECK-NEXT:  1      1     0.33                        orb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            orb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            orb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.33                        orw	$511, %ax
 # CHECK-NEXT:  1      1     0.33                        orw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            orw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            orw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            orw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orw	(%rax), %di
 # CHECK-NEXT:  1      1     0.33                        orl	$665536, %eax
 # CHECK-NEXT:  1      1     0.33                        orl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            orl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            orl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            orl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.33                        orq	$665536, %rax
 # CHECK-NEXT:  1      1     0.33                        orq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orq	(%rax), %rdi
 # CHECK-NEXT:  1      100   0.33                  U     outb	%al, $7
 # CHECK-NEXT:  1      100   0.33                  U     outb	%al, %dx
@@ -1473,44 +1682,59 @@ xorq (%rax), %rdi
 # 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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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
@@ -1581,32 +1805,43 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.33                        subb	$7, %al
 # CHECK-NEXT:  1      1     0.33                        subb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            subb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            subb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.33                        subw	$511, %ax
 # CHECK-NEXT:  1      1     0.33                        subw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            subw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            subw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            subw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subw	(%rax), %di
 # CHECK-NEXT:  1      1     0.33                        subl	$665536, %eax
 # CHECK-NEXT:  1      1     0.33                        subl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            subl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            subl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            subl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.33                        subq	$665536, %rax
 # CHECK-NEXT:  1      1     0.33                        subq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.33                        testb	$7, %al
 # CHECK-NEXT:  1      1     0.33                        testb	$7, %dil
@@ -1638,53 +1873,72 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.33                  U     wrmsr
 # CHECK-NEXT:  3      2     1.00                        xaddb	%bl, %cl
 # CHECK-NEXT:  5      8     1.00    *      *            xaddb	%bl, (%rcx)
+# CHECK-NEXT:  5      8     1.00    *      *            lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  3      2     1.00                        xaddw	%bx, %cx
 # CHECK-NEXT:  5      8     1.00    *      *            xaddw	%ax, (%rbx)
+# CHECK-NEXT:  5      8     1.00    *      *            lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  3      2     1.00                        xaddl	%ebx, %ecx
 # CHECK-NEXT:  5      8     1.00    *      *            xaddl	%eax, (%rbx)
+# CHECK-NEXT:  5      8     1.00    *      *            lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  3      2     1.00                        xaddq	%rbx, %rcx
 # CHECK-NEXT:  5      8     1.00    *      *            xaddq	%rax, (%rbx)
+# CHECK-NEXT:  5      8     1.00    *      *            lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  3      2     1.00                        xchgb	%bl, %cl
 # CHECK-NEXT:  3      6     1.00    *      *            xchgb	%bl, (%rbx)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT:  3      2     1.00                        xchgw	%bx, %ax
 # CHECK-NEXT:  3      2     1.00                        xchgw	%bx, %cx
 # CHECK-NEXT:  3      6     1.00    *      *            xchgw	%ax, (%rbx)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT:  3      2     1.00                        xchgl	%ebx, %eax
 # CHECK-NEXT:  3      2     1.00                        xchgl	%ebx, %ecx
 # CHECK-NEXT:  3      6     1.00    *      *            xchgl	%eax, (%rbx)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT:  3      2     1.00                        xchgq	%rbx, %rax
 # CHECK-NEXT:  3      2     1.00                        xchgq	%rbx, %rcx
 # CHECK-NEXT:  3      6     1.00    *      *            xchgq	%rax, (%rbx)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT:  1      5     0.50    *                   xlatb
 # CHECK-NEXT:  1      1     0.33                        xorb	$7, %al
 # CHECK-NEXT:  1      1     0.33                        xorb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            xorb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            xorb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.33                        xorw	$511, %ax
 # CHECK-NEXT:  1      1     0.33                        xorw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            xorw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            xorw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            xorw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorw	(%rax), %di
 # CHECK-NEXT:  1      1     0.33                        xorl	$665536, %eax
 # CHECK-NEXT:  1      1     0.33                        xorl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            xorl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            xorl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            xorl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.33                        xorq	$665536, %rax
 # CHECK-NEXT:  1      1     0.33                        xorq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            xorq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            xorq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            xorq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorq	(%rax), %rdi
 
 # CHECK:      Resources:
@@ -1699,111 +1953,148 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT: 160.00  -     597.83 239.33 234.00 605.83 328.50 328.50
+# CHECK-NEXT: 160.00  -     670.17 294.67 361.00 687.17 455.50 455.50
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcb	$0, %al
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcb	$0, %dil
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcb	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcb	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcb	$7, %al
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcb	$7, %dil
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcb	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcb	%sil, %dil
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   adcb	%sil, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		adcb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   adcb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw	$0, %ax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw	$0, %di
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcw	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcw	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw	$511, %ax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw	$511, %di
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcw	$511, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw	$7, %di
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcw	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw	%si, %di
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   adcw	%si, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		adcw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   adcw	(%rax), %di
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl	$0, %eax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl	$0, %edi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcl	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcl	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl	$665536, %eax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl	$665536, %edi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcl	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl	$7, %edi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcl	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl	%esi, %edi
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   adcl	%esi, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		adcl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   adcl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq	$0, %rax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq	$0, %rdi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcq	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcq	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq	$665536, %rax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq	$665536, %rdi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcq	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq	$7, %rdi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcq	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq	%rsi, %rdi
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   adcq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		adcq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   adcq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addb	$7, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addb	%sil, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   addb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addw	$511, %ax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addw	$511, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addw	$7, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addw	%si, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   addw	(%rax), %di
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addl	$665536, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addl	$665536, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addl	$7, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addl	%esi, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   addl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addq	$665536, %rax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addq	$7, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   addq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andb	$7, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andb	%sil, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   andb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andw	$511, %ax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andw	$511, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andw	$7, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andw	%si, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   andw	(%rax), %di
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andl	$665536, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andl	$665536, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andl	$7, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andl	%esi, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   andl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andq	$665536, %rax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andq	$7, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   andq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     bsfw	%si, %di
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     bsrw	%si, %di
@@ -1827,6 +2118,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btcw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btrw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btsw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btcw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btrw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btsw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btw	$7, %di
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btcw	$7, %di
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btrw	$7, %di
@@ -1835,6 +2129,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btcw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btrw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btsw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btcw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btrw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btsw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btl	%esi, %edi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btcl	%esi, %edi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btrl	%esi, %edi
@@ -1843,6 +2140,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btcl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btrl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btsl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btcl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btrl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btsl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btl	$7, %edi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btcl	$7, %edi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btrl	$7, %edi
@@ -1851,6 +2151,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btcl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btrl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btsl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btcl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btrl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btsl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btcq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btrq	%rsi, %rdi
@@ -1859,6 +2162,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btcq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btrq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btsq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btcq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btrq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btsq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btq	$7, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btcq	$7, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btrq	$7, %rdi
@@ -1867,6 +2173,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btcq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btrq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btsq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btcq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btrq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btsq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     cbtw
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     cwtl
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     cltq
@@ -1925,12 +2234,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     cpuid
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     decb	%dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   decb	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		decb	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     decw	%di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   decw	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		decw	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     decl	%edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   decl	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		decl	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     decq	%rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   decq	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		decq	(%rax)
 # CHECK-NEXT: 10.00   -     1.00    -      -      -      -      -     divb	%dil
 # CHECK-NEXT: 10.00   -     1.00    -      -      -     0.50   0.50   divb	(%rax)
 # CHECK-NEXT: 10.00   -     1.00    -      -      -      -      -     divw	%si
@@ -1982,12 +2295,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     inl	%dx, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     incb	%dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   incb	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		incb	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     incw	%di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   incw	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		incw	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     incl	%edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   incl	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		incl	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     incq	%rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   incq	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		incq	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     insl	%dx, %es:(%rdi)
@@ -2036,12 +2353,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   mulq	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     negb	%dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   negb	(%r8)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		negb	(%r8)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     negw	%si
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   negw	(%r9)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		negw	(%r9)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     negl	%edx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   negl	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		negl	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     negq	%rcx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   negq	(%r10)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		negq	(%r10)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     nop
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     nopw	%di
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     nopw	(%rcx)
@@ -2051,41 +2372,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     nopq	(%r9)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     notb	%dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   notb	(%r8)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		notb	(%r8)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     notw	%si
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   notw	(%r9)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		notw	(%r9)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     notl	%edx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   notl	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		notl	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     notq	%rcx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   notq	(%r10)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		notq	(%r10)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orb	$7, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orb	%sil, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   orb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orw	$511, %ax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orw	$511, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orw	$7, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orw	%si, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   orw	(%rax), %di
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orl	$665536, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orl	$665536, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orl	$7, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orl	%esi, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   orl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orq	$665536, %rax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orq	$7, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   orq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outb	%al, $7
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outb	%al, %dx
@@ -2273,44 +2609,59 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbb	$0, %al
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbb	$0, %dil
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbb	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbb	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbb	$7, %al
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbb	$7, %dil
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbb	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbb	%sil, %dil
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbb	%sil, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		sbbb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   sbbb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw	$0, %ax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw	$0, %di
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbw	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbw	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw	$511, %ax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw	$511, %di
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbw	$511, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw	$7, %di
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbw	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw	%si, %di
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbw	%si, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		sbbw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   sbbw	(%rax), %di
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl	$0, %eax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl	$0, %edi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbl	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbl	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl	$665536, %eax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl	$665536, %edi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbl	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl	$7, %edi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbl	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl	%esi, %edi
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbl	%esi, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		sbbl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   sbbl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	$0, %rax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	$0, %rdi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbq	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbq	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	$665536, %rax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	$665536, %rdi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbq	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	$7, %rdi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbq	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	%rsi, %rdi
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		sbbq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   sbbq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.67   0.67    -     0.67    -      -     scasb	%es:(%rdi), %al
 # CHECK-NEXT:  -      -     0.67   0.67    -     0.67    -      -     scasw	%es:(%rdi), %ax
@@ -2381,32 +2732,43 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subb	$7, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subb	%sil, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   subb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subw	$511, %ax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subw	$511, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subw	$7, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subw	%si, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   subw	(%rax), %di
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subl	$665536, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subl	$665536, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subl	$7, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subl	%esi, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   subl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subq	$665536, %rax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subq	$7, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   subq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     testb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     testb	$7, %dil
@@ -2438,51 +2800,70 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     wrmsr
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xaddb	%bl, %cl
 # CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   xaddb	%bl, (%rcx)
+# CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xaddw	%bx, %cx
 # CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   xaddw	%ax, (%rbx)
+# CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xaddl	%ebx, %ecx
 # CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   xaddl	%eax, (%rbx)
+# CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xaddq	%rbx, %rcx
 # CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   xaddq	%rax, (%rbx)
+# CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgb	%bl, %cl
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xchgb	%bl, (%rbx)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgw	%bx, %ax
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgw	%bx, %cx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xchgw	%ax, (%rbx)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgl	%ebx, %eax
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgl	%ebx, %ecx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xchgl	%eax, (%rbx)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgq	%rbx, %rax
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgq	%rbx, %rcx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xchgq	%rax, (%rbx)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   xlatb
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorb	$7, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorb	%sil, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   xorb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorw	$511, %ax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorw	$511, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorw	$7, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorw	%si, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   xorw	(%rax), %di
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorl	$665536, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorl	$665536, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorl	$7, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorl	%esi, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   xorl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorq	$665536, %rax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorq	$7, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   xorq	(%rax), %rdi

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-x86_64.s?rev=369367&r1=369366&r2=369367&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-x86_64.s Tue Aug 20 04:13:20 2019
@@ -4,115 +4,152 @@
 adcb $0, %al
 adcb $0, %dil
 adcb $0, (%rax)
+lock adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
+lock adcb $7, (%rax)
 adcb %sil, %dil
 adcb %sil, (%rax)
+lock adcb %sil, (%rax)
 adcb (%rax), %dil
 
 adcw $0, %ax
 adcw $0, %di
 adcw $0, (%rax)
+lock adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
+lock adcw $511, (%rax)
 adcw $7, %di
 adcw $7, (%rax)
+lock adcw $7, (%rax)
 adcw %si, %di
 adcw %si, (%rax)
+lock adcw %si, (%rax)
 adcw (%rax), %di
 
 adcl $0, %eax
 adcl $0, %edi
 adcl $0, (%rax)
+lock adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
+lock adcl $665536, (%rax)
 adcl $7, %edi
 adcl $7, (%rax)
+lock adcl $7, (%rax)
 adcl %esi, %edi
 adcl %esi, (%rax)
+lock adcl %esi, (%rax)
 adcl (%rax), %edi
 
 adcq $0, %rax
 adcq $0, %rdi
 adcq $0, (%rax)
+lock adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
+lock adcq $665536, (%rax)
 adcq $7, %rdi
 adcq $7, (%rax)
+lock adcq $7, (%rax)
 adcq %rsi, %rdi
 adcq %rsi, (%rax)
+lock adcq %rsi, (%rax)
 adcq (%rax), %rdi
 
 addb $7, %al
 addb $7, %dil
 addb $7, (%rax)
+lock addb $7, (%rax)
 addb %sil, %dil
 addb %sil, (%rax)
+lock addb %sil, (%rax)
 addb (%rax), %dil
 
 addw $511, %ax
 addw $511, %di
 addw $511, (%rax)
+lock addw $511, (%rax)
 addw $7, %di
 addw $7, (%rax)
+lock addw $7, (%rax)
 addw %si, %di
 addw %si, (%rax)
+lock addw %si, (%rax)
 addw (%rax), %di
 
 addl $665536, %eax
 addl $665536, %edi
 addl $665536, (%rax)
+lock addl $665536, (%rax)
 addl $7, %edi
 addl $7, (%rax)
+lock addl $7, (%rax)
 addl %esi, %edi
 addl %esi, (%rax)
+lock addl %esi, (%rax)
 addl (%rax), %edi
 
 addq $665536, %rax
 addq $665536, %rdi
 addq $665536, (%rax)
+lock addq $665536, (%rax)
 addq $7, %rdi
 addq $7, (%rax)
+lock addq $7, (%rax)
 addq %rsi, %rdi
 addq %rsi, (%rax)
+lock addq %rsi, (%rax)
 addq (%rax), %rdi
 
 andb $7, %al
 andb $7, %dil
 andb $7, (%rax)
+lock andb $7, (%rax)
 andb %sil, %dil
 andb %sil, (%rax)
+lock andb %sil, (%rax)
 andb (%rax), %dil
 
 andw $511, %ax
 andw $511, %di
 andw $511, (%rax)
+lock andw $511, (%rax)
 andw $7, %di
 andw $7, (%rax)
+lock andw $7, (%rax)
 andw %si, %di
 andw %si, (%rax)
+lock andw %si, (%rax)
 andw (%rax), %di
 
 andl $665536, %eax
 andl $665536, %edi
 andl $665536, (%rax)
+lock andl $665536, (%rax)
 andl $7, %edi
 andl $7, (%rax)
+lock andl $7, (%rax)
 andl %esi, %edi
 andl %esi, (%rax)
+lock andl %esi, (%rax)
 andl (%rax), %edi
 
 andq $665536, %rax
 andq $665536, %rdi
 andq $665536, (%rax)
+lock andq $665536, (%rax)
 andq $7, %rdi
 andq $7, (%rax)
+lock andq $7, (%rax)
 andq %rsi, %rdi
 andq %rsi, (%rax)
+lock andq %rsi, (%rax)
 andq (%rax), %rdi
 
 bsfw %si, %di
@@ -141,6 +178,9 @@ btw  %si, (%rax)
 btcw %si, (%rax)
 btrw %si, (%rax)
 btsw %si, (%rax)
+lock btcw %si, (%rax)
+lock btrw %si, (%rax)
+lock btsw %si, (%rax)
 btw  $7, %di
 btcw $7, %di
 btrw $7, %di
@@ -149,6 +189,9 @@ btw  $7, (%rax)
 btcw $7, (%rax)
 btrw $7, (%rax)
 btsw $7, (%rax)
+lock btcw $7, (%rax)
+lock btrw $7, (%rax)
+lock btsw $7, (%rax)
 
 btl  %esi, %edi
 btcl %esi, %edi
@@ -158,6 +201,9 @@ btl  %esi, (%rax)
 btcl %esi, (%rax)
 btrl %esi, (%rax)
 btsl %esi, (%rax)
+lock btcl %esi, (%rax)
+lock btrl %esi, (%rax)
+lock btsl %esi, (%rax)
 btl  $7, %edi
 btcl $7, %edi
 btrl $7, %edi
@@ -166,6 +212,9 @@ btl  $7, (%rax)
 btcl $7, (%rax)
 btrl $7, (%rax)
 btsl $7, (%rax)
+lock btcl $7, (%rax)
+lock btrl $7, (%rax)
+lock btsl $7, (%rax)
 
 btq  %rsi, %rdi
 btcq %rsi, %rdi
@@ -175,6 +224,9 @@ btq  %rsi, (%rax)
 btcq %rsi, (%rax)
 btrq %rsi, (%rax)
 btsq %rsi, (%rax)
+lock btcq %rsi, (%rax)
+lock btrq %rsi, (%rax)
+lock btsq %rsi, (%rax)
 btq  $7, %rdi
 btcq $7, %rdi
 btrq $7, %rdi
@@ -183,6 +235,9 @@ btq  $7, (%rax)
 btcq $7, (%rax)
 btrq $7, (%rax)
 btsq $7, (%rax)
+lock btcq $7, (%rax)
+lock btrq $7, (%rax)
+lock btsq $7, (%rax)
 
 cbw
 cwde
@@ -254,12 +309,16 @@ cpuid
 
 decb %dil
 decb (%rax)
+lock decb (%rax)
 decw %di
 decw (%rax)
+lock decw (%rax)
 decl %edi
 decl (%rax)
+lock decl (%rax)
 decq %rdi
 decq (%rax)
+lock decq (%rax)
 
 divb %dil
 divb (%rax)
@@ -320,12 +379,16 @@ inl %dx, %eax
 
 incb %dil
 incb (%rax)
+lock incb (%rax)
 incw %di
 incw (%rax)
+lock incw (%rax)
 incl %edi
 incl (%rax)
+lock incl (%rax)
 incq %rdi
 incq (%rax)
+lock incq (%rax)
 
 insb
 insw
@@ -386,12 +449,16 @@ mulq (%rax)
 
 negb %dil
 negb (%r8)
+lock negb (%r8)
 negw %si
 negw (%r9)
+lock negw (%r9)
 negl %edx
 negl (%rax)
+lock negl (%rax)
 negq %rcx
 negq (%r10)
+lock negq (%r10)
 
 nop
 nopw %di
@@ -403,45 +470,60 @@ nopq (%r9)
 
 notb %dil
 notb (%r8)
+lock notb (%r8)
 notw %si
 notw (%r9)
+lock notw (%r9)
 notl %edx
 notl (%rax)
+lock notl (%rax)
 notq %rcx
 notq (%r10)
+lock notq (%r10)
 
 orb $7, %al
 orb $7, %dil
 orb $7, (%rax)
+lock orb $7, (%rax)
 orb %sil, %dil
 orb %sil, (%rax)
+lock orb %sil, (%rax)
 orb (%rax), %dil
 
 orw $511, %ax
 orw $511, %di
 orw $511, (%rax)
+lock orw $511, (%rax)
 orw $7, %di
 orw $7, (%rax)
+lock orw $7, (%rax)
 orw %si, %di
 orw %si, (%rax)
+lock orw %si, (%rax)
 orw (%rax), %di
 
 orl $665536, %eax
 orl $665536, %edi
 orl $665536, (%rax)
+lock orl $665536, (%rax)
 orl $7, %edi
 orl $7, (%rax)
+lock orl $7, (%rax)
 orl %esi, %edi
 orl %esi, (%rax)
+lock orl %esi, (%rax)
 orl (%rax), %edi
 
 orq $665536, %rax
 orq $665536, %rdi
 orq $665536, (%rax)
+lock orq $665536, (%rax)
 orq $7, %rdi
 orq $7, (%rax)
+lock orq $7, (%rax)
 orq %rsi, %rdi
 orq %rsi, (%rax)
+lock orq %rsi, (%rax)
 orq (%rax), %rdi
 
 outb %al,  $7
@@ -647,47 +729,62 @@ shrq %cl, (%rax)
 sbbb $0, %al
 sbbb $0, %dil
 sbbb $0, (%rax)
+lock sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
+lock sbbb $7, (%rax)
 sbbb %sil, %dil
 sbbb %sil, (%rax)
+lock sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
 sbbw $0, %ax
 sbbw $0, %di
 sbbw $0, (%rax)
+lock sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
+lock sbbw $511, (%rax)
 sbbw $7, %di
 sbbw $7, (%rax)
+lock sbbw $7, (%rax)
 sbbw %si, %di
 sbbw %si, (%rax)
+lock sbbw %si, (%rax)
 sbbw (%rax), %di
 
 sbbl $0, %eax
 sbbl $0, %edi
 sbbl $0, (%rax)
+lock sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
+lock sbbl $665536, (%rax)
 sbbl $7, %edi
 sbbl $7, (%rax)
+lock sbbl $7, (%rax)
 sbbl %esi, %edi
 sbbl %esi, (%rax)
+lock sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
 sbbq $0, %rax
 sbbq $0, %rdi
 sbbq $0, (%rax)
+lock sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
+lock sbbq $665536, (%rax)
 sbbq $7, %rdi
 sbbq $7, (%rax)
+lock sbbq $7, (%rax)
 sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
+lock sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
 scasb
@@ -766,35 +863,46 @@ stosq
 subb $7, %al
 subb $7, %dil
 subb $7, (%rax)
+lock subb $7, (%rax)
 subb %sil, %dil
 subb %sil, (%rax)
+lock subb %sil, (%rax)
 subb (%rax), %dil
 
 subw $511, %ax
 subw $511, %di
 subw $511, (%rax)
+lock subw $511, (%rax)
 subw $7, %di
 subw $7, (%rax)
+lock subw $7, (%rax)
 subw %si, %di
 subw %si, (%rax)
+lock subw %si, (%rax)
 subw (%rax), %di
 
 subl $665536, %eax
 subl $665536, %edi
 subl $665536, (%rax)
+lock subl $665536, (%rax)
 subl $7, %edi
 subl $7, (%rax)
+lock subl $7, (%rax)
 subl %esi, %edi
 subl %esi, (%rax)
+lock subl %esi, (%rax)
 subl (%rax), %edi
 
 subq $665536, %rax
 subq $665536, %rdi
 subq $665536, (%rax)
+lock subq $665536, (%rax)
 subq $7, %rdi
 subq $7, (%rax)
+lock subq $7, (%rax)
 subq %rsi, %rdi
 subq %rsi, (%rax)
+lock subq %rsi, (%rax)
 subq (%rax), %rdi
 
 testb $7, %al
@@ -833,65 +941,84 @@ wrmsr
 
 xaddb %bl, %cl
 xaddb %bl, (%rcx)
+lock xaddb %bl, (%rcx)
 
 xaddw %bx, %cx
 xaddw %ax, (%rbx)
+lock xaddw %ax, (%rbx)
 
 xaddl %ebx, %ecx
 xaddl %eax, (%rbx)
+lock xaddl %eax, (%rbx)
 
 xaddq %rbx, %rcx
 xaddq %rax, (%rbx)
+lock xaddq %rax, (%rbx)
 
 xchgb %bl, %cl
 xchgb %bl, (%rbx)
+lock xchgb %bl, (%rbx)
 
 xchgw %ax, %bx
 xchgw %bx, %cx
 xchgw %ax, (%rbx)
+lock xchgw %ax, (%rbx)
 
 xchgl %eax, %ebx
 xchgl %ebx, %ecx
 xchgl %eax, (%rbx)
+lock xchgl %eax, (%rbx)
 
 xchgq %rax, %rbx
 xchgq %rbx, %rcx
 xchgq %rax, (%rbx)
+lock xchgq %rax, (%rbx)
 
 xlatb
 
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
+lock xorb $7, (%rax)
 xorb %sil, %dil
 xorb %sil, (%rax)
+lock xorb %sil, (%rax)
 xorb (%rax), %dil
 
 xorw $511, %ax
 xorw $511, %di
 xorw $511, (%rax)
+lock xorw $511, (%rax)
 xorw $7, %di
 xorw $7, (%rax)
+lock xorw $7, (%rax)
 xorw %si, %di
 xorw %si, (%rax)
+lock xorw %si, (%rax)
 xorw (%rax), %di
 
 xorl $665536, %eax
 xorl $665536, %edi
 xorl $665536, (%rax)
+lock xorl $665536, (%rax)
 xorl $7, %edi
 xorl $7, (%rax)
+lock xorl $7, (%rax)
 xorl %esi, %edi
 xorl %esi, (%rax)
+lock xorl %esi, (%rax)
 xorl (%rax), %edi
 
 xorq $665536, %rax
 xorq $665536, %rdi
 xorq $665536, (%rax)
+lock xorq $665536, (%rax)
 xorq $7, %rdi
 xorq $7, (%rax)
+lock xorq $7, (%rax)
 xorq %rsi, %rdi
 xorq %rsi, (%rax)
+lock xorq %rsi, (%rax)
 xorq (%rax), %rdi
 
 # CHECK:      Instruction Info:
@@ -906,104 +1033,141 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                        adcb	$0, %al
 # CHECK-NEXT:  1      1     1.00                        adcb	$0, %dil
 # CHECK-NEXT:  2      6     2.00    *      *            adcb	$0, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		adcb	$0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcb	$7, %al
 # CHECK-NEXT:  1      1     1.00                        adcb	$7, %dil
 # CHECK-NEXT:  2      6     2.00    *      *            adcb	$7, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		adcb	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcb	%sil, %dil
 # CHECK-NEXT:  2      6     2.00    *      *            adcb	%sil, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		adcb	%sil, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   adcb	(%rax), %dil
 # CHECK-NEXT:  1      1     1.00                        adcw	$0, %ax
 # CHECK-NEXT:  1      1     1.00                        adcw	$0, %di
 # CHECK-NEXT:  2      6     2.00    *      *            adcw	$0, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		adcw	$0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcw	$511, %ax
 # CHECK-NEXT:  1      1     1.00                        adcw	$511, %di
 # CHECK-NEXT:  2      6     2.00    *      *            adcw	$511, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		adcw	$511, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcw	$7, %di
 # CHECK-NEXT:  2      6     2.00    *      *            adcw	$7, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		adcw	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcw	%si, %di
 # CHECK-NEXT:  2      6     2.00    *      *            adcw	%si, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		adcw	%si, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   adcw	(%rax), %di
 # CHECK-NEXT:  1      1     1.00                        adcl	$0, %eax
 # CHECK-NEXT:  1      1     1.00                        adcl	$0, %edi
 # CHECK-NEXT:  2      6     2.00    *      *            adcl	$0, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		adcl	$0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcl	$665536, %eax
 # CHECK-NEXT:  1      1     1.00                        adcl	$665536, %edi
 # CHECK-NEXT:  2      6     2.00    *      *            adcl	$665536, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		adcl	$665536, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcl	$7, %edi
 # CHECK-NEXT:  2      6     2.00    *      *            adcl	$7, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		adcl	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcl	%esi, %edi
 # CHECK-NEXT:  2      6     2.00    *      *            adcl	%esi, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		adcl	%esi, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   adcl	(%rax), %edi
 # CHECK-NEXT:  1      1     1.00                        adcq	$0, %rax
 # CHECK-NEXT:  1      1     1.00                        adcq	$0, %rdi
 # CHECK-NEXT:  2      6     2.00    *      *            adcq	$0, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		adcq	$0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcq	$665536, %rax
 # CHECK-NEXT:  1      1     1.50                        adcq	$665536, %rdi
 # CHECK-NEXT:  2      6     2.00    *      *            adcq	$665536, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		adcq	$665536, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcq	$7, %rdi
 # CHECK-NEXT:  2      6     2.00    *      *            adcq	$7, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		adcq	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcq	%rsi, %rdi
 # CHECK-NEXT:  2      6     2.00    *      *            adcq	%rsi, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		adcq	%rsi, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   adcq	(%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                        addb	$7, %al
 # CHECK-NEXT:  1      1     1.00                        addb	$7, %dil
 # CHECK-NEXT:  1      6     2.00    *      *            addb	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		addb	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        addb	%sil, %dil
 # CHECK-NEXT:  1      6     2.00    *      *            addb	%sil, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		addb	%sil, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   addb	(%rax), %dil
 # CHECK-NEXT:  1      1     1.00                        addw	$511, %ax
 # CHECK-NEXT:  1      1     1.00                        addw	$511, %di
 # CHECK-NEXT:  1      6     2.00    *      *            addw	$511, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		addw	$511, (%rax)
 # CHECK-NEXT:  1      1     1.00                        addw	$7, %di
 # CHECK-NEXT:  1      6     2.00    *      *            addw	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		addw	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        addw	%si, %di
 # CHECK-NEXT:  1      6     2.00    *      *            addw	%si, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		addw	%si, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   addw	(%rax), %di
 # CHECK-NEXT:  1      1     1.00                        addl	$665536, %eax
 # CHECK-NEXT:  1      1     1.00                        addl	$665536, %edi
 # CHECK-NEXT:  1      6     2.00    *      *            addl	$665536, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		addl	$665536, (%rax)
 # CHECK-NEXT:  1      1     1.00                        addl	$7, %edi
 # CHECK-NEXT:  1      6     2.00    *      *            addl	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		addl	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        addl	%esi, %edi
 # CHECK-NEXT:  1      6     2.00    *      *            addl	%esi, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		addl	%esi, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   addl	(%rax), %edi
 # CHECK-NEXT:  1      1     1.00                        addq	$665536, %rax
 # CHECK-NEXT:  1      1     1.00                        addq	$665536, %rdi
 # CHECK-NEXT:  1      6     2.00    *      *            addq	$665536, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		addq	$665536, (%rax)
 # CHECK-NEXT:  1      1     1.00                        addq	$7, %rdi
 # CHECK-NEXT:  1      6     2.00    *      *            addq	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		addq	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        addq	%rsi, %rdi
 # CHECK-NEXT:  1      6     2.00    *      *            addq	%rsi, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		addq	%rsi, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   addq	(%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                        andb	$7, %al
 # CHECK-NEXT:  1      1     1.00                        andb	$7, %dil
 # CHECK-NEXT:  1      6     2.00    *      *            andb	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		andb	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        andb	%sil, %dil
 # CHECK-NEXT:  1      6     2.00    *      *            andb	%sil, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		andb	%sil, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   andb	(%rax), %dil
 # CHECK-NEXT:  1      1     1.00                        andw	$511, %ax
 # CHECK-NEXT:  1      1     1.00                        andw	$511, %di
 # CHECK-NEXT:  1      6     2.00    *      *            andw	$511, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		andw	$511, (%rax)
 # CHECK-NEXT:  1      1     1.00                        andw	$7, %di
 # CHECK-NEXT:  1      6     2.00    *      *            andw	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		andw	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        andw	%si, %di
 # CHECK-NEXT:  1      6     2.00    *      *            andw	%si, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		andw	%si, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   andw	(%rax), %di
 # CHECK-NEXT:  1      1     1.00                        andl	$665536, %eax
 # CHECK-NEXT:  1      1     1.00                        andl	$665536, %edi
 # CHECK-NEXT:  1      6     2.00    *      *            andl	$665536, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		andl	$665536, (%rax)
 # CHECK-NEXT:  1      1     1.00                        andl	$7, %edi
 # CHECK-NEXT:  1      6     2.00    *      *            andl	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		andl	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        andl	%esi, %edi
 # CHECK-NEXT:  1      6     2.00    *      *            andl	%esi, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		andl	%esi, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   andl	(%rax), %edi
 # CHECK-NEXT:  1      1     1.00                        andq	$665536, %rax
 # CHECK-NEXT:  1      1     1.00                        andq	$665536, %rdi
 # CHECK-NEXT:  1      6     2.00    *      *            andq	$665536, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		andq	$665536, (%rax)
 # CHECK-NEXT:  1      1     1.00                        andq	$7, %rdi
 # CHECK-NEXT:  1      6     2.00    *      *            andq	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		andq	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        andq	%rsi, %rdi
 # CHECK-NEXT:  1      6     2.00    *      *            andq	%rsi, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		andq	%rsi, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   andq	(%rax), %rdi
 # CHECK-NEXT:  6      3     3.00                        bsfw	%si, %di
 # CHECK-NEXT:  7      4     4.00                        bsrw	%si, %di
@@ -1027,6 +1191,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  10     7     22.00   *      *            btcw	%si, (%rax)
 # CHECK-NEXT:  10     7     22.00   *      *            btrw	%si, (%rax)
 # CHECK-NEXT:  10     7     22.00   *      *            btsw	%si, (%rax)
+# CHECK-NEXT:  10     7     22.00   *      *            lock		btcw	%si, (%rax)
+# CHECK-NEXT:  10     7     22.00   *      *            lock		btrw	%si, (%rax)
+# CHECK-NEXT:  10     7     22.00   *      *            lock		btsw	%si, (%rax)
 # CHECK-NEXT:  1      1     1.00                        btw	$7, %di
 # CHECK-NEXT:  2      2     1.00                        btcw	$7, %di
 # CHECK-NEXT:  2      2     1.00                        btrw	$7, %di
@@ -1035,6 +1202,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      7     21.00   *      *            btcw	$7, (%rax)
 # CHECK-NEXT:  4      7     21.00   *      *            btrw	$7, (%rax)
 # CHECK-NEXT:  4      7     21.00   *      *            btsw	$7, (%rax)
+# CHECK-NEXT:  4      7     21.00   *      *            lock		btcw	$7, (%rax)
+# CHECK-NEXT:  4      7     21.00   *      *            lock		btrw	$7, (%rax)
+# CHECK-NEXT:  4      7     21.00   *      *            lock		btsw	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        btl	%esi, %edi
 # CHECK-NEXT:  2      2     1.00                        btcl	%esi, %edi
 # CHECK-NEXT:  2      2     1.00                        btrl	%esi, %edi
@@ -1043,6 +1213,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  10     7     22.00   *      *            btcl	%esi, (%rax)
 # CHECK-NEXT:  10     7     22.00   *      *            btrl	%esi, (%rax)
 # CHECK-NEXT:  10     7     22.00   *      *            btsl	%esi, (%rax)
+# CHECK-NEXT:  10     7     22.00   *      *            lock		btcl	%esi, (%rax)
+# CHECK-NEXT:  10     7     22.00   *      *            lock		btrl	%esi, (%rax)
+# CHECK-NEXT:  10     7     22.00   *      *            lock		btsl	%esi, (%rax)
 # CHECK-NEXT:  1      1     1.00                        btl	$7, %edi
 # CHECK-NEXT:  2      2     1.00                        btcl	$7, %edi
 # CHECK-NEXT:  2      2     1.00                        btrl	$7, %edi
@@ -1051,6 +1224,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      7     21.00   *      *            btcl	$7, (%rax)
 # CHECK-NEXT:  4      7     21.00   *      *            btrl	$7, (%rax)
 # CHECK-NEXT:  4      7     21.00   *      *            btsl	$7, (%rax)
+# CHECK-NEXT:  4      7     21.00   *      *            lock		btcl	$7, (%rax)
+# CHECK-NEXT:  4      7     21.00   *      *            lock		btrl	$7, (%rax)
+# CHECK-NEXT:  4      7     21.00   *      *            lock		btsl	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        btq	%rsi, %rdi
 # CHECK-NEXT:  2      2     1.00                        btcq	%rsi, %rdi
 # CHECK-NEXT:  2      2     1.00                        btrq	%rsi, %rdi
@@ -1059,6 +1235,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  10     7     22.00   *      *            btcq	%rsi, (%rax)
 # CHECK-NEXT:  10     7     22.00   *      *            btrq	%rsi, (%rax)
 # CHECK-NEXT:  10     7     22.00   *      *            btsq	%rsi, (%rax)
+# CHECK-NEXT:  10     7     22.00   *      *            lock		btcq	%rsi, (%rax)
+# CHECK-NEXT:  10     7     22.00   *      *            lock		btrq	%rsi, (%rax)
+# CHECK-NEXT:  10     7     22.00   *      *            lock		btsq	%rsi, (%rax)
 # CHECK-NEXT:  1      1     1.00                        btq	$7, %rdi
 # CHECK-NEXT:  2      2     1.00                        btcq	$7, %rdi
 # CHECK-NEXT:  2      2     1.00                        btrq	$7, %rdi
@@ -1067,6 +1246,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      7     21.00   *      *            btcq	$7, (%rax)
 # CHECK-NEXT:  4      7     21.00   *      *            btrq	$7, (%rax)
 # CHECK-NEXT:  4      7     21.00   *      *            btsq	$7, (%rax)
+# CHECK-NEXT:  4      7     21.00   *      *            lock		btcq	$7, (%rax)
+# CHECK-NEXT:  4      7     21.00   *      *            lock		btrq	$7, (%rax)
+# CHECK-NEXT:  4      7     21.00   *      *            lock		btsq	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        cbtw
 # CHECK-NEXT:  1      1     1.00                        cwtl
 # CHECK-NEXT:  1      1     1.00                        cltq
@@ -1125,12 +1307,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.50                  U     cpuid
 # CHECK-NEXT:  1      1     1.00                        decb	%dil
 # CHECK-NEXT:  1      6     2.00    *      *            decb	(%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		decb	(%rax)
 # CHECK-NEXT:  1      1     1.00                        decw	%di
 # CHECK-NEXT:  1      6     2.00    *      *            decw	(%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		decw	(%rax)
 # CHECK-NEXT:  1      1     1.00                        decl	%edi
 # CHECK-NEXT:  1      6     2.00    *      *            decl	(%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		decl	(%rax)
 # CHECK-NEXT:  1      1     1.00                        decq	%rdi
 # CHECK-NEXT:  1      6     2.00    *      *            decq	(%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		decq	(%rax)
 # CHECK-NEXT:  1      12    12.00                 U     divb	%dil
 # CHECK-NEXT:  1      16    12.00   *             U     divb	(%rax)
 # CHECK-NEXT:  2      15    15.00                 U     divw	%si
@@ -1182,12 +1368,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.50                  U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     1.00                        incb	%dil
 # CHECK-NEXT:  1      6     2.00    *      *            incb	(%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		incb	(%rax)
 # CHECK-NEXT:  1      1     1.00                        incw	%di
 # CHECK-NEXT:  1      6     2.00    *      *            incw	(%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		incw	(%rax)
 # CHECK-NEXT:  1      1     1.00                        incl	%edi
 # CHECK-NEXT:  1      6     2.00    *      *            incl	(%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		incl	(%rax)
 # CHECK-NEXT:  1      1     1.00                        incq	%rdi
 # CHECK-NEXT:  1      6     2.00    *      *            incq	(%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		incq	(%rax)
 # CHECK-NEXT:  1      100   0.50                  U     insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  1      100   0.50                  U     insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  1      100   0.50                  U     insl	%dx, %es:(%rdi)
@@ -1236,12 +1426,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      10    6.00    *                   mulq	(%rax)
 # CHECK-NEXT:  1      1     1.00                        negb	%dil
 # CHECK-NEXT:  1      6     2.00    *      *            negb	(%r8)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		negb	(%r8)
 # CHECK-NEXT:  1      1     1.00                        negw	%si
 # CHECK-NEXT:  1      6     2.00    *      *            negw	(%r9)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		negw	(%r9)
 # CHECK-NEXT:  1      1     1.00                        negl	%edx
 # CHECK-NEXT:  1      6     2.00    *      *            negl	(%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		negl	(%rax)
 # CHECK-NEXT:  1      1     1.00                        negq	%rcx
 # CHECK-NEXT:  1      6     2.00    *      *            negq	(%r10)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		negq	(%r10)
 # CHECK-NEXT:  1      1     1.00                        nop
 # CHECK-NEXT:  1      1     1.00                        nopw	%di
 # CHECK-NEXT:  1      1     1.00                        nopw	(%rcx)
@@ -1251,41 +1445,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                        nopq	(%r9)
 # CHECK-NEXT:  1      1     1.00                        notb	%dil
 # CHECK-NEXT:  1      6     2.00    *      *            notb	(%r8)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		notb	(%r8)
 # CHECK-NEXT:  1      1     1.00                        notw	%si
 # CHECK-NEXT:  1      6     2.00    *      *            notw	(%r9)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		notw	(%r9)
 # CHECK-NEXT:  1      1     1.00                        notl	%edx
 # CHECK-NEXT:  1      6     2.00    *      *            notl	(%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		notl	(%rax)
 # CHECK-NEXT:  1      1     1.00                        notq	%rcx
 # CHECK-NEXT:  1      6     2.00    *      *            notq	(%r10)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		notq	(%r10)
 # CHECK-NEXT:  1      1     1.00                        orb	$7, %al
 # CHECK-NEXT:  1      1     1.00                        orb	$7, %dil
 # CHECK-NEXT:  1      6     2.00    *      *            orb	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		orb	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        orb	%sil, %dil
 # CHECK-NEXT:  1      6     2.00    *      *            orb	%sil, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		orb	%sil, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   orb	(%rax), %dil
 # CHECK-NEXT:  1      1     1.00                        orw	$511, %ax
 # CHECK-NEXT:  1      1     1.00                        orw	$511, %di
 # CHECK-NEXT:  1      6     2.00    *      *            orw	$511, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		orw	$511, (%rax)
 # CHECK-NEXT:  1      1     1.00                        orw	$7, %di
 # CHECK-NEXT:  1      6     2.00    *      *            orw	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		orw	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        orw	%si, %di
 # CHECK-NEXT:  1      6     2.00    *      *            orw	%si, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		orw	%si, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   orw	(%rax), %di
 # CHECK-NEXT:  1      1     1.00                        orl	$665536, %eax
 # CHECK-NEXT:  1      1     1.00                        orl	$665536, %edi
 # CHECK-NEXT:  1      6     2.00    *      *            orl	$665536, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		orl	$665536, (%rax)
 # CHECK-NEXT:  1      1     1.00                        orl	$7, %edi
 # CHECK-NEXT:  1      6     2.00    *      *            orl	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		orl	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        orl	%esi, %edi
 # CHECK-NEXT:  1      6     2.00    *      *            orl	%esi, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		orl	%esi, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   orl	(%rax), %edi
 # CHECK-NEXT:  1      1     1.00                        orq	$665536, %rax
 # CHECK-NEXT:  1      1     1.00                        orq	$665536, %rdi
 # CHECK-NEXT:  1      6     2.00    *      *            orq	$665536, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		orq	$665536, (%rax)
 # CHECK-NEXT:  1      1     1.00                        orq	$7, %rdi
 # CHECK-NEXT:  1      6     2.00    *      *            orq	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		orq	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        orq	%rsi, %rdi
 # CHECK-NEXT:  1      6     2.00    *      *            orq	%rsi, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		orq	%rsi, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   orq	(%rax), %rdi
 # CHECK-NEXT:  1      100   0.50                  U     outb	%al, $7
 # CHECK-NEXT:  1      100   0.50                  U     outb	%al, %dx
@@ -1473,44 +1682,59 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                        sbbb	$0, %al
 # CHECK-NEXT:  1      1     1.00                        sbbb	$0, %dil
 # CHECK-NEXT:  2      6     2.00    *      *            sbbb	$0, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		sbbb	$0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbb	$7, %al
 # CHECK-NEXT:  1      1     1.00                        sbbb	$7, %dil
 # CHECK-NEXT:  2      6     2.00    *      *            sbbb	$7, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		sbbb	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbb	%sil, %dil
 # CHECK-NEXT:  2      6     2.00    *      *            sbbb	%sil, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		sbbb	%sil, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   sbbb	(%rax), %dil
 # CHECK-NEXT:  1      1     1.00                        sbbw	$0, %ax
 # CHECK-NEXT:  1      1     1.00                        sbbw	$0, %di
 # CHECK-NEXT:  2      6     2.00    *      *            sbbw	$0, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		sbbw	$0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbw	$511, %ax
 # CHECK-NEXT:  1      1     1.00                        sbbw	$511, %di
 # CHECK-NEXT:  2      6     2.00    *      *            sbbw	$511, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		sbbw	$511, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbw	$7, %di
 # CHECK-NEXT:  2      6     2.00    *      *            sbbw	$7, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		sbbw	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbw	%si, %di
 # CHECK-NEXT:  2      6     2.00    *      *            sbbw	%si, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		sbbw	%si, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   sbbw	(%rax), %di
 # CHECK-NEXT:  1      1     1.00                        sbbl	$0, %eax
 # CHECK-NEXT:  1      1     1.00                        sbbl	$0, %edi
 # CHECK-NEXT:  2      6     2.00    *      *            sbbl	$0, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		sbbl	$0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbl	$665536, %eax
 # CHECK-NEXT:  1      1     1.00                        sbbl	$665536, %edi
 # CHECK-NEXT:  2      6     2.00    *      *            sbbl	$665536, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		sbbl	$665536, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbl	$7, %edi
 # CHECK-NEXT:  2      6     2.00    *      *            sbbl	$7, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		sbbl	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbl	%esi, %edi
 # CHECK-NEXT:  2      6     2.00    *      *            sbbl	%esi, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		sbbl	%esi, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   sbbl	(%rax), %edi
 # CHECK-NEXT:  1      1     1.00                        sbbq	$0, %rax
 # CHECK-NEXT:  1      1     1.00                        sbbq	$0, %rdi
 # CHECK-NEXT:  2      6     2.00    *      *            sbbq	$0, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		sbbq	$0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbq	$665536, %rax
 # CHECK-NEXT:  1      1     1.50                        sbbq	$665536, %rdi
 # CHECK-NEXT:  2      6     2.00    *      *            sbbq	$665536, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		sbbq	$665536, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbq	$7, %rdi
 # CHECK-NEXT:  2      6     2.00    *      *            sbbq	$7, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		sbbq	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbq	%rsi, %rdi
 # CHECK-NEXT:  2      6     2.00    *      *            sbbq	%rsi, (%rax)
+# CHECK-NEXT:  2      6     2.00    *      *            lock		sbbq	%rsi, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   sbbq	(%rax), %rdi
 # CHECK-NEXT:  1      100   0.50                  U     scasb	%es:(%rdi), %al
 # CHECK-NEXT:  1      100   0.50                  U     scasw	%es:(%rdi), %ax
@@ -1581,32 +1805,43 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                        subb	$7, %al
 # CHECK-NEXT:  1      1     1.00                        subb	$7, %dil
 # CHECK-NEXT:  1      6     2.00    *      *            subb	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		subb	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        subb	%sil, %dil
 # CHECK-NEXT:  1      6     2.00    *      *            subb	%sil, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		subb	%sil, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   subb	(%rax), %dil
 # CHECK-NEXT:  1      1     1.00                        subw	$511, %ax
 # CHECK-NEXT:  1      1     1.00                        subw	$511, %di
 # CHECK-NEXT:  1      6     2.00    *      *            subw	$511, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		subw	$511, (%rax)
 # CHECK-NEXT:  1      1     1.00                        subw	$7, %di
 # CHECK-NEXT:  1      6     2.00    *      *            subw	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		subw	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        subw	%si, %di
 # CHECK-NEXT:  1      6     2.00    *      *            subw	%si, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		subw	%si, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   subw	(%rax), %di
 # CHECK-NEXT:  1      1     1.00                        subl	$665536, %eax
 # CHECK-NEXT:  1      1     1.00                        subl	$665536, %edi
 # CHECK-NEXT:  1      6     2.00    *      *            subl	$665536, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		subl	$665536, (%rax)
 # CHECK-NEXT:  1      1     1.00                        subl	$7, %edi
 # CHECK-NEXT:  1      6     2.00    *      *            subl	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		subl	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        subl	%esi, %edi
 # CHECK-NEXT:  1      6     2.00    *      *            subl	%esi, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		subl	%esi, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   subl	(%rax), %edi
 # CHECK-NEXT:  1      1     1.00                        subq	$665536, %rax
 # CHECK-NEXT:  1      1     1.00                        subq	$665536, %rdi
 # CHECK-NEXT:  1      6     2.00    *      *            subq	$665536, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		subq	$665536, (%rax)
 # CHECK-NEXT:  1      1     1.00                        subq	$7, %rdi
 # CHECK-NEXT:  1      6     2.00    *      *            subq	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		subq	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        subq	%rsi, %rdi
 # CHECK-NEXT:  1      6     2.00    *      *            subq	%rsi, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		subq	%rsi, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   subq	(%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                        testb	$7, %al
 # CHECK-NEXT:  1      1     1.00                        testb	$7, %dil
@@ -1638,53 +1873,72 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.50                  U     wrmsr
 # CHECK-NEXT:  2      1     1.00                        xaddb	%bl, %cl
 # CHECK-NEXT:  4      6     20.00   *      *            xaddb	%bl, (%rcx)
+# CHECK-NEXT:  4      6     20.00   *      *            lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  2      1     1.00                        xaddw	%bx, %cx
 # CHECK-NEXT:  4      6     20.00   *      *            xaddw	%ax, (%rbx)
+# CHECK-NEXT:  4      6     20.00   *      *            lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  2      1     1.00                        xaddl	%ebx, %ecx
 # CHECK-NEXT:  4      6     20.00   *      *            xaddl	%eax, (%rbx)
+# CHECK-NEXT:  4      6     20.00   *      *            lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  2      1     1.00                        xaddq	%rbx, %rcx
 # CHECK-NEXT:  4      6     20.00   *      *            xaddq	%rax, (%rbx)
+# CHECK-NEXT:  4      6     20.00   *      *            lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  2      1     1.00                        xchgb	%bl, %cl
 # CHECK-NEXT:  2      5     2.00    *      *            xchgb	%bl, (%rbx)
+# CHECK-NEXT:  2      5     2.00    *      *            lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT:  2      1     1.00                        xchgw	%bx, %ax
 # CHECK-NEXT:  2      1     1.00                        xchgw	%bx, %cx
 # CHECK-NEXT:  2      5     2.00    *      *            xchgw	%ax, (%rbx)
+# CHECK-NEXT:  2      5     2.00    *      *            lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT:  2      1     1.00                        xchgl	%ebx, %eax
 # CHECK-NEXT:  2      1     1.00                        xchgl	%ebx, %ecx
 # CHECK-NEXT:  2      5     2.00    *      *            xchgl	%eax, (%rbx)
+# CHECK-NEXT:  2      5     2.00    *      *            lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT:  2      1     1.00                        xchgq	%rbx, %rax
 # CHECK-NEXT:  2      1     1.00                        xchgq	%rbx, %rcx
 # CHECK-NEXT:  2      5     2.00    *      *            xchgq	%rax, (%rbx)
+# CHECK-NEXT:  2      5     2.00    *      *            lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT:  1      6     0.50    *                   xlatb
 # CHECK-NEXT:  1      1     1.00                        xorb	$7, %al
 # CHECK-NEXT:  1      1     1.00                        xorb	$7, %dil
 # CHECK-NEXT:  1      6     2.00    *      *            xorb	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		xorb	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        xorb	%sil, %dil
 # CHECK-NEXT:  1      6     2.00    *      *            xorb	%sil, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		xorb	%sil, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   xorb	(%rax), %dil
 # CHECK-NEXT:  1      1     1.00                        xorw	$511, %ax
 # CHECK-NEXT:  1      1     1.00                        xorw	$511, %di
 # CHECK-NEXT:  1      6     2.00    *      *            xorw	$511, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		xorw	$511, (%rax)
 # CHECK-NEXT:  1      1     1.00                        xorw	$7, %di
 # CHECK-NEXT:  1      6     2.00    *      *            xorw	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		xorw	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        xorw	%si, %di
 # CHECK-NEXT:  1      6     2.00    *      *            xorw	%si, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		xorw	%si, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   xorw	(%rax), %di
 # CHECK-NEXT:  1      1     1.00                        xorl	$665536, %eax
 # CHECK-NEXT:  1      1     1.00                        xorl	$665536, %edi
 # CHECK-NEXT:  1      6     2.00    *      *            xorl	$665536, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  1      1     1.00                        xorl	$7, %edi
 # CHECK-NEXT:  1      6     2.00    *      *            xorl	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		xorl	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        xorl	%esi, %edi
 # CHECK-NEXT:  1      6     2.00    *      *            xorl	%esi, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		xorl	%esi, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   xorl	(%rax), %edi
 # CHECK-NEXT:  1      1     1.00                        xorq	$665536, %rax
 # CHECK-NEXT:  1      1     1.00                        xorq	$665536, %rdi
 # CHECK-NEXT:  1      6     2.00    *      *            xorq	$665536, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  1      1     1.00                        xorq	$7, %rdi
 # CHECK-NEXT:  1      6     2.00    *      *            xorq	$7, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		xorq	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        xorq	%rsi, %rdi
 # CHECK-NEXT:  1      6     2.00    *      *            xorq	%rsi, (%rax)
+# CHECK-NEXT:  1      6     2.00    *      *            lock		xorq	%rsi, (%rax)
 # CHECK-NEXT:  1      5     1.50    *                   xorq	(%rax), %rdi
 
 # CHECK:      Resources:
@@ -1714,111 +1968,148 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16.0] [16.1] [17]   [18]
-# CHECK-NEXT: 550.50 550.50  -      -     246.00 1323.50 1648.50  -    -      -      -      -      -      -      -      -      -      -      -     450.00 450.00 136.00 201.00
+# CHECK-NEXT: 769.50 769.50  -      -     246.00 1815.50 2220.50  -    -      -      -      -      -      -      -      -      -      -      -     616.50 616.50 136.00 306.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16.0] [16.1] [17]   [18]   Instructions:
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcb	$0, %al
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcb	$0, %dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   adcb	$0, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		adcb	$0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcb	$7, %al
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcb	$7, %dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   adcb	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		adcb	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcb	%sil, %dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   adcb	%sil, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		adcb	%sil, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     adcb	(%rax), %dil
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcw	$0, %ax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcw	$0, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   adcw	$0, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		adcw	$0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcw	$511, %ax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcw	$511, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   adcw	$511, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		adcw	$511, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcw	$7, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   adcw	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		adcw	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcw	%si, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   adcw	%si, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		adcw	%si, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     adcw	(%rax), %di
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcl	$0, %eax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcl	$0, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   adcl	$0, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		adcl	$0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcl	$665536, %eax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcl	$665536, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   adcl	$665536, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		adcl	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcl	$7, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   adcl	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		adcl	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcl	%esi, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   adcl	%esi, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		adcl	%esi, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     adcl	(%rax), %edi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcq	$0, %rax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcq	$0, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   adcq	$0, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		adcq	$0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcq	$665536, %rax
 # CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcq	$665536, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   adcq	$665536, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		adcq	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcq	$7, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   adcq	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		adcq	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcq	%rsi, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   adcq	%rsi, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		adcq	%rsi, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     adcq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     addb	$7, %al
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     addb	$7, %dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   addb	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		addb	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     addb	%sil, %dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   addb	%sil, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		addb	%sil, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     addb	(%rax), %dil
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     addw	$511, %ax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     addw	$511, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   addw	$511, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		addw	$511, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     addw	$7, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   addw	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		addw	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     addw	%si, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   addw	%si, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		addw	%si, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     addw	(%rax), %di
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     addl	$665536, %eax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     addl	$665536, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   addl	$665536, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		addl	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     addl	$7, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   addl	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		addl	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     addl	%esi, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   addl	%esi, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		addl	%esi, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     addl	(%rax), %edi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     addq	$665536, %rax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     addq	$665536, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   addq	$665536, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		addq	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     addq	$7, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   addq	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		addq	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     addq	%rsi, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   addq	%rsi, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		addq	%rsi, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     addq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     andb	$7, %al
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     andb	$7, %dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   andb	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		andb	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     andb	%sil, %dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   andb	%sil, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		andb	%sil, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     andb	(%rax), %dil
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     andw	$511, %ax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     andw	$511, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   andw	$511, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		andw	$511, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     andw	$7, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   andw	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		andw	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     andw	%si, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   andw	%si, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		andw	%si, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     andw	(%rax), %di
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     andl	$665536, %eax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     andl	$665536, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   andl	$665536, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		andl	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     andl	$7, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   andl	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		andl	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     andl	%esi, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   andl	%esi, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		andl	%esi, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     andl	(%rax), %edi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     andq	$665536, %rax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     andq	$665536, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   andq	$665536, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		andq	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     andq	$7, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   andq	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		andq	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     andq	%rsi, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   andq	%rsi, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		andq	%rsi, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     andq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     3.00   3.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     bsfw	%si, %di
 # CHECK-NEXT:  -      -      -      -      -     4.00   4.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     bsrw	%si, %di
@@ -1842,6 +2133,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -     22.00  22.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     btcw	%si, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -     22.00  22.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     btrw	%si, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -     22.00  22.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     btsw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     22.00  22.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     lock		btcw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     22.00  22.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     lock		btrw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     22.00  22.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     lock		btsw	%si, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     btw	$7, %di
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     btcw	$7, %di
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     btrw	$7, %di
@@ -1850,6 +2144,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -     21.00  21.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     btcw	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -     21.00  21.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     btrw	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -     21.00  21.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     btsw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     21.00  21.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     lock		btcw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     21.00  21.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     lock		btrw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     21.00  21.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     lock		btsw	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     btl	%esi, %edi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     btcl	%esi, %edi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     btrl	%esi, %edi
@@ -1858,6 +2155,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -     22.00  22.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     btcl	%esi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -     22.00  22.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     btrl	%esi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -     22.00  22.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     btsl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     22.00  22.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     lock		btcl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     22.00  22.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     lock		btrl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     22.00  22.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     lock		btsl	%esi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     btl	$7, %edi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     btcl	$7, %edi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     btrl	$7, %edi
@@ -1866,6 +2166,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -     21.00  21.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     btcl	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -     21.00  21.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     btrl	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -     21.00  21.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     btsl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     21.00  21.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     lock		btcl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     21.00  21.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     lock		btrl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     21.00  21.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     lock		btsl	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     btq	%rsi, %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     btcq	%rsi, %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     btrq	%rsi, %rdi
@@ -1874,6 +2177,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -     22.00  22.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     btcq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -     22.00  22.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     btrq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -     22.00  22.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     btsq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     22.00  22.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     lock		btcq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     22.00  22.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     lock		btrq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     22.00  22.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     lock		btsq	%rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     btq	$7, %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     btcq	$7, %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     btrq	$7, %rdi
@@ -1882,6 +2188,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -     21.00  21.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     btcq	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -     21.00  21.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     btrq	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -     21.00  21.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     btsq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     21.00  21.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     lock		btcq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     21.00  21.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     lock		btrq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     21.00  21.00   -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     lock		btsq	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     cbtw
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     cwtl
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     cltq
@@ -1940,12 +2249,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     cpuid
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     decb	%dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   decb	(%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		decb	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     decw	%di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   decw	(%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		decw	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     decl	%edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   decl	(%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		decl	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     decq	%rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   decq	(%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		decq	(%rax)
 # CHECK-NEXT:  -      -      -      -     12.00   -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     divb	%dil
 # CHECK-NEXT: 1.50   1.50    -      -     12.00   -     1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     divb	(%rax)
 # CHECK-NEXT:  -      -      -      -     15.00   -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     divw	%si
@@ -1997,12 +2310,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     inl	%dx, %eax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     incb	%dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   incb	(%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		incb	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     incw	%di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   incw	(%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		incw	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     incl	%edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   incl	(%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		incl	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     incq	%rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   incq	(%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		incq	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     insl	%dx, %es:(%rdi)
@@ -2051,12 +2368,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 1.50   1.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50   6.00    -     mulq	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     negb	%dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   negb	(%r8)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		negb	(%r8)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     negw	%si
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   negw	(%r9)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		negw	(%r9)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     negl	%edx
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   negl	(%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		negl	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     negq	%rcx
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   negq	(%r10)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		negq	(%r10)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     nop
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     nopw	%di
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     nopw	(%rcx)
@@ -2066,41 +2387,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     nopq	(%r9)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     notb	%dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   notb	(%r8)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		notb	(%r8)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     notw	%si
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   notw	(%r9)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		notw	(%r9)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     notl	%edx
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   notl	(%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		notl	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     notq	%rcx
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   notq	(%r10)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		notq	(%r10)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     orb	$7, %al
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     orb	$7, %dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   orb	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		orb	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     orb	%sil, %dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   orb	%sil, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		orb	%sil, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     orb	(%rax), %dil
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     orw	$511, %ax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     orw	$511, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   orw	$511, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		orw	$511, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     orw	$7, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   orw	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		orw	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     orw	%si, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   orw	%si, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		orw	%si, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     orw	(%rax), %di
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     orl	$665536, %eax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     orl	$665536, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   orl	$665536, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		orl	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     orl	$7, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   orl	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		orl	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     orl	%esi, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   orl	%esi, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		orl	%esi, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     orl	(%rax), %edi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     orq	$665536, %rax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     orq	$665536, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   orq	$665536, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		orq	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     orq	$7, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   orq	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		orq	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     orq	%rsi, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   orq	%rsi, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		orq	%rsi, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     orq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     outb	%al, $7
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     outb	%al, %dx
@@ -2288,44 +2624,59 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbb	$0, %al
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbb	$0, %dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   sbbb	$0, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		sbbb	$0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbb	$7, %al
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbb	$7, %dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   sbbb	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		sbbb	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbb	%sil, %dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   sbbb	%sil, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		sbbb	%sil, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     sbbb	(%rax), %dil
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbw	$0, %ax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbw	$0, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   sbbw	$0, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		sbbw	$0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbw	$511, %ax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbw	$511, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   sbbw	$511, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		sbbw	$511, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbw	$7, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   sbbw	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		sbbw	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbw	%si, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   sbbw	%si, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		sbbw	%si, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     sbbw	(%rax), %di
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbl	$0, %eax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbl	$0, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   sbbl	$0, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		sbbl	$0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbl	$665536, %eax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbl	$665536, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   sbbl	$665536, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		sbbl	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbl	$7, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   sbbl	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		sbbl	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbl	%esi, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   sbbl	%esi, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		sbbl	%esi, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     sbbl	(%rax), %edi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbq	$0, %rax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbq	$0, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   sbbq	$0, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		sbbq	$0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbq	$665536, %rax
 # CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbq	$665536, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   sbbq	$665536, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		sbbq	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbq	$7, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   sbbq	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		sbbq	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbq	%rsi, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   sbbq	%rsi, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		sbbq	%rsi, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     sbbq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     scasb	%es:(%rdi), %al
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     scasw	%es:(%rdi), %ax
@@ -2396,32 +2747,43 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     subb	$7, %al
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     subb	$7, %dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   subb	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		subb	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     subb	%sil, %dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   subb	%sil, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		subb	%sil, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     subb	(%rax), %dil
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     subw	$511, %ax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     subw	$511, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   subw	$511, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		subw	$511, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     subw	$7, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   subw	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		subw	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     subw	%si, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   subw	%si, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		subw	%si, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     subw	(%rax), %di
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     subl	$665536, %eax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     subl	$665536, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   subl	$665536, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		subl	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     subl	$7, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   subl	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		subl	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     subl	%esi, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   subl	%esi, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		subl	%esi, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     subl	(%rax), %edi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     subq	$665536, %rax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     subq	$665536, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   subq	$665536, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		subq	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     subq	$7, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   subq	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		subq	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     subq	%rsi, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   subq	%rsi, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		subq	%rsi, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     subq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     testb	$7, %al
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     testb	$7, %dil
@@ -2453,51 +2815,70 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     wrmsr
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xaddb	%bl, %cl
 # CHECK-NEXT:  -      -      -      -      -      -     20.00   -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xaddb	%bl, (%rcx)
+# CHECK-NEXT:  -      -      -      -      -      -     20.00   -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xaddw	%bx, %cx
 # CHECK-NEXT:  -      -      -      -      -      -     20.00   -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xaddw	%ax, (%rbx)
+# CHECK-NEXT:  -      -      -      -      -      -     20.00   -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xaddl	%ebx, %ecx
 # CHECK-NEXT:  -      -      -      -      -      -     20.00   -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xaddl	%eax, (%rbx)
+# CHECK-NEXT:  -      -      -      -      -      -     20.00   -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xaddq	%rbx, %rcx
 # CHECK-NEXT:  -      -      -      -      -      -     20.00   -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xaddq	%rax, (%rbx)
+# CHECK-NEXT:  -      -      -      -      -      -     20.00   -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xchgb	%bl, %cl
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   xchgb	%bl, (%rbx)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xchgw	%bx, %ax
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xchgw	%bx, %cx
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   xchgw	%ax, (%rbx)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xchgl	%ebx, %eax
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xchgl	%ebx, %ecx
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   xchgl	%eax, (%rbx)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xchgq	%rbx, %rax
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xchgq	%rbx, %rcx
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   xchgq	%rax, (%rbx)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xlatb
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xorb	$7, %al
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xorb	$7, %dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   xorb	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		xorb	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xorb	%sil, %dil
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   xorb	%sil, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		xorb	%sil, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     xorb	(%rax), %dil
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xorw	$511, %ax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xorw	$511, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   xorw	$511, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		xorw	$511, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xorw	$7, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   xorw	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		xorw	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xorw	%si, %di
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   xorw	%si, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		xorw	%si, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     xorw	(%rax), %di
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xorl	$665536, %eax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xorl	$665536, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   xorl	$665536, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xorl	$7, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   xorl	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		xorl	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xorl	%esi, %edi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   xorl	%esi, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		xorl	%esi, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     xorl	(%rax), %edi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xorq	$665536, %rax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xorq	$665536, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   xorq	$665536, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xorq	$7, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   xorq	$7, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		xorq	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xorq	%rsi, %rdi
 # CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   xorq	%rsi, (%rax)
+# CHECK-NEXT: 2.00   2.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -     1.00   lock		xorq	%rsi, (%rax)
 # CHECK-NEXT: 1.50   1.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     xorq	(%rax), %rdi

Modified: llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s?rev=369367&r1=369366&r2=369367&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s Tue Aug 20 04:13:20 2019
@@ -4,115 +4,152 @@
 adcb $0, %al
 adcb $0, %dil
 adcb $0, (%rax)
+lock adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
+lock adcb $7, (%rax)
 adcb %sil, %dil
 adcb %sil, (%rax)
+lock adcb %sil, (%rax)
 adcb (%rax), %dil
 
 adcw $0, %ax
 adcw $0, %di
 adcw $0, (%rax)
+lock adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
+lock adcw $511, (%rax)
 adcw $7, %di
 adcw $7, (%rax)
+lock adcw $7, (%rax)
 adcw %si, %di
 adcw %si, (%rax)
+lock adcw %si, (%rax)
 adcw (%rax), %di
 
 adcl $0, %eax
 adcl $0, %edi
 adcl $0, (%rax)
+lock adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
+lock adcl $665536, (%rax)
 adcl $7, %edi
 adcl $7, (%rax)
+lock adcl $7, (%rax)
 adcl %esi, %edi
 adcl %esi, (%rax)
+lock adcl %esi, (%rax)
 adcl (%rax), %edi
 
 adcq $0, %rax
 adcq $0, %rdi
 adcq $0, (%rax)
+lock adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
+lock adcq $665536, (%rax)
 adcq $7, %rdi
 adcq $7, (%rax)
+lock adcq $7, (%rax)
 adcq %rsi, %rdi
 adcq %rsi, (%rax)
+lock adcq %rsi, (%rax)
 adcq (%rax), %rdi
 
 addb $7, %al
 addb $7, %dil
 addb $7, (%rax)
+lock addb $7, (%rax)
 addb %sil, %dil
 addb %sil, (%rax)
+lock addb %sil, (%rax)
 addb (%rax), %dil
 
 addw $511, %ax
 addw $511, %di
 addw $511, (%rax)
+lock addw $511, (%rax)
 addw $7, %di
 addw $7, (%rax)
+lock addw $7, (%rax)
 addw %si, %di
 addw %si, (%rax)
+lock addw %si, (%rax)
 addw (%rax), %di
 
 addl $665536, %eax
 addl $665536, %edi
 addl $665536, (%rax)
+lock addl $665536, (%rax)
 addl $7, %edi
 addl $7, (%rax)
+lock addl $7, (%rax)
 addl %esi, %edi
 addl %esi, (%rax)
+lock addl %esi, (%rax)
 addl (%rax), %edi
 
 addq $665536, %rax
 addq $665536, %rdi
 addq $665536, (%rax)
+lock addq $665536, (%rax)
 addq $7, %rdi
 addq $7, (%rax)
+lock addq $7, (%rax)
 addq %rsi, %rdi
 addq %rsi, (%rax)
+lock addq %rsi, (%rax)
 addq (%rax), %rdi
 
 andb $7, %al
 andb $7, %dil
 andb $7, (%rax)
+lock andb $7, (%rax)
 andb %sil, %dil
 andb %sil, (%rax)
+lock andb %sil, (%rax)
 andb (%rax), %dil
 
 andw $511, %ax
 andw $511, %di
 andw $511, (%rax)
+lock andw $511, (%rax)
 andw $7, %di
 andw $7, (%rax)
+lock andw $7, (%rax)
 andw %si, %di
 andw %si, (%rax)
+lock andw %si, (%rax)
 andw (%rax), %di
 
 andl $665536, %eax
 andl $665536, %edi
 andl $665536, (%rax)
+lock andl $665536, (%rax)
 andl $7, %edi
 andl $7, (%rax)
+lock andl $7, (%rax)
 andl %esi, %edi
 andl %esi, (%rax)
+lock andl %esi, (%rax)
 andl (%rax), %edi
 
 andq $665536, %rax
 andq $665536, %rdi
 andq $665536, (%rax)
+lock andq $665536, (%rax)
 andq $7, %rdi
 andq $7, (%rax)
+lock andq $7, (%rax)
 andq %rsi, %rdi
 andq %rsi, (%rax)
+lock andq %rsi, (%rax)
 andq (%rax), %rdi
 
 bsfw %si, %di
@@ -141,6 +178,9 @@ btw  %si, (%rax)
 btcw %si, (%rax)
 btrw %si, (%rax)
 btsw %si, (%rax)
+lock btcw %si, (%rax)
+lock btrw %si, (%rax)
+lock btsw %si, (%rax)
 btw  $7, %di
 btcw $7, %di
 btrw $7, %di
@@ -149,6 +189,9 @@ btw  $7, (%rax)
 btcw $7, (%rax)
 btrw $7, (%rax)
 btsw $7, (%rax)
+lock btcw $7, (%rax)
+lock btrw $7, (%rax)
+lock btsw $7, (%rax)
 
 btl  %esi, %edi
 btcl %esi, %edi
@@ -158,6 +201,9 @@ btl  %esi, (%rax)
 btcl %esi, (%rax)
 btrl %esi, (%rax)
 btsl %esi, (%rax)
+lock btcl %esi, (%rax)
+lock btrl %esi, (%rax)
+lock btsl %esi, (%rax)
 btl  $7, %edi
 btcl $7, %edi
 btrl $7, %edi
@@ -166,6 +212,9 @@ btl  $7, (%rax)
 btcl $7, (%rax)
 btrl $7, (%rax)
 btsl $7, (%rax)
+lock btcl $7, (%rax)
+lock btrl $7, (%rax)
+lock btsl $7, (%rax)
 
 btq  %rsi, %rdi
 btcq %rsi, %rdi
@@ -175,6 +224,9 @@ btq  %rsi, (%rax)
 btcq %rsi, (%rax)
 btrq %rsi, (%rax)
 btsq %rsi, (%rax)
+lock btcq %rsi, (%rax)
+lock btrq %rsi, (%rax)
+lock btsq %rsi, (%rax)
 btq  $7, %rdi
 btcq $7, %rdi
 btrq $7, %rdi
@@ -183,6 +235,9 @@ btq  $7, (%rax)
 btcq $7, (%rax)
 btrq $7, (%rax)
 btsq $7, (%rax)
+lock btcq $7, (%rax)
+lock btrq $7, (%rax)
+lock btsq $7, (%rax)
 
 cbw
 cwde
@@ -254,12 +309,16 @@ cpuid
 
 decb %dil
 decb (%rax)
+lock decb (%rax)
 decw %di
 decw (%rax)
+lock decw (%rax)
 decl %edi
 decl (%rax)
+lock decl (%rax)
 decq %rdi
 decq (%rax)
+lock decq (%rax)
 
 divb %dil
 divb (%rax)
@@ -320,12 +379,16 @@ inl %dx, %eax
 
 incb %dil
 incb (%rax)
+lock incb (%rax)
 incw %di
 incw (%rax)
+lock incw (%rax)
 incl %edi
 incl (%rax)
+lock incl (%rax)
 incq %rdi
 incq (%rax)
+lock incq (%rax)
 
 insb
 insw
@@ -386,12 +449,16 @@ mulq (%rax)
 
 negb %dil
 negb (%r8)
+lock negb (%r8)
 negw %si
 negw (%r9)
+lock negw (%r9)
 negl %edx
 negl (%rax)
+lock negl (%rax)
 negq %rcx
 negq (%r10)
+lock negq (%r10)
 
 nop
 nopw %di
@@ -403,45 +470,60 @@ nopq (%r9)
 
 notb %dil
 notb (%r8)
+lock notb (%r8)
 notw %si
 notw (%r9)
+lock notw (%r9)
 notl %edx
 notl (%rax)
+lock notl (%rax)
 notq %rcx
 notq (%r10)
+lock notq (%r10)
 
 orb $7, %al
 orb $7, %dil
 orb $7, (%rax)
+lock orb $7, (%rax)
 orb %sil, %dil
 orb %sil, (%rax)
+lock orb %sil, (%rax)
 orb (%rax), %dil
 
 orw $511, %ax
 orw $511, %di
 orw $511, (%rax)
+lock orw $511, (%rax)
 orw $7, %di
 orw $7, (%rax)
+lock orw $7, (%rax)
 orw %si, %di
 orw %si, (%rax)
+lock orw %si, (%rax)
 orw (%rax), %di
 
 orl $665536, %eax
 orl $665536, %edi
 orl $665536, (%rax)
+lock orl $665536, (%rax)
 orl $7, %edi
 orl $7, (%rax)
+lock orl $7, (%rax)
 orl %esi, %edi
 orl %esi, (%rax)
+lock orl %esi, (%rax)
 orl (%rax), %edi
 
 orq $665536, %rax
 orq $665536, %rdi
 orq $665536, (%rax)
+lock orq $665536, (%rax)
 orq $7, %rdi
 orq $7, (%rax)
+lock orq $7, (%rax)
 orq %rsi, %rdi
 orq %rsi, (%rax)
+lock orq %rsi, (%rax)
 orq (%rax), %rdi
 
 outb %al,  $7
@@ -647,47 +729,62 @@ shrq %cl, (%rax)
 sbbb $0, %al
 sbbb $0, %dil
 sbbb $0, (%rax)
+lock sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
+lock sbbb $7, (%rax)
 sbbb %sil, %dil
 sbbb %sil, (%rax)
+lock sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
 sbbw $0, %ax
 sbbw $0, %di
 sbbw $0, (%rax)
+lock sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
+lock sbbw $511, (%rax)
 sbbw $7, %di
 sbbw $7, (%rax)
+lock sbbw $7, (%rax)
 sbbw %si, %di
 sbbw %si, (%rax)
+lock sbbw %si, (%rax)
 sbbw (%rax), %di
 
 sbbl $0, %eax
 sbbl $0, %edi
 sbbl $0, (%rax)
+lock sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
+lock sbbl $665536, (%rax)
 sbbl $7, %edi
 sbbl $7, (%rax)
+lock sbbl $7, (%rax)
 sbbl %esi, %edi
 sbbl %esi, (%rax)
+lock sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
 sbbq $0, %rax
 sbbq $0, %rdi
 sbbq $0, (%rax)
+lock sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
+lock sbbq $665536, (%rax)
 sbbq $7, %rdi
 sbbq $7, (%rax)
+lock sbbq $7, (%rax)
 sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
+lock sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
 scasb
@@ -766,35 +863,46 @@ stosq
 subb $7, %al
 subb $7, %dil
 subb $7, (%rax)
+lock subb $7, (%rax)
 subb %sil, %dil
 subb %sil, (%rax)
+lock subb %sil, (%rax)
 subb (%rax), %dil
 
 subw $511, %ax
 subw $511, %di
 subw $511, (%rax)
+lock subw $511, (%rax)
 subw $7, %di
 subw $7, (%rax)
+lock subw $7, (%rax)
 subw %si, %di
 subw %si, (%rax)
+lock subw %si, (%rax)
 subw (%rax), %di
 
 subl $665536, %eax
 subl $665536, %edi
 subl $665536, (%rax)
+lock subl $665536, (%rax)
 subl $7, %edi
 subl $7, (%rax)
+lock subl $7, (%rax)
 subl %esi, %edi
 subl %esi, (%rax)
+lock subl %esi, (%rax)
 subl (%rax), %edi
 
 subq $665536, %rax
 subq $665536, %rdi
 subq $665536, (%rax)
+lock subq $665536, (%rax)
 subq $7, %rdi
 subq $7, (%rax)
+lock subq $7, (%rax)
 subq %rsi, %rdi
 subq %rsi, (%rax)
+lock subq %rsi, (%rax)
 subq (%rax), %rdi
 
 testb $7, %al
@@ -833,65 +941,84 @@ wrmsr
 
 xaddb %bl, %cl
 xaddb %bl, (%rcx)
+lock xaddb %bl, (%rcx)
 
 xaddw %bx, %cx
 xaddw %ax, (%rbx)
+lock xaddw %ax, (%rbx)
 
 xaddl %ebx, %ecx
 xaddl %eax, (%rbx)
+lock xaddl %eax, (%rbx)
 
 xaddq %rbx, %rcx
 xaddq %rax, (%rbx)
+lock xaddq %rax, (%rbx)
 
 xchgb %bl, %cl
 xchgb %bl, (%rbx)
+lock xchgb %bl, (%rbx)
 
 xchgw %ax, %bx
 xchgw %bx, %cx
 xchgw %ax, (%rbx)
+lock xchgw %ax, (%rbx)
 
 xchgl %eax, %ebx
 xchgl %ebx, %ecx
 xchgl %eax, (%rbx)
+lock xchgl %eax, (%rbx)
 
 xchgq %rax, %rbx
 xchgq %rbx, %rcx
 xchgq %rax, (%rbx)
+lock xchgq %rax, (%rbx)
 
 xlatb
 
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
+lock xorb $7, (%rax)
 xorb %sil, %dil
 xorb %sil, (%rax)
+lock xorb %sil, (%rax)
 xorb (%rax), %dil
 
 xorw $511, %ax
 xorw $511, %di
 xorw $511, (%rax)
+lock xorw $511, (%rax)
 xorw $7, %di
 xorw $7, (%rax)
+lock xorw $7, (%rax)
 xorw %si, %di
 xorw %si, (%rax)
+lock xorw %si, (%rax)
 xorw (%rax), %di
 
 xorl $665536, %eax
 xorl $665536, %edi
 xorl $665536, (%rax)
+lock xorl $665536, (%rax)
 xorl $7, %edi
 xorl $7, (%rax)
+lock xorl $7, (%rax)
 xorl %esi, %edi
 xorl %esi, (%rax)
+lock xorl %esi, (%rax)
 xorl (%rax), %edi
 
 xorq $665536, %rax
 xorq $665536, %rdi
 xorq $665536, (%rax)
+lock xorq $665536, (%rax)
 xorq $7, %rdi
 xorq $7, (%rax)
+lock xorq $7, (%rax)
 xorq %rsi, %rdi
 xorq %rsi, (%rax)
+lock xorq %rsi, (%rax)
 xorq (%rax), %rdi
 
 # CHECK:      Instruction Info:
@@ -906,104 +1033,141 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.50                        adcb	$0, %al
 # CHECK-NEXT:  1      1     0.50                        adcb	$0, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            adcb	$0, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcb	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        adcb	$7, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            adcb	$7, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcb	%sil, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            adcb	%sil, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   adcb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.50                        adcw	$0, %ax
 # CHECK-NEXT:  1      1     0.50                        adcw	$0, %di
 # CHECK-NEXT:  6      8     1.00    *      *            adcw	$0, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcw	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcw	$511, %ax
 # CHECK-NEXT:  1      1     0.50                        adcw	$511, %di
 # CHECK-NEXT:  6      8     1.00    *      *            adcw	$511, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcw	$7, %di
 # CHECK-NEXT:  6      8     1.00    *      *            adcw	$7, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcw	%si, %di
 # CHECK-NEXT:  6      8     1.00    *      *            adcw	%si, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   adcw	(%rax), %di
 # CHECK-NEXT:  1      1     0.50                        adcl	$0, %eax
 # CHECK-NEXT:  1      1     0.50                        adcl	$0, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            adcl	$0, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcl	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcl	$665536, %eax
 # CHECK-NEXT:  1      1     0.50                        adcl	$665536, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            adcl	$665536, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcl	$7, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            adcl	$7, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcl	%esi, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            adcl	%esi, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   adcl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.50                        adcq	$0, %rax
 # CHECK-NEXT:  1      1     0.50                        adcq	$0, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            adcq	$0, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcq	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcq	$665536, %rax
 # CHECK-NEXT:  1      1     0.50                        adcq	$665536, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            adcq	$665536, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcq	$7, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            adcq	$7, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcq	%rsi, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            adcq	%rsi, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   adcq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        addb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        addb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            addb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            addb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.25                        addw	$511, %ax
 # CHECK-NEXT:  1      1     0.25                        addw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            addw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            addw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            addw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addw	(%rax), %di
 # CHECK-NEXT:  1      1     0.25                        addl	$665536, %eax
 # CHECK-NEXT:  1      1     0.25                        addl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            addl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            addl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            addl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.25                        addq	$665536, %rax
 # CHECK-NEXT:  1      1     0.25                        addq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            addq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            addq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            addq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        andb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        andb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            andb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            andb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.25                        andw	$511, %ax
 # CHECK-NEXT:  1      1     0.25                        andw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            andw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            andw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            andw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andw	(%rax), %di
 # CHECK-NEXT:  1      1     0.25                        andl	$665536, %eax
 # CHECK-NEXT:  1      1     0.25                        andl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            andl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            andl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            andl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.25                        andq	$665536, %rax
 # CHECK-NEXT:  1      1     0.25                        andq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andq	(%rax), %rdi
 # CHECK-NEXT:  1      3     1.00                        bsfw	%si, %di
 # CHECK-NEXT:  1      3     1.00                        bsrw	%si, %di
@@ -1027,6 +1191,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  3      6     1.00    *      *            btcw	%si, (%rax)
 # CHECK-NEXT:  3      6     1.00    *      *            btrw	%si, (%rax)
 # CHECK-NEXT:  3      6     1.00    *      *            btsw	%si, (%rax)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		btcw	%si, (%rax)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		btrw	%si, (%rax)
+# CHECK-NEXT:  3      6     1.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
@@ -1035,6 +1202,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      6     1.00    *      *            btcw	$7, (%rax)
 # CHECK-NEXT:  4      6     1.00    *      *            btrw	$7, (%rax)
 # CHECK-NEXT:  4      6     1.00    *      *            btsw	$7, (%rax)
+# CHECK-NEXT:  4      6     1.00    *      *            lock		btcw	$7, (%rax)
+# CHECK-NEXT:  4      6     1.00    *      *            lock		btrw	$7, (%rax)
+# CHECK-NEXT:  4      6     1.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
@@ -1043,6 +1213,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  3      6     1.00    *      *            btcl	%esi, (%rax)
 # CHECK-NEXT:  3      6     1.00    *      *            btrl	%esi, (%rax)
 # CHECK-NEXT:  3      6     1.00    *      *            btsl	%esi, (%rax)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		btcl	%esi, (%rax)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		btrl	%esi, (%rax)
+# CHECK-NEXT:  3      6     1.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
@@ -1051,6 +1224,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      6     1.00    *      *            btcl	$7, (%rax)
 # CHECK-NEXT:  4      6     1.00    *      *            btrl	$7, (%rax)
 # CHECK-NEXT:  4      6     1.00    *      *            btsl	$7, (%rax)
+# CHECK-NEXT:  4      6     1.00    *      *            lock		btcl	$7, (%rax)
+# CHECK-NEXT:  4      6     1.00    *      *            lock		btrl	$7, (%rax)
+# CHECK-NEXT:  4      6     1.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
@@ -1059,6 +1235,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  3      6     1.00    *      *            btcq	%rsi, (%rax)
 # CHECK-NEXT:  3      6     1.00    *      *            btrq	%rsi, (%rax)
 # CHECK-NEXT:  3      6     1.00    *      *            btsq	%rsi, (%rax)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		btcq	%rsi, (%rax)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		btrq	%rsi, (%rax)
+# CHECK-NEXT:  3      6     1.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
@@ -1067,6 +1246,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      6     1.00    *      *            btcq	$7, (%rax)
 # CHECK-NEXT:  4      6     1.00    *      *            btrq	$7, (%rax)
 # CHECK-NEXT:  4      6     1.00    *      *            btsq	$7, (%rax)
+# CHECK-NEXT:  4      6     1.00    *      *            lock		btcq	$7, (%rax)
+# CHECK-NEXT:  4      6     1.00    *      *            lock		btrq	$7, (%rax)
+# CHECK-NEXT:  4      6     1.00    *      *            lock		btsq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        cbtw
 # CHECK-NEXT:  1      1     0.25                        cwtl
 # CHECK-NEXT:  1      1     0.25                        cltq
@@ -1125,12 +1307,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  8      18    2.00                  U     cpuid
 # CHECK-NEXT:  1      1     0.25                        decb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            decb	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decb	(%rax)
 # CHECK-NEXT:  1      1     0.25                        decw	%di
 # CHECK-NEXT:  3      7     1.00    *      *            decw	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decw	(%rax)
 # CHECK-NEXT:  1      1     0.25                        decl	%edi
 # CHECK-NEXT:  3      7     1.00    *      *            decl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        decq	%rdi
 # CHECK-NEXT:  3      7     1.00    *      *            decq	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decq	(%rax)
 # CHECK-NEXT:  1      25    10.00                 U     divb	%dil
 # CHECK-NEXT:  8      34    2.00    *             U     divb	(%rax)
 # CHECK-NEXT:  32     80    8.00                  U     divw	%si
@@ -1182,12 +1368,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  23     34    5.00                  U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.25                        incb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            incb	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incb	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incw	%di
 # CHECK-NEXT:  3      7     1.00    *      *            incw	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incw	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incl	%edi
 # CHECK-NEXT:  3      7     1.00    *      *            incl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incq	%rdi
 # CHECK-NEXT:  3      7     1.00    *      *            incq	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incq	(%rax)
 # CHECK-NEXT:  8      20    1.25                  U     insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  8      20    1.25                  U     insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  8      20    1.25                  U     insl	%dx, %es:(%rdi)
@@ -1236,12 +1426,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  3      9     1.00    *                   mulq	(%rax)
 # CHECK-NEXT:  1      1     0.25                        negb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            negb	(%r8)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negb	(%r8)
 # CHECK-NEXT:  1      1     0.25                        negw	%si
 # CHECK-NEXT:  3      7     1.00    *      *            negw	(%r9)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negw	(%r9)
 # CHECK-NEXT:  1      1     0.25                        negl	%edx
 # CHECK-NEXT:  3      7     1.00    *      *            negl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        negq	%rcx
 # CHECK-NEXT:  3      7     1.00    *      *            negq	(%r10)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negq	(%r10)
 # CHECK-NEXT:  1      1     0.25                        nop
 # CHECK-NEXT:  1      1     0.25                        nopw	%di
 # CHECK-NEXT:  1      1     0.25                        nopw	(%rcx)
@@ -1251,41 +1445,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        nopq	(%r9)
 # CHECK-NEXT:  1      1     0.25                        notb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            notb	(%r8)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notb	(%r8)
 # CHECK-NEXT:  1      1     0.25                        notw	%si
 # CHECK-NEXT:  3      7     1.00    *      *            notw	(%r9)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notw	(%r9)
 # CHECK-NEXT:  1      1     0.25                        notl	%edx
 # CHECK-NEXT:  3      7     1.00    *      *            notl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        notq	%rcx
 # CHECK-NEXT:  3      7     1.00    *      *            notq	(%r10)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notq	(%r10)
 # CHECK-NEXT:  1      1     0.25                        orb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        orb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            orb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            orb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.25                        orw	$511, %ax
 # CHECK-NEXT:  1      1     0.25                        orw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            orw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            orw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            orw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orw	(%rax), %di
 # CHECK-NEXT:  1      1     0.25                        orl	$665536, %eax
 # CHECK-NEXT:  1      1     0.25                        orl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            orl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            orl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            orl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.25                        orq	$665536, %rax
 # CHECK-NEXT:  1      1     0.25                        orq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orq	(%rax), %rdi
 # CHECK-NEXT:  23     35    5.00                  U     outb	%al, $7
 # CHECK-NEXT:  23     35    5.00                  U     outb	%al, %dx
@@ -1473,44 +1682,59 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.50                        sbbb	$0, %al
 # CHECK-NEXT:  1      1     0.50                        sbbb	$0, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            sbbb	$0, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbb	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        sbbb	$7, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            sbbb	$7, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbb	%sil, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            sbbb	%sil, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.50                        sbbw	$0, %ax
 # CHECK-NEXT:  1      1     0.50                        sbbw	$0, %di
 # CHECK-NEXT:  6      8     1.00    *      *            sbbw	$0, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbw	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbw	$511, %ax
 # CHECK-NEXT:  1      1     0.50                        sbbw	$511, %di
 # CHECK-NEXT:  6      8     1.00    *      *            sbbw	$511, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbw	$7, %di
 # CHECK-NEXT:  6      8     1.00    *      *            sbbw	$7, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbw	%si, %di
 # CHECK-NEXT:  6      8     1.00    *      *            sbbw	%si, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbw	(%rax), %di
 # CHECK-NEXT:  1      1     0.50                        sbbl	$0, %eax
 # CHECK-NEXT:  1      1     0.50                        sbbl	$0, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbl	$0, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbl	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbl	$665536, %eax
 # CHECK-NEXT:  1      1     0.50                        sbbl	$665536, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbl	$665536, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbl	$7, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbl	$7, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbl	%esi, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbl	%esi, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.50                        sbbq	$0, %rax
 # CHECK-NEXT:  1      1     0.50                        sbbq	$0, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbq	$0, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbq	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbq	$665536, %rax
 # CHECK-NEXT:  1      1     0.50                        sbbq	$665536, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbq	$665536, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbq	$7, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbq	$7, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbq	%rsi, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbq	%rsi, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbq	(%rax), %rdi
 # CHECK-NEXT:  3      7     0.50                  U     scasb	%es:(%rdi), %al
 # CHECK-NEXT:  3      7     0.50                  U     scasw	%es:(%rdi), %ax
@@ -1581,32 +1805,43 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        subb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        subb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            subb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            subb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.25                        subw	$511, %ax
 # CHECK-NEXT:  1      1     0.25                        subw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            subw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            subw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            subw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subw	(%rax), %di
 # CHECK-NEXT:  1      1     0.25                        subl	$665536, %eax
 # CHECK-NEXT:  1      1     0.25                        subl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            subl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            subl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            subl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.25                        subq	$665536, %rax
 # CHECK-NEXT:  1      1     0.25                        subq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        testb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        testb	$7, %dil
@@ -1638,53 +1873,72 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.25                  U     wrmsr
 # CHECK-NEXT:  3      2     0.75                        xaddb	%bl, %cl
 # CHECK-NEXT:  5      7     1.00    *      *            xaddb	%bl, (%rcx)
+# CHECK-NEXT:  5      7     1.00    *      *            lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  3      2     0.75                        xaddw	%bx, %cx
 # CHECK-NEXT:  5      7     1.00    *      *            xaddw	%ax, (%rbx)
+# CHECK-NEXT:  5      7     1.00    *      *            lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  3      2     0.75                        xaddl	%ebx, %ecx
 # CHECK-NEXT:  5      7     1.00    *      *            xaddl	%eax, (%rbx)
+# CHECK-NEXT:  5      7     1.00    *      *            lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  3      2     0.75                        xaddq	%rbx, %rcx
 # CHECK-NEXT:  5      7     1.00    *      *            xaddq	%rax, (%rbx)
+# CHECK-NEXT:  5      7     1.00    *      *            lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  3      2     0.75                        xchgb	%bl, %cl
 # CHECK-NEXT:  6      8     1.00    *      *            xchgb	%bl, (%rbx)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT:  3      2     0.75                        xchgw	%bx, %ax
 # CHECK-NEXT:  3      2     0.75                        xchgw	%bx, %cx
 # CHECK-NEXT:  6      8     1.00    *      *            xchgw	%ax, (%rbx)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT:  3      2     0.75                        xchgl	%ebx, %eax
 # CHECK-NEXT:  3      2     0.75                        xchgl	%ebx, %ecx
 # CHECK-NEXT:  6      8     1.00    *      *            xchgl	%eax, (%rbx)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT:  3      2     0.75                        xchgq	%rbx, %rax
 # CHECK-NEXT:  3      2     0.75                        xchgq	%rbx, %rcx
 # CHECK-NEXT:  6      8     1.00    *      *            xchgq	%rax, (%rbx)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT:  1      5     0.50    *                   xlatb
 # CHECK-NEXT:  1      1     0.25                        xorb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        xorb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            xorb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            xorb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.25                        xorw	$511, %ax
 # CHECK-NEXT:  1      1     0.25                        xorw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            xorw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            xorw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            xorw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorw	(%rax), %di
 # CHECK-NEXT:  1      1     0.25                        xorl	$665536, %eax
 # CHECK-NEXT:  1      1     0.25                        xorl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            xorl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            xorl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            xorl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.25                        xorq	$665536, %rax
 # CHECK-NEXT:  1      1     0.25                        xorq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            xorq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            xorq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            xorq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorq	(%rax), %rdi
 
 # CHECK:      Resources:
@@ -1701,111 +1955,148 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 50.00   -     523.50 347.50 272.67 272.67 218.00 260.00 557.00 86.67
+# CHECK-NEXT: 50.00   -     590.50 380.00 378.50 378.50 345.00 292.50 624.00 129.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb	$0, %al
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcb	$0, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcb	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb	$7, %al
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcb	$7, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcb	%sil, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb	%sil, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     adcb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw	$0, %ax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw	$0, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcw	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcw	$511, %ax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw	$511, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw	$511, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw	$7, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw	%si, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw	%si, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     adcw	(%rax), %di
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl	$0, %eax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl	$0, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcl	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcl	$665536, %eax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl	$665536, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl	$7, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl	%esi, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl	%esi, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     adcl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq	$0, %rax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq	$0, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcq	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcq	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcq	$665536, %rax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq	$665536, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcq	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq	$7, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcq	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq	%rsi, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     adcq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addb	$7, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addb	%sil, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     addb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addw	$511, %ax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addw	$511, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addw	$7, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addw	%si, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     addw	(%rax), %di
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addl	$665536, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addl	$665536, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addl	$7, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addl	%esi, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     addl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addq	$665536, %rax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addq	$7, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     addq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andb	$7, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andb	%sil, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     andb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andw	$511, %ax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andw	$511, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andw	$7, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andw	%si, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     andw	(%rax), %di
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andl	$665536, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andl	$665536, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andl	$7, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andl	%esi, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     andl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andq	$665536, %rax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andq	$7, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     andq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsfw	%si, %di
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsrw	%si, %di
@@ -1829,6 +2120,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   btcw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   btrw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   btsw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		btcw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		btrw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		btsw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btw	$7, %di
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btcw	$7, %di
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btrw	$7, %di
@@ -1837,6 +2131,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btcw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btrw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btsw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btcw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btrw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btsw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btl	%esi, %edi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btcl	%esi, %edi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btrl	%esi, %edi
@@ -1845,6 +2142,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   btcl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   btrl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   btsl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		btcl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		btrl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		btsl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btl	$7, %edi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btcl	$7, %edi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btrl	$7, %edi
@@ -1853,6 +2153,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btcl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btrl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btsl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btcl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btrl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btsl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btcq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btrq	%rsi, %rdi
@@ -1861,6 +2164,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   btcq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   btrq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   btsq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		btcq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		btrq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		btsq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btq	$7, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btcq	$7, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btrq	$7, %rdi
@@ -1869,6 +2175,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btcq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btrq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btsq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btcq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btrq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btsq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     cbtw
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     cwtl
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     cltq
@@ -1927,12 +2236,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.75   1.25    -      -      -     2.25   2.75    -     cpuid
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   decb	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		decb	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decw	%di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   decw	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		decw	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decl	%edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   decl	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		decl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decq	%rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   decq	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		decq	(%rax)
 # CHECK-NEXT: 10.00   -     1.00    -      -      -      -      -      -      -     divb	%dil
 # CHECK-NEXT:  -      -     2.25   2.25   0.50   0.50    -     2.25   0.25    -     divb	(%rax)
 # CHECK-NEXT:  -      -     10.25  10.25   -      -      -     5.75   5.75    -     divw	%si
@@ -1984,12 +2297,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inl	%dx, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incb	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		incb	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incw	%di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incw	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		incw	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incl	%edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incl	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		incl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incq	%rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incq	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		incq	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insl	%dx, %es:(%rdi)
@@ -2038,12 +2355,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -     1.00    -      -     mulq	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     negb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   negb	(%r8)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		negb	(%r8)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     negw	%si
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   negw	(%r9)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		negw	(%r9)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     negl	%edx
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   negl	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		negl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     negq	%rcx
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   negq	(%r10)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		negq	(%r10)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     nop
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     nopw	%di
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     nopw	(%rcx)
@@ -2053,41 +2374,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     nopq	(%r9)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     notb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   notb	(%r8)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		notb	(%r8)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     notw	%si
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   notw	(%r9)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		notw	(%r9)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     notl	%edx
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   notl	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		notl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     notq	%rcx
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   notq	(%r10)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		notq	(%r10)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orb	$7, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orb	%sil, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     orb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orw	$511, %ax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orw	$511, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orw	$7, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orw	%si, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     orw	(%rax), %di
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orl	$665536, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orl	$665536, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orl	$7, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orl	%esi, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     orl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orq	$665536, %rax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orq	$7, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     orq	(%rax), %rdi
 # CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outb	%al, $7
 # CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outb	%al, %dx
@@ -2275,44 +2611,59 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbb	$0, %al
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbb	$0, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbb	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbb	$7, %al
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbb	$7, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbb	%sil, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb	%sil, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw	$0, %ax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw	$0, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbw	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbw	$511, %ax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw	$511, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw	$511, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw	$7, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw	%si, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw	%si, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbw	(%rax), %di
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl	$0, %eax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl	$0, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbl	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbl	$665536, %eax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl	$665536, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl	$7, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl	%esi, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl	%esi, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq	$0, %rax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq	$0, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbq	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbq	$665536, %rax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq	$665536, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq	$7, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq	%rsi, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasb	%es:(%rdi), %al
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasw	%es:(%rdi), %ax
@@ -2383,32 +2734,43 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subb	$7, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subb	%sil, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     subb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subw	$511, %ax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subw	$511, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subw	$7, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subw	%si, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     subw	(%rax), %di
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subl	$665536, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subl	$665536, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subl	$7, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subl	%esi, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     subl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subq	$665536, %rax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subq	$7, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     subq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     testb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     testb	$7, %dil
@@ -2440,51 +2802,70 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     wrmsr
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xaddb	%bl, %cl
 # CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   xaddb	%bl, (%rcx)
+# CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xaddw	%bx, %cx
 # CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   xaddw	%ax, (%rbx)
+# CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xaddl	%ebx, %ecx
 # CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   xaddl	%eax, (%rbx)
+# CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xaddq	%rbx, %rcx
 # CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   xaddq	%rax, (%rbx)
+# CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgb	%bl, %cl
 # CHECK-NEXT:  -      -     0.75   0.75   0.83   0.83   1.00   0.75   0.75   0.33   xchgb	%bl, (%rbx)
+# CHECK-NEXT:  -      -     0.75   0.75   0.83   0.83   1.00   0.75   0.75   0.33   lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgw	%bx, %ax
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgw	%bx, %cx
 # CHECK-NEXT:  -      -     0.75   0.75   0.83   0.83   1.00   0.75   0.75   0.33   xchgw	%ax, (%rbx)
+# CHECK-NEXT:  -      -     0.75   0.75   0.83   0.83   1.00   0.75   0.75   0.33   lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgl	%ebx, %eax
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgl	%ebx, %ecx
 # CHECK-NEXT:  -      -     0.75   0.75   0.83   0.83   1.00   0.75   0.75   0.33   xchgl	%eax, (%rbx)
+# CHECK-NEXT:  -      -     0.75   0.75   0.83   0.83   1.00   0.75   0.75   0.33   lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgq	%rbx, %rax
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgq	%rbx, %rcx
 # CHECK-NEXT:  -      -     0.75   0.75   0.83   0.83   1.00   0.75   0.75   0.33   xchgq	%rax, (%rbx)
+# CHECK-NEXT:  -      -     0.75   0.75   0.83   0.83   1.00   0.75   0.75   0.33   lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     xlatb
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorb	$7, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorb	%sil, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     xorb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorw	$511, %ax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorw	$511, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorw	$7, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorw	%si, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     xorw	(%rax), %di
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorl	$665536, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorl	$665536, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorl	$7, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorl	%esi, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     xorl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorq	$665536, %rax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorq	$7, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     xorq	(%rax), %rdi

Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s?rev=369367&r1=369366&r2=369367&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s Tue Aug 20 04:13:20 2019
@@ -4,115 +4,152 @@
 adcb $0, %al
 adcb $0, %dil
 adcb $0, (%rax)
+lock adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
+lock adcb $7, (%rax)
 adcb %sil, %dil
 adcb %sil, (%rax)
+lock adcb %sil, (%rax)
 adcb (%rax), %dil
 
 adcw $0, %ax
 adcw $0, %di
 adcw $0, (%rax)
+lock adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
+lock adcw $511, (%rax)
 adcw $7, %di
 adcw $7, (%rax)
+lock adcw $7, (%rax)
 adcw %si, %di
 adcw %si, (%rax)
+lock adcw %si, (%rax)
 adcw (%rax), %di
 
 adcl $0, %eax
 adcl $0, %edi
 adcl $0, (%rax)
+lock adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
+lock adcl $665536, (%rax)
 adcl $7, %edi
 adcl $7, (%rax)
+lock adcl $7, (%rax)
 adcl %esi, %edi
 adcl %esi, (%rax)
+lock adcl %esi, (%rax)
 adcl (%rax), %edi
 
 adcq $0, %rax
 adcq $0, %rdi
 adcq $0, (%rax)
+lock adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
+lock adcq $665536, (%rax)
 adcq $7, %rdi
 adcq $7, (%rax)
+lock adcq $7, (%rax)
 adcq %rsi, %rdi
 adcq %rsi, (%rax)
+lock adcq %rsi, (%rax)
 adcq (%rax), %rdi
 
 addb $7, %al
 addb $7, %dil
 addb $7, (%rax)
+lock addb $7, (%rax)
 addb %sil, %dil
 addb %sil, (%rax)
+lock addb %sil, (%rax)
 addb (%rax), %dil
 
 addw $511, %ax
 addw $511, %di
 addw $511, (%rax)
+lock addw $511, (%rax)
 addw $7, %di
 addw $7, (%rax)
+lock addw $7, (%rax)
 addw %si, %di
 addw %si, (%rax)
+lock addw %si, (%rax)
 addw (%rax), %di
 
 addl $665536, %eax
 addl $665536, %edi
 addl $665536, (%rax)
+lock addl $665536, (%rax)
 addl $7, %edi
 addl $7, (%rax)
+lock addl $7, (%rax)
 addl %esi, %edi
 addl %esi, (%rax)
+lock addl %esi, (%rax)
 addl (%rax), %edi
 
 addq $665536, %rax
 addq $665536, %rdi
 addq $665536, (%rax)
+lock addq $665536, (%rax)
 addq $7, %rdi
 addq $7, (%rax)
+lock addq $7, (%rax)
 addq %rsi, %rdi
 addq %rsi, (%rax)
+lock addq %rsi, (%rax)
 addq (%rax), %rdi
 
 andb $7, %al
 andb $7, %dil
 andb $7, (%rax)
+lock andb $7, (%rax)
 andb %sil, %dil
 andb %sil, (%rax)
+lock andb %sil, (%rax)
 andb (%rax), %dil
 
 andw $511, %ax
 andw $511, %di
 andw $511, (%rax)
+lock andw $511, (%rax)
 andw $7, %di
 andw $7, (%rax)
+lock andw $7, (%rax)
 andw %si, %di
 andw %si, (%rax)
+lock andw %si, (%rax)
 andw (%rax), %di
 
 andl $665536, %eax
 andl $665536, %edi
 andl $665536, (%rax)
+lock andl $665536, (%rax)
 andl $7, %edi
 andl $7, (%rax)
+lock andl $7, (%rax)
 andl %esi, %edi
 andl %esi, (%rax)
+lock andl %esi, (%rax)
 andl (%rax), %edi
 
 andq $665536, %rax
 andq $665536, %rdi
 andq $665536, (%rax)
+lock andq $665536, (%rax)
 andq $7, %rdi
 andq $7, (%rax)
+lock andq $7, (%rax)
 andq %rsi, %rdi
 andq %rsi, (%rax)
+lock andq %rsi, (%rax)
 andq (%rax), %rdi
 
 bsfw %si, %di
@@ -141,6 +178,9 @@ btw  %si, (%rax)
 btcw %si, (%rax)
 btrw %si, (%rax)
 btsw %si, (%rax)
+lock btcw %si, (%rax)
+lock btrw %si, (%rax)
+lock btsw %si, (%rax)
 btw  $7, %di
 btcw $7, %di
 btrw $7, %di
@@ -149,6 +189,9 @@ btw  $7, (%rax)
 btcw $7, (%rax)
 btrw $7, (%rax)
 btsw $7, (%rax)
+lock btcw $7, (%rax)
+lock btrw $7, (%rax)
+lock btsw $7, (%rax)
 
 btl  %esi, %edi
 btcl %esi, %edi
@@ -158,6 +201,9 @@ btl  %esi, (%rax)
 btcl %esi, (%rax)
 btrl %esi, (%rax)
 btsl %esi, (%rax)
+lock btcl %esi, (%rax)
+lock btrl %esi, (%rax)
+lock btsl %esi, (%rax)
 btl  $7, %edi
 btcl $7, %edi
 btrl $7, %edi
@@ -166,6 +212,9 @@ btl  $7, (%rax)
 btcl $7, (%rax)
 btrl $7, (%rax)
 btsl $7, (%rax)
+lock btcl $7, (%rax)
+lock btrl $7, (%rax)
+lock btsl $7, (%rax)
 
 btq  %rsi, %rdi
 btcq %rsi, %rdi
@@ -175,6 +224,9 @@ btq  %rsi, (%rax)
 btcq %rsi, (%rax)
 btrq %rsi, (%rax)
 btsq %rsi, (%rax)
+lock btcq %rsi, (%rax)
+lock btrq %rsi, (%rax)
+lock btsq %rsi, (%rax)
 btq  $7, %rdi
 btcq $7, %rdi
 btrq $7, %rdi
@@ -183,6 +235,9 @@ btq  $7, (%rax)
 btcq $7, (%rax)
 btrq $7, (%rax)
 btsq $7, (%rax)
+lock btcq $7, (%rax)
+lock btrq $7, (%rax)
+lock btsq $7, (%rax)
 
 cbw
 cwde
@@ -254,12 +309,16 @@ cpuid
 
 decb %dil
 decb (%rax)
+lock decb (%rax)
 decw %di
 decw (%rax)
+lock decw (%rax)
 decl %edi
 decl (%rax)
+lock decl (%rax)
 decq %rdi
 decq (%rax)
+lock decq (%rax)
 
 divb %dil
 divb (%rax)
@@ -320,12 +379,16 @@ inl %dx, %eax
 
 incb %dil
 incb (%rax)
+lock incb (%rax)
 incw %di
 incw (%rax)
+lock incw (%rax)
 incl %edi
 incl (%rax)
+lock incl (%rax)
 incq %rdi
 incq (%rax)
+lock incq (%rax)
 
 insb
 insw
@@ -386,12 +449,16 @@ mulq (%rax)
 
 negb %dil
 negb (%r8)
+lock negb (%r8)
 negw %si
 negw (%r9)
+lock negw (%r9)
 negl %edx
 negl (%rax)
+lock negl (%rax)
 negq %rcx
 negq (%r10)
+lock negq (%r10)
 
 nop
 nopw %di
@@ -403,45 +470,60 @@ nopq (%r9)
 
 notb %dil
 notb (%r8)
+lock notb (%r8)
 notw %si
 notw (%r9)
+lock notw (%r9)
 notl %edx
 notl (%rax)
+lock notl (%rax)
 notq %rcx
 notq (%r10)
+lock notq (%r10)
 
 orb $7, %al
 orb $7, %dil
 orb $7, (%rax)
+lock orb $7, (%rax)
 orb %sil, %dil
 orb %sil, (%rax)
+lock orb %sil, (%rax)
 orb (%rax), %dil
 
 orw $511, %ax
 orw $511, %di
 orw $511, (%rax)
+lock orw $511, (%rax)
 orw $7, %di
 orw $7, (%rax)
+lock orw $7, (%rax)
 orw %si, %di
 orw %si, (%rax)
+lock orw %si, (%rax)
 orw (%rax), %di
 
 orl $665536, %eax
 orl $665536, %edi
 orl $665536, (%rax)
+lock orl $665536, (%rax)
 orl $7, %edi
 orl $7, (%rax)
+lock orl $7, (%rax)
 orl %esi, %edi
 orl %esi, (%rax)
+lock orl %esi, (%rax)
 orl (%rax), %edi
 
 orq $665536, %rax
 orq $665536, %rdi
 orq $665536, (%rax)
+lock orq $665536, (%rax)
 orq $7, %rdi
 orq $7, (%rax)
+lock orq $7, (%rax)
 orq %rsi, %rdi
 orq %rsi, (%rax)
+lock orq %rsi, (%rax)
 orq (%rax), %rdi
 
 outb %al,  $7
@@ -647,47 +729,62 @@ shrq %cl, (%rax)
 sbbb $0, %al
 sbbb $0, %dil
 sbbb $0, (%rax)
+lock sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
+lock sbbb $7, (%rax)
 sbbb %sil, %dil
 sbbb %sil, (%rax)
+lock sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
 sbbw $0, %ax
 sbbw $0, %di
 sbbw $0, (%rax)
+lock sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
+lock sbbw $511, (%rax)
 sbbw $7, %di
 sbbw $7, (%rax)
+lock sbbw $7, (%rax)
 sbbw %si, %di
 sbbw %si, (%rax)
+lock sbbw %si, (%rax)
 sbbw (%rax), %di
 
 sbbl $0, %eax
 sbbl $0, %edi
 sbbl $0, (%rax)
+lock sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
+lock sbbl $665536, (%rax)
 sbbl $7, %edi
 sbbl $7, (%rax)
+lock sbbl $7, (%rax)
 sbbl %esi, %edi
 sbbl %esi, (%rax)
+lock sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
 sbbq $0, %rax
 sbbq $0, %rdi
 sbbq $0, (%rax)
+lock sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
+lock sbbq $665536, (%rax)
 sbbq $7, %rdi
 sbbq $7, (%rax)
+lock sbbq $7, (%rax)
 sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
+lock sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
 scasb
@@ -766,35 +863,46 @@ stosq
 subb $7, %al
 subb $7, %dil
 subb $7, (%rax)
+lock subb $7, (%rax)
 subb %sil, %dil
 subb %sil, (%rax)
+lock subb %sil, (%rax)
 subb (%rax), %dil
 
 subw $511, %ax
 subw $511, %di
 subw $511, (%rax)
+lock subw $511, (%rax)
 subw $7, %di
 subw $7, (%rax)
+lock subw $7, (%rax)
 subw %si, %di
 subw %si, (%rax)
+lock subw %si, (%rax)
 subw (%rax), %di
 
 subl $665536, %eax
 subl $665536, %edi
 subl $665536, (%rax)
+lock subl $665536, (%rax)
 subl $7, %edi
 subl $7, (%rax)
+lock subl $7, (%rax)
 subl %esi, %edi
 subl %esi, (%rax)
+lock subl %esi, (%rax)
 subl (%rax), %edi
 
 subq $665536, %rax
 subq $665536, %rdi
 subq $665536, (%rax)
+lock subq $665536, (%rax)
 subq $7, %rdi
 subq $7, (%rax)
+lock subq $7, (%rax)
 subq %rsi, %rdi
 subq %rsi, (%rax)
+lock subq %rsi, (%rax)
 subq (%rax), %rdi
 
 testb $7, %al
@@ -833,65 +941,84 @@ wrmsr
 
 xaddb %bl, %cl
 xaddb %bl, (%rcx)
+lock xaddb %bl, (%rcx)
 
 xaddw %bx, %cx
 xaddw %ax, (%rbx)
+lock xaddw %ax, (%rbx)
 
 xaddl %ebx, %ecx
 xaddl %eax, (%rbx)
+lock xaddl %eax, (%rbx)
 
 xaddq %rbx, %rcx
 xaddq %rax, (%rbx)
+lock xaddq %rax, (%rbx)
 
 xchgb %bl, %cl
 xchgb %bl, (%rbx)
+lock xchgb %bl, (%rbx)
 
 xchgw %ax, %bx
 xchgw %bx, %cx
 xchgw %ax, (%rbx)
+lock xchgw %ax, (%rbx)
 
 xchgl %eax, %ebx
 xchgl %ebx, %ecx
 xchgl %eax, (%rbx)
+lock xchgl %eax, (%rbx)
 
 xchgq %rax, %rbx
 xchgq %rbx, %rcx
 xchgq %rax, (%rbx)
+lock xchgq %rax, (%rbx)
 
 xlatb
 
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
+lock xorb $7, (%rax)
 xorb %sil, %dil
 xorb %sil, (%rax)
+lock xorb %sil, (%rax)
 xorb (%rax), %dil
 
 xorw $511, %ax
 xorw $511, %di
 xorw $511, (%rax)
+lock xorw $511, (%rax)
 xorw $7, %di
 xorw $7, (%rax)
+lock xorw $7, (%rax)
 xorw %si, %di
 xorw %si, (%rax)
+lock xorw %si, (%rax)
 xorw (%rax), %di
 
 xorl $665536, %eax
 xorl $665536, %edi
 xorl $665536, (%rax)
+lock xorl $665536, (%rax)
 xorl $7, %edi
 xorl $7, (%rax)
+lock xorl $7, (%rax)
 xorl %esi, %edi
 xorl %esi, (%rax)
+lock xorl %esi, (%rax)
 xorl (%rax), %edi
 
 xorq $665536, %rax
 xorq $665536, %rdi
 xorq $665536, (%rax)
+lock xorq $665536, (%rax)
 xorq $7, %rdi
 xorq $7, (%rax)
+lock xorq $7, (%rax)
 xorq %rsi, %rdi
 xorq %rsi, (%rax)
+lock xorq %rsi, (%rax)
 xorq (%rax), %rdi
 
 # CHECK:      Instruction Info:
@@ -906,104 +1033,141 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                        adcb	$0, %al
 # CHECK-NEXT:  1      1     1.00                        adcb	$0, %dil
 # CHECK-NEXT:  1      5     1.00    *      *            adcb	$0, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		adcb	$0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcb	$7, %al
 # CHECK-NEXT:  1      1     1.00                        adcb	$7, %dil
 # CHECK-NEXT:  1      5     1.00    *      *            adcb	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		adcb	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcb	%sil, %dil
 # CHECK-NEXT:  1      5     1.00    *      *            adcb	%sil, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		adcb	%sil, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   adcb	(%rax), %dil
 # CHECK-NEXT:  1      1     1.00                        adcw	$0, %ax
 # CHECK-NEXT:  1      1     1.00                        adcw	$0, %di
 # CHECK-NEXT:  1      5     1.00    *      *            adcw	$0, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		adcw	$0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcw	$511, %ax
 # CHECK-NEXT:  1      1     1.00                        adcw	$511, %di
 # CHECK-NEXT:  1      5     1.00    *      *            adcw	$511, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		adcw	$511, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcw	$7, %di
 # CHECK-NEXT:  1      5     1.00    *      *            adcw	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		adcw	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcw	%si, %di
 # CHECK-NEXT:  1      5     1.00    *      *            adcw	%si, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		adcw	%si, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   adcw	(%rax), %di
 # CHECK-NEXT:  1      1     1.00                        adcl	$0, %eax
 # CHECK-NEXT:  1      1     1.00                        adcl	$0, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            adcl	$0, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		adcl	$0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcl	$665536, %eax
 # CHECK-NEXT:  1      1     1.00                        adcl	$665536, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            adcl	$665536, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		adcl	$665536, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcl	$7, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            adcl	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		adcl	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcl	%esi, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            adcl	%esi, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		adcl	%esi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   adcl	(%rax), %edi
 # CHECK-NEXT:  1      1     1.00                        adcq	$0, %rax
 # CHECK-NEXT:  1      1     1.00                        adcq	$0, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            adcq	$0, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		adcq	$0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcq	$665536, %rax
 # CHECK-NEXT:  1      1     1.00                        adcq	$665536, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            adcq	$665536, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		adcq	$665536, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcq	$7, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            adcq	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		adcq	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcq	%rsi, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            adcq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     1.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:  1      5     1.00    *      *            addb	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		addb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addb	%sil, %dil
 # CHECK-NEXT:  1      5     1.00    *      *            addb	%sil, (%rax)
+# CHECK-NEXT:  1      5     1.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:  1      5     1.00    *      *            addw	$511, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		addw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addw	$7, %di
 # CHECK-NEXT:  1      5     1.00    *      *            addw	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		addw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addw	%si, %di
 # CHECK-NEXT:  1      5     1.00    *      *            addw	%si, (%rax)
+# CHECK-NEXT:  1      5     1.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:  1      5     1.00    *      *            addl	$665536, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		addl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addl	$7, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            addl	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		addl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addl	%esi, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            addl	%esi, (%rax)
+# CHECK-NEXT:  1      5     1.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:  1      5     1.00    *      *            addq	$665536, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		addq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addq	$7, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            addq	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		addq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        addq	%rsi, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            addq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     1.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:  1      5     1.00    *      *            andb	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		andb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andb	%sil, %dil
 # CHECK-NEXT:  1      5     1.00    *      *            andb	%sil, (%rax)
+# CHECK-NEXT:  1      5     1.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:  1      5     1.00    *      *            andw	$511, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		andw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andw	$7, %di
 # CHECK-NEXT:  1      5     1.00    *      *            andw	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		andw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andw	%si, %di
 # CHECK-NEXT:  1      5     1.00    *      *            andw	%si, (%rax)
+# CHECK-NEXT:  1      5     1.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:  1      5     1.00    *      *            andl	$665536, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		andl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andl	$7, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            andl	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		andl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andl	%esi, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            andl	%esi, (%rax)
+# CHECK-NEXT:  1      5     1.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:  1      5     1.00    *      *            andq	$665536, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		andq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andq	$7, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            andq	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		andq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        andq	%rsi, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            andq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		andq	%rsi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   andq	(%rax), %rdi
 # CHECK-NEXT:  7      4     4.00                        bsfw	%si, %di
 # CHECK-NEXT:  8      5     4.00                        bsrw	%si, %di
@@ -1027,6 +1191,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  8      5     1.00    *      *            btcw	%si, (%rax)
 # CHECK-NEXT:  8      5     1.00    *      *            btrw	%si, (%rax)
 # CHECK-NEXT:  8      5     1.00    *      *            btsw	%si, (%rax)
+# CHECK-NEXT:  8      5     1.00    *      *            lock		btcw	%si, (%rax)
+# CHECK-NEXT:  8      5     1.00    *      *            lock		btrw	%si, (%rax)
+# CHECK-NEXT:  8      5     1.00    *      *            lock		btsw	%si, (%rax)
 # CHECK-NEXT:  1      1     0.50                        btw	$7, %di
 # CHECK-NEXT:  2      1     0.50                        btcw	$7, %di
 # CHECK-NEXT:  2      1     0.50                        btrw	$7, %di
@@ -1035,6 +1202,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      5     1.00    *      *            btcw	$7, (%rax)
 # CHECK-NEXT:  4      5     1.00    *      *            btrw	$7, (%rax)
 # CHECK-NEXT:  4      5     1.00    *      *            btsw	$7, (%rax)
+# CHECK-NEXT:  4      5     1.00    *      *            lock		btcw	$7, (%rax)
+# CHECK-NEXT:  4      5     1.00    *      *            lock		btrw	$7, (%rax)
+# CHECK-NEXT:  4      5     1.00    *      *            lock		btsw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        btl	%esi, %edi
 # CHECK-NEXT:  2      1     0.50                        btcl	%esi, %edi
 # CHECK-NEXT:  2      1     0.50                        btrl	%esi, %edi
@@ -1043,6 +1213,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  8      5     1.00    *      *            btcl	%esi, (%rax)
 # CHECK-NEXT:  8      5     1.00    *      *            btrl	%esi, (%rax)
 # CHECK-NEXT:  8      5     1.00    *      *            btsl	%esi, (%rax)
+# CHECK-NEXT:  8      5     1.00    *      *            lock		btcl	%esi, (%rax)
+# CHECK-NEXT:  8      5     1.00    *      *            lock		btrl	%esi, (%rax)
+# CHECK-NEXT:  8      5     1.00    *      *            lock		btsl	%esi, (%rax)
 # CHECK-NEXT:  1      1     0.50                        btl	$7, %edi
 # CHECK-NEXT:  2      1     0.50                        btcl	$7, %edi
 # CHECK-NEXT:  2      1     0.50                        btrl	$7, %edi
@@ -1051,6 +1224,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      5     1.00    *      *            btcl	$7, (%rax)
 # CHECK-NEXT:  4      5     1.00    *      *            btrl	$7, (%rax)
 # CHECK-NEXT:  4      5     1.00    *      *            btsl	$7, (%rax)
+# CHECK-NEXT:  4      5     1.00    *      *            lock		btcl	$7, (%rax)
+# CHECK-NEXT:  4      5     1.00    *      *            lock		btrl	$7, (%rax)
+# CHECK-NEXT:  4      5     1.00    *      *            lock		btsl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        btq	%rsi, %rdi
 # CHECK-NEXT:  2      1     0.50                        btcq	%rsi, %rdi
 # CHECK-NEXT:  2      1     0.50                        btrq	%rsi, %rdi
@@ -1059,6 +1235,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  8      5     1.00    *      *            btcq	%rsi, (%rax)
 # CHECK-NEXT:  8      5     1.00    *      *            btrq	%rsi, (%rax)
 # CHECK-NEXT:  8      5     1.00    *      *            btsq	%rsi, (%rax)
+# CHECK-NEXT:  8      5     1.00    *      *            lock		btcq	%rsi, (%rax)
+# CHECK-NEXT:  8      5     1.00    *      *            lock		btrq	%rsi, (%rax)
+# CHECK-NEXT:  8      5     1.00    *      *            lock		btsq	%rsi, (%rax)
 # CHECK-NEXT:  1      1     0.50                        btq	$7, %rdi
 # CHECK-NEXT:  2      1     0.50                        btcq	$7, %rdi
 # CHECK-NEXT:  2      1     0.50                        btrq	$7, %rdi
@@ -1067,6 +1246,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      5     1.00    *      *            btcq	$7, (%rax)
 # CHECK-NEXT:  4      5     1.00    *      *            btrq	$7, (%rax)
 # CHECK-NEXT:  4      5     1.00    *      *            btsq	$7, (%rax)
+# CHECK-NEXT:  4      5     1.00    *      *            lock		btcq	$7, (%rax)
+# CHECK-NEXT:  4      5     1.00    *      *            lock		btrq	$7, (%rax)
+# CHECK-NEXT:  4      5     1.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
@@ -1125,12 +1307,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.50                  U     cpuid
 # CHECK-NEXT:  1      1     0.50                        decb	%dil
 # CHECK-NEXT:  1      5     1.00    *      *            decb	(%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		decb	(%rax)
 # CHECK-NEXT:  1      1     0.50                        decw	%di
 # CHECK-NEXT:  1      5     1.00    *      *            decw	(%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		decw	(%rax)
 # CHECK-NEXT:  1      1     0.50                        decl	%edi
 # CHECK-NEXT:  1      5     1.00    *      *            decl	(%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		decl	(%rax)
 # CHECK-NEXT:  1      1     0.50                        decq	%rdi
 # CHECK-NEXT:  1      5     1.00    *      *            decq	(%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		decq	(%rax)
 # CHECK-NEXT:  1      12    12.00                 U     divb	%dil
 # CHECK-NEXT:  1      15    12.00   *             U     divb	(%rax)
 # CHECK-NEXT:  2      17    17.00                 U     divw	%si
@@ -1182,12 +1368,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.50                  U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.50                        incb	%dil
 # CHECK-NEXT:  1      5     1.00    *      *            incb	(%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		incb	(%rax)
 # CHECK-NEXT:  1      1     0.50                        incw	%di
 # CHECK-NEXT:  1      5     1.00    *      *            incw	(%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		incw	(%rax)
 # CHECK-NEXT:  1      1     0.50                        incl	%edi
 # CHECK-NEXT:  1      5     1.00    *      *            incl	(%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		incl	(%rax)
 # CHECK-NEXT:  1      1     0.50                        incq	%rdi
 # CHECK-NEXT:  1      5     1.00    *      *            incq	(%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		incq	(%rax)
 # CHECK-NEXT:  1      100   0.50                  U     insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  1      100   0.50                  U     insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  1      100   0.50                  U     insl	%dx, %es:(%rdi)
@@ -1236,12 +1426,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      9     4.00    *                   mulq	(%rax)
 # CHECK-NEXT:  1      1     0.50                        negb	%dil
 # CHECK-NEXT:  1      5     1.00    *      *            negb	(%r8)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		negb	(%r8)
 # CHECK-NEXT:  1      1     0.50                        negw	%si
 # CHECK-NEXT:  1      5     1.00    *      *            negw	(%r9)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		negw	(%r9)
 # CHECK-NEXT:  1      1     0.50                        negl	%edx
 # CHECK-NEXT:  1      5     1.00    *      *            negl	(%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		negl	(%rax)
 # CHECK-NEXT:  1      1     0.50                        negq	%rcx
 # CHECK-NEXT:  1      5     1.00    *      *            negq	(%r10)
+# CHECK-NEXT:  1      5     1.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)
@@ -1251,41 +1445,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        nopq	(%r9)
 # CHECK-NEXT:  1      1     0.50                        notb	%dil
 # CHECK-NEXT:  1      5     1.00    *      *            notb	(%r8)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		notb	(%r8)
 # CHECK-NEXT:  1      1     0.50                        notw	%si
 # CHECK-NEXT:  1      5     1.00    *      *            notw	(%r9)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		notw	(%r9)
 # CHECK-NEXT:  1      1     0.50                        notl	%edx
 # CHECK-NEXT:  1      5     1.00    *      *            notl	(%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		notl	(%rax)
 # CHECK-NEXT:  1      1     0.50                        notq	%rcx
 # CHECK-NEXT:  1      5     1.00    *      *            notq	(%r10)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		notq	(%r10)
 # CHECK-NEXT:  1      1     0.50                        orb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        orb	$7, %dil
 # CHECK-NEXT:  1      5     1.00    *      *            orb	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		orb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orb	%sil, %dil
 # CHECK-NEXT:  1      5     1.00    *      *            orb	%sil, (%rax)
+# CHECK-NEXT:  1      5     1.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:  1      5     1.00    *      *            orw	$511, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		orw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orw	$7, %di
 # CHECK-NEXT:  1      5     1.00    *      *            orw	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		orw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orw	%si, %di
 # CHECK-NEXT:  1      5     1.00    *      *            orw	%si, (%rax)
+# CHECK-NEXT:  1      5     1.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:  1      5     1.00    *      *            orl	$665536, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		orl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orl	$7, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            orl	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		orl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orl	%esi, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            orl	%esi, (%rax)
+# CHECK-NEXT:  1      5     1.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:  1      5     1.00    *      *            orq	$665536, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		orq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orq	$7, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            orq	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		orq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        orq	%rsi, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            orq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		orq	%rsi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   orq	(%rax), %rdi
 # CHECK-NEXT:  1      100   0.50                  U     outb	%al, $7
 # CHECK-NEXT:  1      100   0.50                  U     outb	%al, %dx
@@ -1473,44 +1682,59 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                        sbbb	$0, %al
 # CHECK-NEXT:  1      1     1.00                        sbbb	$0, %dil
 # CHECK-NEXT:  1      5     1.00    *      *            sbbb	$0, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		sbbb	$0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbb	$7, %al
 # CHECK-NEXT:  1      1     1.00                        sbbb	$7, %dil
 # CHECK-NEXT:  1      5     1.00    *      *            sbbb	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		sbbb	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbb	%sil, %dil
 # CHECK-NEXT:  1      5     1.00    *      *            sbbb	%sil, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		sbbb	%sil, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   sbbb	(%rax), %dil
 # CHECK-NEXT:  1      1     1.00                        sbbw	$0, %ax
 # CHECK-NEXT:  1      1     1.00                        sbbw	$0, %di
 # CHECK-NEXT:  1      5     1.00    *      *            sbbw	$0, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		sbbw	$0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbw	$511, %ax
 # CHECK-NEXT:  1      1     1.00                        sbbw	$511, %di
 # CHECK-NEXT:  1      5     1.00    *      *            sbbw	$511, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		sbbw	$511, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbw	$7, %di
 # CHECK-NEXT:  1      5     1.00    *      *            sbbw	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		sbbw	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbw	%si, %di
 # CHECK-NEXT:  1      5     1.00    *      *            sbbw	%si, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		sbbw	%si, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   sbbw	(%rax), %di
 # CHECK-NEXT:  1      1     1.00                        sbbl	$0, %eax
 # CHECK-NEXT:  1      1     1.00                        sbbl	$0, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            sbbl	$0, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		sbbl	$0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbl	$665536, %eax
 # CHECK-NEXT:  1      1     1.00                        sbbl	$665536, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            sbbl	$665536, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		sbbl	$665536, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbl	$7, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            sbbl	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		sbbl	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbl	%esi, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            sbbl	%esi, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		sbbl	%esi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   sbbl	(%rax), %edi
 # CHECK-NEXT:  1      1     1.00                        sbbq	$0, %rax
 # CHECK-NEXT:  1      1     1.00                        sbbq	$0, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            sbbq	$0, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		sbbq	$0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbq	$665536, %rax
 # CHECK-NEXT:  1      1     1.00                        sbbq	$665536, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            sbbq	$665536, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		sbbq	$665536, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbq	$7, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            sbbq	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		sbbq	$7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbq	%rsi, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            sbbq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		sbbq	%rsi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   sbbq	(%rax), %rdi
 # CHECK-NEXT:  1      100   0.50                  U     scasb	%es:(%rdi), %al
 # CHECK-NEXT:  1      100   0.50                  U     scasw	%es:(%rdi), %ax
@@ -1581,32 +1805,43 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        subb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        subb	$7, %dil
 # CHECK-NEXT:  1      5     1.00    *      *            subb	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		subb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subb	%sil, %dil
 # CHECK-NEXT:  1      5     1.00    *      *            subb	%sil, (%rax)
+# CHECK-NEXT:  1      5     1.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:  1      5     1.00    *      *            subw	$511, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		subw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subw	$7, %di
 # CHECK-NEXT:  1      5     1.00    *      *            subw	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		subw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subw	%si, %di
 # CHECK-NEXT:  1      5     1.00    *      *            subw	%si, (%rax)
+# CHECK-NEXT:  1      5     1.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:  1      5     1.00    *      *            subl	$665536, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		subl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subl	$7, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            subl	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		subl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subl	%esi, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            subl	%esi, (%rax)
+# CHECK-NEXT:  1      5     1.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:  1      5     1.00    *      *            subq	$665536, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		subq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subq	$7, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            subq	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		subq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        subq	%rsi, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            subq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     1.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
@@ -1638,53 +1873,72 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.50                  U     wrmsr
 # CHECK-NEXT:  1      1     0.50                        xaddb	%bl, %cl
 # CHECK-NEXT:  1      4     1.00    *      *            xaddb	%bl, (%rcx)
+# CHECK-NEXT:  1      4     1.00    *      *            lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  1      1     0.50                        xaddw	%bx, %cx
 # CHECK-NEXT:  1      4     1.00    *      *            xaddw	%ax, (%rbx)
+# CHECK-NEXT:  1      4     1.00    *      *            lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  1      1     0.50                        xaddl	%ebx, %ecx
 # CHECK-NEXT:  1      4     1.00    *      *            xaddl	%eax, (%rbx)
+# CHECK-NEXT:  1      4     1.00    *      *            lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  1      1     0.50                        xaddq	%rbx, %rcx
 # CHECK-NEXT:  1      4     1.00    *      *            xaddq	%rax, (%rbx)
+# CHECK-NEXT:  1      4     1.00    *      *            lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  1      1     0.50                        xchgb	%bl, %cl
 # CHECK-NEXT:  1      4     1.00    *      *            xchgb	%bl, (%rbx)
+# CHECK-NEXT:  1      4     1.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:  1      4     1.00    *      *            xchgw	%ax, (%rbx)
+# CHECK-NEXT:  1      4     1.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:  1      4     1.00    *      *            xchgl	%eax, (%rbx)
+# CHECK-NEXT:  1      4     1.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:  1      4     1.00    *      *            xchgq	%rax, (%rbx)
+# CHECK-NEXT:  1      4     1.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:  1      5     1.00    *      *            xorb	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		xorb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorb	%sil, %dil
 # CHECK-NEXT:  1      5     1.00    *      *            xorb	%sil, (%rax)
+# CHECK-NEXT:  1      5     1.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:  1      5     1.00    *      *            xorw	$511, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		xorw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorw	$7, %di
 # CHECK-NEXT:  1      5     1.00    *      *            xorw	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		xorw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorw	%si, %di
 # CHECK-NEXT:  1      5     1.00    *      *            xorw	%si, (%rax)
+# CHECK-NEXT:  1      5     1.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:  1      5     1.00    *      *            xorl	$665536, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorl	$7, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            xorl	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		xorl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorl	%esi, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            xorl	%esi, (%rax)
+# CHECK-NEXT:  1      5     1.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:  1      5     1.00    *      *            xorq	$665536, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorq	$7, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            xorq	$7, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		xorq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        xorq	%rsi, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            xorq	%rsi, (%rax)
+# CHECK-NEXT:  1      5     1.00    *      *            lock		xorq	%rsi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   xorq	(%rax), %rdi
 
 # CHECK:      Resources:
@@ -1705,111 +1959,148 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]
-# CHECK-NEXT: 624.00 674.00 380.00  -      -      -      -     397.00 64.00  298.00  -      -      -      -
+# CHECK-NEXT: 702.50 752.50 380.00  -      -      -      -     524.00 64.00  425.00  -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]   Instructions:
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcb	$0, %al
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcb	$0, %dil
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcb	$0, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		adcb	$0, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcb	$7, %al
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcb	$7, %dil
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcb	$7, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		adcb	$7, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcb	%sil, %dil
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcb	%sil, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		adcb	%sil, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -      -      -      -      -      -     adcb	(%rax), %dil
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcw	$0, %ax
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcw	$0, %di
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcw	$0, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		adcw	$0, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcw	$511, %ax
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcw	$511, %di
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcw	$511, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		adcw	$511, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcw	$7, %di
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcw	$7, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		adcw	$7, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcw	%si, %di
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcw	%si, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		adcw	%si, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -      -      -      -      -      -     adcw	(%rax), %di
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcl	$0, %eax
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcl	$0, %edi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcl	$0, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		adcl	$0, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcl	$665536, %eax
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcl	$665536, %edi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcl	$665536, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		adcl	$665536, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcl	$7, %edi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcl	$7, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		adcl	$7, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcl	%esi, %edi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcl	%esi, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		adcl	%esi, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -      -      -      -      -      -     adcl	(%rax), %edi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcq	$0, %rax
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcq	$0, %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcq	$0, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		adcq	$0, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcq	$665536, %rax
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcq	$665536, %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcq	$665536, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		adcq	$665536, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcq	$7, %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcq	$7, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		adcq	$7, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcq	%rsi, %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcq	%rsi, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		adcq	%rsi, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -      -      -      -      -      -     adcq	(%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     addb	$7, %al
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     addb	$7, %dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     addb	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		addb	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     addb	%sil, %dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     addb	%sil, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		addb	%sil, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     addb	(%rax), %dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     addw	$511, %ax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     addw	$511, %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     addw	$511, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		addw	$511, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     addw	$7, %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     addw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		addw	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     addw	%si, %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     addw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		addw	%si, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     addw	(%rax), %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     addl	$665536, %eax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     addl	$665536, %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     addl	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		addl	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     addl	$7, %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     addl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		addl	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     addl	%esi, %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     addl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		addl	%esi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     addl	(%rax), %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     addq	$665536, %rax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     addq	$665536, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     addq	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		addq	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     addq	$7, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     addq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		addq	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     addq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     addq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		addq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     addq	(%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     andb	$7, %al
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     andb	$7, %dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     andb	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		andb	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     andb	%sil, %dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     andb	%sil, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		andb	%sil, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     andb	(%rax), %dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     andw	$511, %ax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     andw	$511, %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     andw	$511, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		andw	$511, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     andw	$7, %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     andw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		andw	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     andw	%si, %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     andw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		andw	%si, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     andw	(%rax), %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     andl	$665536, %eax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     andl	$665536, %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     andl	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		andl	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     andl	$7, %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     andl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		andl	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     andl	%esi, %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     andl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		andl	%esi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     andl	(%rax), %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     andq	$665536, %rax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     andq	$665536, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     andq	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		andq	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     andq	$7, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     andq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		andq	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     andq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     andq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		andq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     andq	(%rax), %rdi
 # CHECK-NEXT: 4.00   4.00    -      -      -      -      -      -      -      -      -      -      -      -     bsfw	%si, %di
 # CHECK-NEXT: 4.00   4.00    -      -      -      -      -      -      -      -      -      -      -      -     bsrw	%si, %di
@@ -1833,6 +2124,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     btcw	%si, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     btrw	%si, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     btsw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		btcw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		btrw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		btsw	%si, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     btw	$7, %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     btcw	$7, %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     btrw	$7, %di
@@ -1841,6 +2135,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     btcw	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     btrw	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     btsw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		btcw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		btrw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		btsw	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     btl	%esi, %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     btcl	%esi, %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     btrl	%esi, %edi
@@ -1849,6 +2146,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     btcl	%esi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     btrl	%esi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     btsl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		btcl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		btrl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		btsl	%esi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     btl	$7, %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     btcl	$7, %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     btrl	$7, %edi
@@ -1857,6 +2157,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     btcl	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     btrl	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     btsl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		btcl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		btrl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		btsl	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     btq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     btcq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     btrq	%rsi, %rdi
@@ -1865,6 +2168,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     btcq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     btrq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     btsq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		btcq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		btrq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		btsq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     btq	$7, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     btcq	$7, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     btrq	$7, %rdi
@@ -1873,6 +2179,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     btcq	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     btrq	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     btsq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		btcq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		btrq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		btsq	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     cbtw
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     cwtl
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     cltq
@@ -1931,12 +2240,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     cpuid
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     decb	%dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     decb	(%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		decb	(%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     decw	%di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     decw	(%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		decw	(%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     decl	%edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     decl	(%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		decl	(%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     decq	%rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     decq	(%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		decq	(%rax)
 # CHECK-NEXT:  -     1.00   12.00   -      -      -      -      -      -      -      -      -      -      -     divb	%dil
 # CHECK-NEXT:  -     1.00   12.00   -      -      -      -     1.00    -      -      -      -      -      -     divb	(%rax)
 # CHECK-NEXT:  -     1.00   17.00   -      -      -      -      -      -      -      -      -      -      -     divw	%si
@@ -1988,12 +2301,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     inl	%dx, %eax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     incb	%dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     incb	(%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		incb	(%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     incw	%di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     incw	(%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		incw	(%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     incl	%edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     incl	(%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		incl	(%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     incq	%rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     incq	(%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		incq	(%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     insb	%dx, %es:(%rdi)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     insw	%dx, %es:(%rdi)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     insl	%dx, %es:(%rdi)
@@ -2042,12 +2359,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -     1.00    -      -      -      -      -     1.00   4.00    -      -      -      -      -     mulq	(%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     negb	%dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     negb	(%r8)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		negb	(%r8)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     negw	%si
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     negw	(%r9)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		negw	(%r9)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     negl	%edx
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     negl	(%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		negl	(%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     negq	%rcx
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     negq	(%r10)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		negq	(%r10)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     nop
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     nopw	%di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     nopw	(%rcx)
@@ -2057,41 +2378,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     nopq	(%r9)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     notb	%dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     notb	(%r8)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		notb	(%r8)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     notw	%si
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     notw	(%r9)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		notw	(%r9)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     notl	%edx
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     notl	(%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		notl	(%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     notq	%rcx
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     notq	(%r10)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		notq	(%r10)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     orb	$7, %al
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     orb	$7, %dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     orb	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		orb	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     orb	%sil, %dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     orb	%sil, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		orb	%sil, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     orb	(%rax), %dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     orw	$511, %ax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     orw	$511, %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     orw	$511, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		orw	$511, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     orw	$7, %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     orw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		orw	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     orw	%si, %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     orw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		orw	%si, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     orw	(%rax), %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     orl	$665536, %eax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     orl	$665536, %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     orl	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		orl	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     orl	$7, %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     orl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		orl	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     orl	%esi, %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     orl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		orl	%esi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     orl	(%rax), %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     orq	$665536, %rax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     orq	$665536, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     orq	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		orq	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     orq	$7, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     orq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		orq	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     orq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     orq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		orq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     orq	(%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     outb	%al, $7
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     outb	%al, %dx
@@ -2279,44 +2615,59 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbb	$0, %al
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbb	$0, %dil
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbb	$0, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		sbbb	$0, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbb	$7, %al
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbb	$7, %dil
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbb	$7, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		sbbb	$7, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbb	%sil, %dil
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbb	%sil, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		sbbb	%sil, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -      -      -      -      -      -     sbbb	(%rax), %dil
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbw	$0, %ax
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbw	$0, %di
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbw	$0, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		sbbw	$0, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbw	$511, %ax
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbw	$511, %di
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbw	$511, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		sbbw	$511, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbw	$7, %di
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbw	$7, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		sbbw	$7, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbw	%si, %di
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbw	%si, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		sbbw	%si, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -      -      -      -      -      -     sbbw	(%rax), %di
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbl	$0, %eax
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbl	$0, %edi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbl	$0, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		sbbl	$0, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbl	$665536, %eax
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbl	$665536, %edi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbl	$665536, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		sbbl	$665536, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbl	$7, %edi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbl	$7, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		sbbl	$7, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbl	%esi, %edi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbl	%esi, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		sbbl	%esi, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -      -      -      -      -      -     sbbl	(%rax), %edi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbq	$0, %rax
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbq	$0, %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbq	$0, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		sbbq	$0, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbq	$665536, %rax
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbq	$665536, %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbq	$665536, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		sbbq	$665536, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbq	$7, %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbq	$7, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		sbbq	$7, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbq	%rsi, %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbq	%rsi, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		sbbq	%rsi, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -      -      -      -      -      -     sbbq	(%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     scasb	%es:(%rdi), %al
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     scasw	%es:(%rdi), %ax
@@ -2387,32 +2738,43 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     subb	$7, %al
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     subb	$7, %dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     subb	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		subb	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     subb	%sil, %dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     subb	%sil, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		subb	%sil, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     subb	(%rax), %dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     subw	$511, %ax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     subw	$511, %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     subw	$511, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		subw	$511, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     subw	$7, %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     subw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		subw	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     subw	%si, %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     subw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		subw	%si, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     subw	(%rax), %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     subl	$665536, %eax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     subl	$665536, %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     subl	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		subl	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     subl	$7, %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     subl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		subl	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     subl	%esi, %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     subl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		subl	%esi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     subl	(%rax), %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     subq	$665536, %rax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     subq	$665536, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     subq	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		subq	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     subq	$7, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     subq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		subq	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     subq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     subq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		subq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     subq	(%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     testb	$7, %al
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     testb	$7, %dil
@@ -2444,51 +2806,70 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     wrmsr
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xaddb	%bl, %cl
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xaddb	%bl, (%rcx)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xaddw	%bx, %cx
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xaddw	%ax, (%rbx)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xaddl	%ebx, %ecx
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xaddl	%eax, (%rbx)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xaddq	%rbx, %rcx
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xaddq	%rax, (%rbx)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xchgb	%bl, %cl
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xchgb	%bl, (%rbx)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xchgw	%bx, %ax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xchgw	%bx, %cx
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xchgw	%ax, (%rbx)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xchgl	%ebx, %eax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xchgl	%ebx, %ecx
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xchgl	%eax, (%rbx)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xchgq	%rbx, %rax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xchgq	%rbx, %rcx
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xchgq	%rax, (%rbx)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -      -      -     xlatb
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xorb	$7, %al
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xorb	$7, %dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xorb	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		xorb	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xorb	%sil, %dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xorb	%sil, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		xorb	%sil, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     xorb	(%rax), %dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xorw	$511, %ax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xorw	$511, %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xorw	$511, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		xorw	$511, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xorw	$7, %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xorw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		xorw	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xorw	%si, %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xorw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		xorw	%si, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     xorw	(%rax), %di
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xorl	$665536, %eax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xorl	$665536, %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xorl	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		xorl	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xorl	$7, %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xorl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		xorl	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xorl	%esi, %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xorl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		xorl	%esi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     xorl	(%rax), %edi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xorq	$665536, %rax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xorq	$665536, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xorq	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		xorq	$665536, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xorq	$7, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xorq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		xorq	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xorq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xorq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     lock		xorq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     xorq	(%rax), %rdi

Modified: llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s?rev=369367&r1=369366&r2=369367&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s Tue Aug 20 04:13:20 2019
@@ -4,115 +4,152 @@
 adcb $0, %al
 adcb $0, %dil
 adcb $0, (%rax)
+lock adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
+lock adcb $7, (%rax)
 adcb %sil, %dil
 adcb %sil, (%rax)
+lock adcb %sil, (%rax)
 adcb (%rax), %dil
 
 adcw $0, %ax
 adcw $0, %di
 adcw $0, (%rax)
+lock adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
+lock adcw $511, (%rax)
 adcw $7, %di
 adcw $7, (%rax)
+lock adcw $7, (%rax)
 adcw %si, %di
 adcw %si, (%rax)
+lock adcw %si, (%rax)
 adcw (%rax), %di
 
 adcl $0, %eax
 adcl $0, %edi
 adcl $0, (%rax)
+lock adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
+lock adcl $665536, (%rax)
 adcl $7, %edi
 adcl $7, (%rax)
+lock adcl $7, (%rax)
 adcl %esi, %edi
 adcl %esi, (%rax)
+lock adcl %esi, (%rax)
 adcl (%rax), %edi
 
 adcq $0, %rax
 adcq $0, %rdi
 adcq $0, (%rax)
+lock adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
+lock adcq $665536, (%rax)
 adcq $7, %rdi
 adcq $7, (%rax)
+lock adcq $7, (%rax)
 adcq %rsi, %rdi
 adcq %rsi, (%rax)
+lock adcq %rsi, (%rax)
 adcq (%rax), %rdi
 
 addb $7, %al
 addb $7, %dil
 addb $7, (%rax)
+lock addb $7, (%rax)
 addb %sil, %dil
 addb %sil, (%rax)
+lock addb %sil, (%rax)
 addb (%rax), %dil
 
 addw $511, %ax
 addw $511, %di
 addw $511, (%rax)
+lock addw $511, (%rax)
 addw $7, %di
 addw $7, (%rax)
+lock addw $7, (%rax)
 addw %si, %di
 addw %si, (%rax)
+lock addw %si, (%rax)
 addw (%rax), %di
 
 addl $665536, %eax
 addl $665536, %edi
 addl $665536, (%rax)
+lock addl $665536, (%rax)
 addl $7, %edi
 addl $7, (%rax)
+lock addl $7, (%rax)
 addl %esi, %edi
 addl %esi, (%rax)
+lock addl %esi, (%rax)
 addl (%rax), %edi
 
 addq $665536, %rax
 addq $665536, %rdi
 addq $665536, (%rax)
+lock addq $665536, (%rax)
 addq $7, %rdi
 addq $7, (%rax)
+lock addq $7, (%rax)
 addq %rsi, %rdi
 addq %rsi, (%rax)
+lock addq %rsi, (%rax)
 addq (%rax), %rdi
 
 andb $7, %al
 andb $7, %dil
 andb $7, (%rax)
+lock andb $7, (%rax)
 andb %sil, %dil
 andb %sil, (%rax)
+lock andb %sil, (%rax)
 andb (%rax), %dil
 
 andw $511, %ax
 andw $511, %di
 andw $511, (%rax)
+lock andw $511, (%rax)
 andw $7, %di
 andw $7, (%rax)
+lock andw $7, (%rax)
 andw %si, %di
 andw %si, (%rax)
+lock andw %si, (%rax)
 andw (%rax), %di
 
 andl $665536, %eax
 andl $665536, %edi
 andl $665536, (%rax)
+lock andl $665536, (%rax)
 andl $7, %edi
 andl $7, (%rax)
+lock andl $7, (%rax)
 andl %esi, %edi
 andl %esi, (%rax)
+lock andl %esi, (%rax)
 andl (%rax), %edi
 
 andq $665536, %rax
 andq $665536, %rdi
 andq $665536, (%rax)
+lock andq $665536, (%rax)
 andq $7, %rdi
 andq $7, (%rax)
+lock andq $7, (%rax)
 andq %rsi, %rdi
 andq %rsi, (%rax)
+lock andq %rsi, (%rax)
 andq (%rax), %rdi
 
 bsfw %si, %di
@@ -141,6 +178,9 @@ btw  %si, (%rax)
 btcw %si, (%rax)
 btrw %si, (%rax)
 btsw %si, (%rax)
+lock btcw %si, (%rax)
+lock btrw %si, (%rax)
+lock btsw %si, (%rax)
 btw  $7, %di
 btcw $7, %di
 btrw $7, %di
@@ -149,6 +189,9 @@ btw  $7, (%rax)
 btcw $7, (%rax)
 btrw $7, (%rax)
 btsw $7, (%rax)
+lock btcw $7, (%rax)
+lock btrw $7, (%rax)
+lock btsw $7, (%rax)
 
 btl  %esi, %edi
 btcl %esi, %edi
@@ -158,6 +201,9 @@ btl  %esi, (%rax)
 btcl %esi, (%rax)
 btrl %esi, (%rax)
 btsl %esi, (%rax)
+lock btcl %esi, (%rax)
+lock btrl %esi, (%rax)
+lock btsl %esi, (%rax)
 btl  $7, %edi
 btcl $7, %edi
 btrl $7, %edi
@@ -166,6 +212,9 @@ btl  $7, (%rax)
 btcl $7, (%rax)
 btrl $7, (%rax)
 btsl $7, (%rax)
+lock btcl $7, (%rax)
+lock btrl $7, (%rax)
+lock btsl $7, (%rax)
 
 btq  %rsi, %rdi
 btcq %rsi, %rdi
@@ -175,6 +224,9 @@ btq  %rsi, (%rax)
 btcq %rsi, (%rax)
 btrq %rsi, (%rax)
 btsq %rsi, (%rax)
+lock btcq %rsi, (%rax)
+lock btrq %rsi, (%rax)
+lock btsq %rsi, (%rax)
 btq  $7, %rdi
 btcq $7, %rdi
 btrq $7, %rdi
@@ -183,6 +235,9 @@ btq  $7, (%rax)
 btcq $7, (%rax)
 btrq $7, (%rax)
 btsq $7, (%rax)
+lock btcq $7, (%rax)
+lock btrq $7, (%rax)
+lock btsq $7, (%rax)
 
 cbw
 cwde
@@ -236,30 +291,34 @@ cmpsq
 
 cmpxchgb %cl, %bl
 cmpxchgb %cl, (%rbx)
-lock cmpxchgb  %cl, (%rbx)
+lock cmpxchgb %cl, (%rbx)
 
 cmpxchgw %cx, %bx
 cmpxchgw %cx, (%rbx)
-lock cmpxchgw  %cx, (%rbx)
+lock cmpxchgw %cx, (%rbx)
 
 cmpxchgl %ecx, %ebx
 cmpxchgl %ecx, (%rbx)
-lock cmpxchgl  %ecx, (%rbx)
+lock cmpxchgl %ecx, (%rbx)
 
 cmpxchgq %rcx, %rbx
 cmpxchgq %rcx, (%rbx)
-lock cmpxchgq  %rcx, (%rbx)
+lock cmpxchgq %rcx, (%rbx)
 
 cpuid
 
 decb %dil
 decb (%rax)
+lock decb (%rax)
 decw %di
 decw (%rax)
+lock decw (%rax)
 decl %edi
 decl (%rax)
+lock decl (%rax)
 decq %rdi
 decq (%rax)
+lock decq (%rax)
 
 divb %dil
 divb (%rax)
@@ -320,12 +379,16 @@ inl %dx, %eax
 
 incb %dil
 incb (%rax)
+lock incb (%rax)
 incw %di
 incw (%rax)
+lock incw (%rax)
 incl %edi
 incl (%rax)
+lock incl (%rax)
 incq %rdi
 incq (%rax)
+lock incq (%rax)
 
 insb
 insw
@@ -386,12 +449,16 @@ mulq (%rax)
 
 negb %dil
 negb (%r8)
+lock negb (%r8)
 negw %si
 negw (%r9)
+lock negw (%r9)
 negl %edx
 negl (%rax)
+lock negl (%rax)
 negq %rcx
 negq (%r10)
+lock negq (%r10)
 
 nop
 nopw %di
@@ -403,45 +470,60 @@ nopq (%r9)
 
 notb %dil
 notb (%r8)
+lock notb (%r8)
 notw %si
 notw (%r9)
+lock notw (%r9)
 notl %edx
 notl (%rax)
+lock notl (%rax)
 notq %rcx
 notq (%r10)
+lock notq (%r10)
 
 orb $7, %al
 orb $7, %dil
 orb $7, (%rax)
+lock orb $7, (%rax)
 orb %sil, %dil
 orb %sil, (%rax)
+lock orb %sil, (%rax)
 orb (%rax), %dil
 
 orw $511, %ax
 orw $511, %di
 orw $511, (%rax)
+lock orw $511, (%rax)
 orw $7, %di
 orw $7, (%rax)
+lock orw $7, (%rax)
 orw %si, %di
 orw %si, (%rax)
+lock orw %si, (%rax)
 orw (%rax), %di
 
 orl $665536, %eax
 orl $665536, %edi
 orl $665536, (%rax)
+lock orl $665536, (%rax)
 orl $7, %edi
 orl $7, (%rax)
+lock orl $7, (%rax)
 orl %esi, %edi
 orl %esi, (%rax)
+lock orl %esi, (%rax)
 orl (%rax), %edi
 
 orq $665536, %rax
 orq $665536, %rdi
 orq $665536, (%rax)
+lock orq $665536, (%rax)
 orq $7, %rdi
 orq $7, (%rax)
+lock orq $7, (%rax)
 orq %rsi, %rdi
 orq %rsi, (%rax)
+lock orq %rsi, (%rax)
 orq (%rax), %rdi
 
 outb %al,  $7
@@ -647,47 +729,62 @@ shrq %cl, (%rax)
 sbbb $0, %al
 sbbb $0, %dil
 sbbb $0, (%rax)
+lock sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
+lock sbbb $7, (%rax)
 sbbb %sil, %dil
 sbbb %sil, (%rax)
+lock sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
 sbbw $0, %ax
 sbbw $0, %di
 sbbw $0, (%rax)
+lock sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
+lock sbbw $511, (%rax)
 sbbw $7, %di
 sbbw $7, (%rax)
+lock sbbw $7, (%rax)
 sbbw %si, %di
 sbbw %si, (%rax)
+lock sbbw %si, (%rax)
 sbbw (%rax), %di
 
 sbbl $0, %eax
 sbbl $0, %edi
 sbbl $0, (%rax)
+lock sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
+lock sbbl $665536, (%rax)
 sbbl $7, %edi
 sbbl $7, (%rax)
+lock sbbl $7, (%rax)
 sbbl %esi, %edi
 sbbl %esi, (%rax)
+lock sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
 sbbq $0, %rax
 sbbq $0, %rdi
 sbbq $0, (%rax)
+lock sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
+lock sbbq $665536, (%rax)
 sbbq $7, %rdi
 sbbq $7, (%rax)
+lock sbbq $7, (%rax)
 sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
+lock sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
 scasb
@@ -766,35 +863,46 @@ stosq
 subb $7, %al
 subb $7, %dil
 subb $7, (%rax)
+lock subb $7, (%rax)
 subb %sil, %dil
 subb %sil, (%rax)
+lock subb %sil, (%rax)
 subb (%rax), %dil
 
 subw $511, %ax
 subw $511, %di
 subw $511, (%rax)
+lock subw $511, (%rax)
 subw $7, %di
 subw $7, (%rax)
+lock subw $7, (%rax)
 subw %si, %di
 subw %si, (%rax)
+lock subw %si, (%rax)
 subw (%rax), %di
 
 subl $665536, %eax
 subl $665536, %edi
 subl $665536, (%rax)
+lock subl $665536, (%rax)
 subl $7, %edi
 subl $7, (%rax)
+lock subl $7, (%rax)
 subl %esi, %edi
 subl %esi, (%rax)
+lock subl %esi, (%rax)
 subl (%rax), %edi
 
 subq $665536, %rax
 subq $665536, %rdi
 subq $665536, (%rax)
+lock subq $665536, (%rax)
 subq $7, %rdi
 subq $7, (%rax)
+lock subq $7, (%rax)
 subq %rsi, %rdi
 subq %rsi, (%rax)
+lock subq %rsi, (%rax)
 subq (%rax), %rdi
 
 testb $7, %al
@@ -833,65 +941,84 @@ wrmsr
 
 xaddb %bl, %cl
 xaddb %bl, (%rcx)
+lock xaddb %bl, (%rcx)
 
 xaddw %bx, %cx
 xaddw %ax, (%rbx)
+lock xaddw %ax, (%rbx)
 
 xaddl %ebx, %ecx
 xaddl %eax, (%rbx)
+lock xaddl %eax, (%rbx)
 
 xaddq %rbx, %rcx
 xaddq %rax, (%rbx)
+lock xaddq %rax, (%rbx)
 
 xchgb %bl, %cl
 xchgb %bl, (%rbx)
+lock xchgb %bl, (%rbx)
 
 xchgw %ax, %bx
 xchgw %bx, %cx
 xchgw %ax, (%rbx)
+lock xchgw %ax, (%rbx)
 
 xchgl %eax, %ebx
 xchgl %ebx, %ecx
 xchgl %eax, (%rbx)
+lock xchgl %eax, (%rbx)
 
 xchgq %rax, %rbx
 xchgq %rbx, %rcx
 xchgq %rax, (%rbx)
+lock xchgq %rax, (%rbx)
 
 xlatb
 
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
+lock xorb $7, (%rax)
 xorb %sil, %dil
 xorb %sil, (%rax)
+lock xorb %sil, (%rax)
 xorb (%rax), %dil
 
 xorw $511, %ax
 xorw $511, %di
 xorw $511, (%rax)
+lock xorw $511, (%rax)
 xorw $7, %di
 xorw $7, (%rax)
+lock xorw $7, (%rax)
 xorw %si, %di
 xorw %si, (%rax)
+lock xorw %si, (%rax)
 xorw (%rax), %di
 
 xorl $665536, %eax
 xorl $665536, %edi
 xorl $665536, (%rax)
+lock xorl $665536, (%rax)
 xorl $7, %edi
 xorl $7, (%rax)
+lock xorl $7, (%rax)
 xorl %esi, %edi
 xorl %esi, (%rax)
+lock xorl %esi, (%rax)
 xorl (%rax), %edi
 
 xorq $665536, %rax
 xorq $665536, %rdi
 xorq $665536, (%rax)
+lock xorq $665536, (%rax)
 xorq $7, %rdi
 xorq $7, (%rax)
+lock xorq $7, (%rax)
 xorq %rsi, %rdi
 xorq %rsi, (%rax)
+lock xorq %rsi, (%rax)
 xorq (%rax), %rdi
 
 # CHECK:      Instruction Info:
@@ -906,104 +1033,141 @@ xorq (%rax), %rdi
 # 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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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
 # CHECK-NEXT:  3      7     1.00    *      *            addb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            addb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.33                        addw	$511, %ax
 # CHECK-NEXT:  1      1     0.33                        addw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            addw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            addw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            addw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addw	(%rax), %di
 # CHECK-NEXT:  1      1     0.33                        addl	$665536, %eax
 # CHECK-NEXT:  1      1     0.33                        addl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            addl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            addl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            addl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.33                        addq	$665536, %rax
 # CHECK-NEXT:  1      1     0.33                        addq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            addq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            addq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            addq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.33                        andb	$7, %al
 # CHECK-NEXT:  1      1     0.33                        andb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            andb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            andb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.33                        andw	$511, %ax
 # CHECK-NEXT:  1      1     0.33                        andw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            andw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            andw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            andw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andw	(%rax), %di
 # CHECK-NEXT:  1      1     0.33                        andl	$665536, %eax
 # CHECK-NEXT:  1      1     0.33                        andl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            andl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            andl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            andl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.33                        andq	$665536, %rax
 # CHECK-NEXT:  1      1     0.33                        andq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andq	(%rax), %rdi
 # CHECK-NEXT:  1      3     1.00                        bsfw	%si, %di
 # CHECK-NEXT:  1      3     1.00                        bsrw	%si, %di
@@ -1027,6 +1191,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            btcw	%si, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *            btrw	%si, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *            btsw	%si, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		btcw	%si, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		btrw	%si, (%rax)
+# CHECK-NEXT:  6      9     1.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
@@ -1035,6 +1202,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      7     1.00    *      *            btcw	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btrw	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btsw	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btcw	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btrw	$7, (%rax)
+# CHECK-NEXT:  4      7     1.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
@@ -1043,6 +1213,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            btcl	%esi, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *            btrl	%esi, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *            btsl	%esi, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		btcl	%esi, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		btrl	%esi, (%rax)
+# CHECK-NEXT:  6      9     1.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
@@ -1051,6 +1224,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      7     1.00    *      *            btcl	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btrl	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btsl	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btcl	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btrl	$7, (%rax)
+# CHECK-NEXT:  4      7     1.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
@@ -1059,6 +1235,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            btcq	%rsi, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *            btrq	%rsi, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *            btsq	%rsi, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		btcq	%rsi, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		btrq	%rsi, (%rax)
+# CHECK-NEXT:  6      9     1.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
@@ -1067,6 +1246,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      7     1.00    *      *            btcq	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btrq	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btsq	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btcq	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btrq	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btsq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        cbtw
 # CHECK-NEXT:  1      1     0.33                        cwtl
 # CHECK-NEXT:  1      1     0.33                        cltq
@@ -1125,12 +1307,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.33                  U     cpuid
 # CHECK-NEXT:  1      1     0.33                        decb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            decb	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decb	(%rax)
 # CHECK-NEXT:  1      1     0.33                        decw	%di
 # CHECK-NEXT:  3      7     1.00    *      *            decw	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decw	(%rax)
 # CHECK-NEXT:  1      1     0.33                        decl	%edi
 # CHECK-NEXT:  3      7     1.00    *      *            decl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decl	(%rax)
 # CHECK-NEXT:  1      1     0.33                        decq	%rdi
 # CHECK-NEXT:  3      7     1.00    *      *            decq	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decq	(%rax)
 # CHECK-NEXT:  1      25    10.00                 U     divb	%dil
 # CHECK-NEXT:  2      30    10.00   *             U     divb	(%rax)
 # CHECK-NEXT:  1      25    10.00                 U     divw	%si
@@ -1182,12 +1368,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.33                  U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.33                        incb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            incb	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incb	(%rax)
 # CHECK-NEXT:  1      1     0.33                        incw	%di
 # CHECK-NEXT:  3      7     1.00    *      *            incw	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incw	(%rax)
 # CHECK-NEXT:  1      1     0.33                        incl	%edi
 # CHECK-NEXT:  3      7     1.00    *      *            incl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incl	(%rax)
 # CHECK-NEXT:  1      1     0.33                        incq	%rdi
 # CHECK-NEXT:  3      7     1.00    *      *            incq	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incq	(%rax)
 # CHECK-NEXT:  1      100   0.33                  U     insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  1      100   0.33                  U     insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  1      100   0.33                  U     insl	%dx, %es:(%rdi)
@@ -1236,12 +1426,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  3      9     1.00    *                   mulq	(%rax)
 # CHECK-NEXT:  1      1     0.33                        negb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            negb	(%r8)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negb	(%r8)
 # CHECK-NEXT:  1      1     0.33                        negw	%si
 # CHECK-NEXT:  3      7     1.00    *      *            negw	(%r9)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negw	(%r9)
 # CHECK-NEXT:  1      1     0.33                        negl	%edx
 # CHECK-NEXT:  3      7     1.00    *      *            negl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negl	(%rax)
 # CHECK-NEXT:  1      1     0.33                        negq	%rcx
 # CHECK-NEXT:  3      7     1.00    *      *            negq	(%r10)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negq	(%r10)
 # CHECK-NEXT:  1      1     0.25                        nop
 # CHECK-NEXT:  1      1     0.25                        nopw	%di
 # CHECK-NEXT:  1      1     0.25                        nopw	(%rcx)
@@ -1251,41 +1445,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        nopq	(%r9)
 # CHECK-NEXT:  1      1     0.33                        notb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            notb	(%r8)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notb	(%r8)
 # CHECK-NEXT:  1      1     0.33                        notw	%si
 # CHECK-NEXT:  3      7     1.00    *      *            notw	(%r9)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notw	(%r9)
 # CHECK-NEXT:  1      1     0.33                        notl	%edx
 # CHECK-NEXT:  3      7     1.00    *      *            notl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notl	(%rax)
 # CHECK-NEXT:  1      1     0.33                        notq	%rcx
 # CHECK-NEXT:  3      7     1.00    *      *            notq	(%r10)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notq	(%r10)
 # CHECK-NEXT:  1      1     0.33                        orb	$7, %al
 # CHECK-NEXT:  1      1     0.33                        orb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            orb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            orb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.33                        orw	$511, %ax
 # CHECK-NEXT:  1      1     0.33                        orw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            orw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            orw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            orw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orw	(%rax), %di
 # CHECK-NEXT:  1      1     0.33                        orl	$665536, %eax
 # CHECK-NEXT:  1      1     0.33                        orl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            orl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            orl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            orl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.33                        orq	$665536, %rax
 # CHECK-NEXT:  1      1     0.33                        orq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orq	(%rax), %rdi
 # CHECK-NEXT:  1      100   0.33                  U     outb	%al, $7
 # CHECK-NEXT:  1      100   0.33                  U     outb	%al, %dx
@@ -1473,44 +1682,59 @@ xorq (%rax), %rdi
 # 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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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
@@ -1581,32 +1805,43 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.33                        subb	$7, %al
 # CHECK-NEXT:  1      1     0.33                        subb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            subb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            subb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.33                        subw	$511, %ax
 # CHECK-NEXT:  1      1     0.33                        subw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            subw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            subw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            subw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subw	(%rax), %di
 # CHECK-NEXT:  1      1     0.33                        subl	$665536, %eax
 # CHECK-NEXT:  1      1     0.33                        subl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            subl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            subl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            subl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.33                        subq	$665536, %rax
 # CHECK-NEXT:  1      1     0.33                        subq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.33                        testb	$7, %al
 # CHECK-NEXT:  1      1     0.33                        testb	$7, %dil
@@ -1638,53 +1873,72 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.33                  U     wrmsr
 # CHECK-NEXT:  3      2     1.00                        xaddb	%bl, %cl
 # CHECK-NEXT:  5      8     1.00    *      *            xaddb	%bl, (%rcx)
+# CHECK-NEXT:  5      8     1.00    *      *            lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  3      2     1.00                        xaddw	%bx, %cx
 # CHECK-NEXT:  5      8     1.00    *      *            xaddw	%ax, (%rbx)
+# CHECK-NEXT:  5      8     1.00    *      *            lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  3      2     1.00                        xaddl	%ebx, %ecx
 # CHECK-NEXT:  5      8     1.00    *      *            xaddl	%eax, (%rbx)
+# CHECK-NEXT:  5      8     1.00    *      *            lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  3      2     1.00                        xaddq	%rbx, %rcx
 # CHECK-NEXT:  5      8     1.00    *      *            xaddq	%rax, (%rbx)
+# CHECK-NEXT:  5      8     1.00    *      *            lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  3      2     1.00                        xchgb	%bl, %cl
 # CHECK-NEXT:  3      6     1.00    *      *            xchgb	%bl, (%rbx)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT:  3      2     1.00                        xchgw	%bx, %ax
 # CHECK-NEXT:  3      2     1.00                        xchgw	%bx, %cx
 # CHECK-NEXT:  3      6     1.00    *      *            xchgw	%ax, (%rbx)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT:  3      2     1.00                        xchgl	%ebx, %eax
 # CHECK-NEXT:  3      2     1.00                        xchgl	%ebx, %ecx
 # CHECK-NEXT:  3      6     1.00    *      *            xchgl	%eax, (%rbx)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT:  3      2     1.00                        xchgq	%rbx, %rax
 # CHECK-NEXT:  3      2     1.00                        xchgq	%rbx, %rcx
 # CHECK-NEXT:  3      6     1.00    *      *            xchgq	%rax, (%rbx)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT:  1      5     0.50    *                   xlatb
 # CHECK-NEXT:  1      1     0.33                        xorb	$7, %al
 # CHECK-NEXT:  1      1     0.33                        xorb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            xorb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            xorb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.33                        xorw	$511, %ax
 # CHECK-NEXT:  1      1     0.33                        xorw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            xorw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            xorw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            xorw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorw	(%rax), %di
 # CHECK-NEXT:  1      1     0.33                        xorl	$665536, %eax
 # CHECK-NEXT:  1      1     0.33                        xorl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            xorl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            xorl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            xorl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.33                        xorq	$665536, %rax
 # CHECK-NEXT:  1      1     0.33                        xorq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            xorq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            xorq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            xorq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorq	(%rax), %rdi
 
 # CHECK:      Resources:
@@ -1699,111 +1953,148 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT: 160.00  -     597.83 239.33 234.00 605.83 328.50 328.50
+# CHECK-NEXT: 160.00  -     670.17 294.67 361.00 687.17 455.50 455.50
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcb	$0, %al
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcb	$0, %dil
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcb	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcb	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcb	$7, %al
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcb	$7, %dil
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcb	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcb	%sil, %dil
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   adcb	%sil, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		adcb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   adcb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw	$0, %ax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw	$0, %di
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcw	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcw	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw	$511, %ax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw	$511, %di
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcw	$511, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw	$7, %di
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcw	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw	%si, %di
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   adcw	%si, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		adcw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   adcw	(%rax), %di
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl	$0, %eax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl	$0, %edi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcl	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcl	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl	$665536, %eax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl	$665536, %edi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcl	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl	$7, %edi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcl	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl	%esi, %edi
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   adcl	%esi, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		adcl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   adcl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq	$0, %rax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq	$0, %rdi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcq	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcq	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq	$665536, %rax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq	$665536, %rdi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcq	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq	$7, %rdi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcq	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq	%rsi, %rdi
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   adcq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		adcq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   adcq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addb	$7, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addb	%sil, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   addb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addw	$511, %ax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addw	$511, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addw	$7, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addw	%si, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   addw	(%rax), %di
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addl	$665536, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addl	$665536, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addl	$7, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addl	%esi, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   addl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addq	$665536, %rax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addq	$7, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   addq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andb	$7, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andb	%sil, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   andb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andw	$511, %ax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andw	$511, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andw	$7, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andw	%si, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   andw	(%rax), %di
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andl	$665536, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andl	$665536, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andl	$7, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andl	%esi, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   andl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andq	$665536, %rax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andq	$7, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   andq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     bsfw	%si, %di
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     bsrw	%si, %di
@@ -1827,6 +2118,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btcw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btrw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btsw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btcw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btrw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btsw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btw	$7, %di
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btcw	$7, %di
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btrw	$7, %di
@@ -1835,6 +2129,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btcw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btrw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btsw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btcw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btrw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btsw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btl	%esi, %edi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btcl	%esi, %edi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btrl	%esi, %edi
@@ -1843,6 +2140,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btcl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btrl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btsl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btcl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btrl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btsl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btl	$7, %edi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btcl	$7, %edi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btrl	$7, %edi
@@ -1851,6 +2151,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btcl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btrl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btsl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btcl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btrl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btsl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btcq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btrq	%rsi, %rdi
@@ -1859,6 +2162,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btcq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btrq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btsq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btcq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btrq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btsq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btq	$7, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btcq	$7, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btrq	$7, %rdi
@@ -1867,6 +2173,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btcq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btrq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btsq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btcq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btrq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btsq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     cbtw
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     cwtl
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     cltq
@@ -1925,12 +2234,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     cpuid
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     decb	%dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   decb	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		decb	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     decw	%di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   decw	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		decw	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     decl	%edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   decl	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		decl	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     decq	%rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   decq	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		decq	(%rax)
 # CHECK-NEXT: 10.00   -     1.00    -      -      -      -      -     divb	%dil
 # CHECK-NEXT: 10.00   -     1.00    -      -      -     0.50   0.50   divb	(%rax)
 # CHECK-NEXT: 10.00   -     1.00    -      -      -      -      -     divw	%si
@@ -1982,12 +2295,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     inl	%dx, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     incb	%dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   incb	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		incb	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     incw	%di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   incw	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		incw	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     incl	%edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   incl	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		incl	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     incq	%rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   incq	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		incq	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     insl	%dx, %es:(%rdi)
@@ -2036,12 +2353,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   mulq	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     negb	%dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   negb	(%r8)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		negb	(%r8)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     negw	%si
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   negw	(%r9)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		negw	(%r9)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     negl	%edx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   negl	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		negl	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     negq	%rcx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   negq	(%r10)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		negq	(%r10)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     nop
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     nopw	%di
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     nopw	(%rcx)
@@ -2051,41 +2372,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     nopq	(%r9)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     notb	%dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   notb	(%r8)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		notb	(%r8)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     notw	%si
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   notw	(%r9)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		notw	(%r9)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     notl	%edx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   notl	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		notl	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     notq	%rcx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   notq	(%r10)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		notq	(%r10)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orb	$7, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orb	%sil, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   orb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orw	$511, %ax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orw	$511, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orw	$7, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orw	%si, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   orw	(%rax), %di
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orl	$665536, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orl	$665536, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orl	$7, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orl	%esi, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   orl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orq	$665536, %rax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orq	$7, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   orq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outb	%al, $7
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outb	%al, %dx
@@ -2273,44 +2609,59 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbb	$0, %al
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbb	$0, %dil
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbb	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbb	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbb	$7, %al
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbb	$7, %dil
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbb	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbb	%sil, %dil
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbb	%sil, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		sbbb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   sbbb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw	$0, %ax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw	$0, %di
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbw	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbw	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw	$511, %ax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw	$511, %di
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbw	$511, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw	$7, %di
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbw	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw	%si, %di
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbw	%si, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		sbbw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   sbbw	(%rax), %di
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl	$0, %eax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl	$0, %edi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbl	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbl	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl	$665536, %eax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl	$665536, %edi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbl	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl	$7, %edi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbl	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl	%esi, %edi
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbl	%esi, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		sbbl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   sbbl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	$0, %rax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	$0, %rdi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbq	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbq	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	$665536, %rax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	$665536, %rdi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbq	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	$7, %rdi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbq	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	%rsi, %rdi
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		sbbq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   sbbq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.67   0.67    -     0.67    -      -     scasb	%es:(%rdi), %al
 # CHECK-NEXT:  -      -     0.67   0.67    -     0.67    -      -     scasw	%es:(%rdi), %ax
@@ -2381,32 +2732,43 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subb	$7, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subb	%sil, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   subb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subw	$511, %ax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subw	$511, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subw	$7, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subw	%si, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   subw	(%rax), %di
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subl	$665536, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subl	$665536, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subl	$7, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subl	%esi, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   subl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subq	$665536, %rax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subq	$7, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   subq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     testb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     testb	$7, %dil
@@ -2438,51 +2800,70 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     wrmsr
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xaddb	%bl, %cl
 # CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   xaddb	%bl, (%rcx)
+# CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xaddw	%bx, %cx
 # CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   xaddw	%ax, (%rbx)
+# CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xaddl	%ebx, %ecx
 # CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   xaddl	%eax, (%rbx)
+# CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xaddq	%rbx, %rcx
 # CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   xaddq	%rax, (%rbx)
+# CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgb	%bl, %cl
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xchgb	%bl, (%rbx)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgw	%bx, %ax
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgw	%bx, %cx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xchgw	%ax, (%rbx)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgl	%ebx, %eax
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgl	%ebx, %ecx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xchgl	%eax, (%rbx)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgq	%rbx, %rax
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgq	%rbx, %rcx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xchgq	%rax, (%rbx)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   xlatb
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorb	$7, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorb	%sil, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   xorb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorw	$511, %ax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorw	$511, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorw	$7, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorw	%si, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   xorw	(%rax), %di
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorl	$665536, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorl	$665536, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorl	$7, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorl	%esi, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   xorl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorq	$665536, %rax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorq	$7, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   xorq	(%rax), %rdi

Modified: llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s?rev=369367&r1=369366&r2=369367&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s Tue Aug 20 04:13:20 2019
@@ -4,115 +4,152 @@
 adcb $0, %al
 adcb $0, %dil
 adcb $0, (%rax)
+lock adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
+lock adcb $7, (%rax)
 adcb %sil, %dil
 adcb %sil, (%rax)
+lock adcb %sil, (%rax)
 adcb (%rax), %dil
 
 adcw $0, %ax
 adcw $0, %di
 adcw $0, (%rax)
+lock adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
+lock adcw $511, (%rax)
 adcw $7, %di
 adcw $7, (%rax)
+lock adcw $7, (%rax)
 adcw %si, %di
 adcw %si, (%rax)
+lock adcw %si, (%rax)
 adcw (%rax), %di
 
 adcl $0, %eax
 adcl $0, %edi
 adcl $0, (%rax)
+lock adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
+lock adcl $665536, (%rax)
 adcl $7, %edi
 adcl $7, (%rax)
+lock adcl $7, (%rax)
 adcl %esi, %edi
 adcl %esi, (%rax)
+lock adcl %esi, (%rax)
 adcl (%rax), %edi
 
 adcq $0, %rax
 adcq $0, %rdi
 adcq $0, (%rax)
+lock adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
+lock adcq $665536, (%rax)
 adcq $7, %rdi
 adcq $7, (%rax)
+lock adcq $7, (%rax)
 adcq %rsi, %rdi
 adcq %rsi, (%rax)
+lock adcq %rsi, (%rax)
 adcq (%rax), %rdi
 
 addb $7, %al
 addb $7, %dil
 addb $7, (%rax)
+lock addb $7, (%rax)
 addb %sil, %dil
 addb %sil, (%rax)
+lock addb %sil, (%rax)
 addb (%rax), %dil
 
 addw $511, %ax
 addw $511, %di
 addw $511, (%rax)
+lock addw $511, (%rax)
 addw $7, %di
 addw $7, (%rax)
+lock addw $7, (%rax)
 addw %si, %di
 addw %si, (%rax)
+lock addw %si, (%rax)
 addw (%rax), %di
 
 addl $665536, %eax
 addl $665536, %edi
 addl $665536, (%rax)
+lock addl $665536, (%rax)
 addl $7, %edi
 addl $7, (%rax)
+lock addl $7, (%rax)
 addl %esi, %edi
 addl %esi, (%rax)
+lock addl %esi, (%rax)
 addl (%rax), %edi
 
 addq $665536, %rax
 addq $665536, %rdi
 addq $665536, (%rax)
+lock addq $665536, (%rax)
 addq $7, %rdi
 addq $7, (%rax)
+lock addq $7, (%rax)
 addq %rsi, %rdi
 addq %rsi, (%rax)
+lock addq %rsi, (%rax)
 addq (%rax), %rdi
 
 andb $7, %al
 andb $7, %dil
 andb $7, (%rax)
+lock andb $7, (%rax)
 andb %sil, %dil
 andb %sil, (%rax)
+lock andb %sil, (%rax)
 andb (%rax), %dil
 
 andw $511, %ax
 andw $511, %di
 andw $511, (%rax)
+lock andw $511, (%rax)
 andw $7, %di
 andw $7, (%rax)
+lock andw $7, (%rax)
 andw %si, %di
 andw %si, (%rax)
+lock andw %si, (%rax)
 andw (%rax), %di
 
 andl $665536, %eax
 andl $665536, %edi
 andl $665536, (%rax)
+lock andl $665536, (%rax)
 andl $7, %edi
 andl $7, (%rax)
+lock andl $7, (%rax)
 andl %esi, %edi
 andl %esi, (%rax)
+lock andl %esi, (%rax)
 andl (%rax), %edi
 
 andq $665536, %rax
 andq $665536, %rdi
 andq $665536, (%rax)
+lock andq $665536, (%rax)
 andq $7, %rdi
 andq $7, (%rax)
+lock andq $7, (%rax)
 andq %rsi, %rdi
 andq %rsi, (%rax)
+lock andq %rsi, (%rax)
 andq (%rax), %rdi
 
 bsfw %si, %di
@@ -141,6 +178,9 @@ btw  %si, (%rax)
 btcw %si, (%rax)
 btrw %si, (%rax)
 btsw %si, (%rax)
+lock btcw %si, (%rax)
+lock btrw %si, (%rax)
+lock btsw %si, (%rax)
 btw  $7, %di
 btcw $7, %di
 btrw $7, %di
@@ -149,6 +189,9 @@ btw  $7, (%rax)
 btcw $7, (%rax)
 btrw $7, (%rax)
 btsw $7, (%rax)
+lock btcw $7, (%rax)
+lock btrw $7, (%rax)
+lock btsw $7, (%rax)
 
 btl  %esi, %edi
 btcl %esi, %edi
@@ -158,6 +201,9 @@ btl  %esi, (%rax)
 btcl %esi, (%rax)
 btrl %esi, (%rax)
 btsl %esi, (%rax)
+lock btcl %esi, (%rax)
+lock btrl %esi, (%rax)
+lock btsl %esi, (%rax)
 btl  $7, %edi
 btcl $7, %edi
 btrl $7, %edi
@@ -166,6 +212,9 @@ btl  $7, (%rax)
 btcl $7, (%rax)
 btrl $7, (%rax)
 btsl $7, (%rax)
+lock btcl $7, (%rax)
+lock btrl $7, (%rax)
+lock btsl $7, (%rax)
 
 btq  %rsi, %rdi
 btcq %rsi, %rdi
@@ -175,6 +224,9 @@ btq  %rsi, (%rax)
 btcq %rsi, (%rax)
 btrq %rsi, (%rax)
 btsq %rsi, (%rax)
+lock btcq %rsi, (%rax)
+lock btrq %rsi, (%rax)
+lock btsq %rsi, (%rax)
 btq  $7, %rdi
 btcq $7, %rdi
 btrq $7, %rdi
@@ -183,6 +235,9 @@ btq  $7, (%rax)
 btcq $7, (%rax)
 btrq $7, (%rax)
 btsq $7, (%rax)
+lock btcq $7, (%rax)
+lock btrq $7, (%rax)
+lock btsq $7, (%rax)
 
 cbw
 cwde
@@ -254,12 +309,16 @@ cpuid
 
 decb %dil
 decb (%rax)
+lock decb (%rax)
 decw %di
 decw (%rax)
+lock decw (%rax)
 decl %edi
 decl (%rax)
+lock decl (%rax)
 decq %rdi
 decq (%rax)
+lock decq (%rax)
 
 divb %dil
 divb (%rax)
@@ -320,12 +379,16 @@ inl %dx, %eax
 
 incb %dil
 incb (%rax)
+lock incb (%rax)
 incw %di
 incw (%rax)
+lock incw (%rax)
 incl %edi
 incl (%rax)
+lock incl (%rax)
 incq %rdi
 incq (%rax)
+lock incq (%rax)
 
 insb
 insw
@@ -386,12 +449,16 @@ mulq (%rax)
 
 negb %dil
 negb (%r8)
+lock negb (%r8)
 negw %si
 negw (%r9)
+lock negw (%r9)
 negl %edx
 negl (%rax)
+lock negl (%rax)
 negq %rcx
 negq (%r10)
+lock negq (%r10)
 
 nop
 nopw %di
@@ -403,45 +470,60 @@ nopq (%r9)
 
 notb %dil
 notb (%r8)
+lock notb (%r8)
 notw %si
 notw (%r9)
+lock notw (%r9)
 notl %edx
 notl (%rax)
+lock notl (%rax)
 notq %rcx
 notq (%r10)
+lock notq (%r10)
 
 orb $7, %al
 orb $7, %dil
 orb $7, (%rax)
+lock orb $7, (%rax)
 orb %sil, %dil
 orb %sil, (%rax)
+lock orb %sil, (%rax)
 orb (%rax), %dil
 
 orw $511, %ax
 orw $511, %di
 orw $511, (%rax)
+lock orw $511, (%rax)
 orw $7, %di
 orw $7, (%rax)
+lock orw $7, (%rax)
 orw %si, %di
 orw %si, (%rax)
+lock orw %si, (%rax)
 orw (%rax), %di
 
 orl $665536, %eax
 orl $665536, %edi
 orl $665536, (%rax)
+lock orl $665536, (%rax)
 orl $7, %edi
 orl $7, (%rax)
+lock orl $7, (%rax)
 orl %esi, %edi
 orl %esi, (%rax)
+lock orl %esi, (%rax)
 orl (%rax), %edi
 
 orq $665536, %rax
 orq $665536, %rdi
 orq $665536, (%rax)
+lock orq $665536, (%rax)
 orq $7, %rdi
 orq $7, (%rax)
+lock orq $7, (%rax)
 orq %rsi, %rdi
 orq %rsi, (%rax)
+lock orq %rsi, (%rax)
 orq (%rax), %rdi
 
 outb %al,  $7
@@ -647,47 +729,62 @@ shrq %cl, (%rax)
 sbbb $0, %al
 sbbb $0, %dil
 sbbb $0, (%rax)
+lock sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
+lock sbbb $7, (%rax)
 sbbb %sil, %dil
 sbbb %sil, (%rax)
+lock sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
 sbbw $0, %ax
 sbbw $0, %di
 sbbw $0, (%rax)
+lock sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
+lock sbbw $511, (%rax)
 sbbw $7, %di
 sbbw $7, (%rax)
+lock sbbw $7, (%rax)
 sbbw %si, %di
 sbbw %si, (%rax)
+lock sbbw %si, (%rax)
 sbbw (%rax), %di
 
 sbbl $0, %eax
 sbbl $0, %edi
 sbbl $0, (%rax)
+lock sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
+lock sbbl $665536, (%rax)
 sbbl $7, %edi
 sbbl $7, (%rax)
+lock sbbl $7, (%rax)
 sbbl %esi, %edi
 sbbl %esi, (%rax)
+lock sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
 sbbq $0, %rax
 sbbq $0, %rdi
 sbbq $0, (%rax)
+lock sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
+lock sbbq $665536, (%rax)
 sbbq $7, %rdi
 sbbq $7, (%rax)
+lock sbbq $7, (%rax)
 sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
+lock sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
 scasb
@@ -766,35 +863,46 @@ stosq
 subb $7, %al
 subb $7, %dil
 subb $7, (%rax)
+lock subb $7, (%rax)
 subb %sil, %dil
 subb %sil, (%rax)
+lock subb %sil, (%rax)
 subb (%rax), %dil
 
 subw $511, %ax
 subw $511, %di
 subw $511, (%rax)
+lock subw $511, (%rax)
 subw $7, %di
 subw $7, (%rax)
+lock subw $7, (%rax)
 subw %si, %di
 subw %si, (%rax)
+lock subw %si, (%rax)
 subw (%rax), %di
 
 subl $665536, %eax
 subl $665536, %edi
 subl $665536, (%rax)
+lock subl $665536, (%rax)
 subl $7, %edi
 subl $7, (%rax)
+lock subl $7, (%rax)
 subl %esi, %edi
 subl %esi, (%rax)
+lock subl %esi, (%rax)
 subl (%rax), %edi
 
 subq $665536, %rax
 subq $665536, %rdi
 subq $665536, (%rax)
+lock subq $665536, (%rax)
 subq $7, %rdi
 subq $7, (%rax)
+lock subq $7, (%rax)
 subq %rsi, %rdi
 subq %rsi, (%rax)
+lock subq %rsi, (%rax)
 subq (%rax), %rdi
 
 testb $7, %al
@@ -833,65 +941,84 @@ wrmsr
 
 xaddb %bl, %cl
 xaddb %bl, (%rcx)
+lock xaddb %bl, (%rcx)
 
 xaddw %bx, %cx
 xaddw %ax, (%rbx)
+lock xaddw %ax, (%rbx)
 
 xaddl %ebx, %ecx
 xaddl %eax, (%rbx)
+lock xaddl %eax, (%rbx)
 
 xaddq %rbx, %rcx
 xaddq %rax, (%rbx)
+lock xaddq %rax, (%rbx)
 
 xchgb %bl, %cl
 xchgb %bl, (%rbx)
+lock xchgb %bl, (%rbx)
 
 xchgw %ax, %bx
 xchgw %bx, %cx
 xchgw %ax, (%rbx)
+lock xchgw %ax, (%rbx)
 
 xchgl %eax, %ebx
 xchgl %ebx, %ecx
 xchgl %eax, (%rbx)
+lock xchgl %eax, (%rbx)
 
 xchgq %rax, %rbx
 xchgq %rbx, %rcx
 xchgq %rax, (%rbx)
+lock xchgq %rax, (%rbx)
 
 xlatb
 
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
+lock xorb $7, (%rax)
 xorb %sil, %dil
 xorb %sil, (%rax)
+lock xorb %sil, (%rax)
 xorb (%rax), %dil
 
 xorw $511, %ax
 xorw $511, %di
 xorw $511, (%rax)
+lock xorw $511, (%rax)
 xorw $7, %di
 xorw $7, (%rax)
+lock xorw $7, (%rax)
 xorw %si, %di
 xorw %si, (%rax)
+lock xorw %si, (%rax)
 xorw (%rax), %di
 
 xorl $665536, %eax
 xorl $665536, %edi
 xorl $665536, (%rax)
+lock xorl $665536, (%rax)
 xorl $7, %edi
 xorl $7, (%rax)
+lock xorl $7, (%rax)
 xorl %esi, %edi
 xorl %esi, (%rax)
+lock xorl %esi, (%rax)
 xorl (%rax), %edi
 
 xorq $665536, %rax
 xorq $665536, %rdi
 xorq $665536, (%rax)
+lock xorq $665536, (%rax)
 xorq $7, %rdi
 xorq $7, (%rax)
+lock xorq $7, (%rax)
 xorq %rsi, %rdi
 xorq %rsi, (%rax)
+lock xorq %rsi, (%rax)
 xorq (%rax), %rdi
 
 # CHECK:      Instruction Info:
@@ -906,104 +1033,141 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.50                        adcb	$0, %al
 # CHECK-NEXT:  2      2     0.50                        adcb	$0, %dil
 # CHECK-NEXT:  6      9     1.00    *      *            adcb	$0, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		adcb	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcb	$7, %al
 # CHECK-NEXT:  2      2     0.50                        adcb	$7, %dil
 # CHECK-NEXT:  6      9     1.00    *      *            adcb	$7, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		adcb	$7, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcb	%sil, %dil
 # CHECK-NEXT:  6      9     1.00    *      *            adcb	%sil, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		adcb	%sil, (%rax)
 # CHECK-NEXT:  3      7     0.50    *                   adcb	(%rax), %dil
 # CHECK-NEXT:  2      2     0.50                        adcw	$0, %ax
 # CHECK-NEXT:  1      1     0.50                        adcw	$0, %di
 # CHECK-NEXT:  6      9     1.00    *      *            adcw	$0, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		adcw	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcw	$511, %ax
 # CHECK-NEXT:  2      2     0.50                        adcw	$511, %di
 # CHECK-NEXT:  6      9     1.00    *      *            adcw	$511, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		adcw	$511, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcw	$7, %di
 # CHECK-NEXT:  6      9     1.00    *      *            adcw	$7, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		adcw	$7, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcw	%si, %di
 # CHECK-NEXT:  6      9     1.00    *      *            adcw	%si, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		adcw	%si, (%rax)
 # CHECK-NEXT:  3      7     0.50    *                   adcw	(%rax), %di
 # CHECK-NEXT:  2      2     0.50                        adcl	$0, %eax
 # CHECK-NEXT:  1      1     0.50                        adcl	$0, %edi
 # CHECK-NEXT:  6      9     1.00    *      *            adcl	$0, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		adcl	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcl	$665536, %eax
 # CHECK-NEXT:  2      2     0.50                        adcl	$665536, %edi
 # CHECK-NEXT:  6      9     1.00    *      *            adcl	$665536, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		adcl	$665536, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcl	$7, %edi
 # CHECK-NEXT:  6      9     1.00    *      *            adcl	$7, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		adcl	$7, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcl	%esi, %edi
 # CHECK-NEXT:  6      9     1.00    *      *            adcl	%esi, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		adcl	%esi, (%rax)
 # CHECK-NEXT:  3      7     0.50    *                   adcl	(%rax), %edi
 # CHECK-NEXT:  2      2     0.50                        adcq	$0, %rax
 # CHECK-NEXT:  1      1     0.50                        adcq	$0, %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            adcq	$0, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		adcq	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcq	$665536, %rax
 # CHECK-NEXT:  2      2     0.50                        adcq	$665536, %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            adcq	$665536, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		adcq	$665536, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcq	$7, %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            adcq	$7, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		adcq	$7, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcq	%rsi, %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            adcq	%rsi, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		adcq	%rsi, (%rax)
 # CHECK-NEXT:  3      7     0.50    *                   adcq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        addb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        addb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            addb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            addb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.25                        addw	$511, %ax
 # CHECK-NEXT:  1      1     0.25                        addw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            addw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            addw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            addw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addw	(%rax), %di
 # CHECK-NEXT:  1      1     0.25                        addl	$665536, %eax
 # CHECK-NEXT:  1      1     0.25                        addl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            addl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            addl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            addl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.25                        addq	$665536, %rax
 # CHECK-NEXT:  1      1     0.25                        addq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            addq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            addq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            addq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        andb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        andb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            andb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            andb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.25                        andw	$511, %ax
 # CHECK-NEXT:  1      1     0.25                        andw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            andw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            andw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            andw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andw	(%rax), %di
 # CHECK-NEXT:  1      1     0.25                        andl	$665536, %eax
 # CHECK-NEXT:  1      1     0.25                        andl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            andl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            andl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            andl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.25                        andq	$665536, %rax
 # CHECK-NEXT:  1      1     0.25                        andq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andq	(%rax), %rdi
 # CHECK-NEXT:  1      3     1.00                        bsfw	%si, %di
 # CHECK-NEXT:  1      3     1.00                        bsrw	%si, %di
@@ -1027,6 +1191,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  11     1     2.75    *      *            btcw	%si, (%rax)
 # CHECK-NEXT:  11     1     2.75    *      *            btrw	%si, (%rax)
 # CHECK-NEXT:  11     1     2.75    *      *            btsw	%si, (%rax)
+# CHECK-NEXT:  11     1     2.75    *      *            lock		btcw	%si, (%rax)
+# CHECK-NEXT:  11     1     2.75    *      *            lock		btrw	%si, (%rax)
+# CHECK-NEXT:  11     1     2.75    *      *            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
@@ -1035,6 +1202,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      7     1.00    *      *            btcw	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btrw	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btsw	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btcw	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btrw	$7, (%rax)
+# CHECK-NEXT:  4      7     1.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
@@ -1043,6 +1213,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  11     1     2.75    *      *            btcl	%esi, (%rax)
 # CHECK-NEXT:  11     1     2.75    *      *            btrl	%esi, (%rax)
 # CHECK-NEXT:  11     1     2.75    *      *            btsl	%esi, (%rax)
+# CHECK-NEXT:  11     1     2.75    *      *            lock		btcl	%esi, (%rax)
+# CHECK-NEXT:  11     1     2.75    *      *            lock		btrl	%esi, (%rax)
+# CHECK-NEXT:  11     1     2.75    *      *            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
@@ -1051,6 +1224,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      7     1.00    *      *            btcl	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btrl	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btsl	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btcl	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btrl	$7, (%rax)
+# CHECK-NEXT:  4      7     1.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
@@ -1059,6 +1235,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  11     1     2.75    *      *            btcq	%rsi, (%rax)
 # CHECK-NEXT:  11     1     2.75    *      *            btrq	%rsi, (%rax)
 # CHECK-NEXT:  11     1     2.75    *      *            btsq	%rsi, (%rax)
+# CHECK-NEXT:  11     1     2.75    *      *            lock		btcq	%rsi, (%rax)
+# CHECK-NEXT:  11     1     2.75    *      *            lock		btrq	%rsi, (%rax)
+# CHECK-NEXT:  11     1     2.75    *      *            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
@@ -1067,6 +1246,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      7     1.00    *      *            btcq	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btrq	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btsq	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btcq	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btrq	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btsq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        cbtw
 # CHECK-NEXT:  1      1     0.25                        cwtl
 # CHECK-NEXT:  1      1     0.25                        cltq
@@ -1125,12 +1307,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  8      18    2.00                  U     cpuid
 # CHECK-NEXT:  1      1     0.25                        decb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            decb	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decb	(%rax)
 # CHECK-NEXT:  1      1     0.25                        decw	%di
 # CHECK-NEXT:  3      7     1.00    *      *            decw	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decw	(%rax)
 # CHECK-NEXT:  1      1     0.25                        decl	%edi
 # CHECK-NEXT:  3      7     1.00    *      *            decl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        decq	%rdi
 # CHECK-NEXT:  3      7     1.00    *      *            decq	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decq	(%rax)
 # CHECK-NEXT:  9      22    1.00                  U     divb	%dil
 # CHECK-NEXT:  2      29    10.00   *             U     divb	(%rax)
 # CHECK-NEXT:  32     98    8.00                  U     divw	%si
@@ -1182,12 +1368,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  23     35    5.00                  U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.25                        incb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            incb	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incb	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incw	%di
 # CHECK-NEXT:  3      7     1.00    *      *            incw	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incw	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incl	%edi
 # CHECK-NEXT:  3      7     1.00    *      *            incl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incq	%rdi
 # CHECK-NEXT:  3      7     1.00    *      *            incq	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incq	(%rax)
 # CHECK-NEXT:  8      21    1.25                  U     insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  8      21    1.25                  U     insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  8      21    1.25                  U     insl	%dx, %es:(%rdi)
@@ -1236,12 +1426,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  3      9     1.00    *                   mulq	(%rax)
 # CHECK-NEXT:  1      1     0.25                        negb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            negb	(%r8)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negb	(%r8)
 # CHECK-NEXT:  1      1     0.25                        negw	%si
 # CHECK-NEXT:  3      7     1.00    *      *            negw	(%r9)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negw	(%r9)
 # CHECK-NEXT:  1      1     0.25                        negl	%edx
 # CHECK-NEXT:  3      7     1.00    *      *            negl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        negq	%rcx
 # CHECK-NEXT:  3      7     1.00    *      *            negq	(%r10)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negq	(%r10)
 # CHECK-NEXT:  1      1     0.25                        nop
 # CHECK-NEXT:  1      1     0.25                        nopw	%di
 # CHECK-NEXT:  1      1     0.25                        nopw	(%rcx)
@@ -1251,41 +1445,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        nopq	(%r9)
 # CHECK-NEXT:  1      1     0.25                        notb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            notb	(%r8)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notb	(%r8)
 # CHECK-NEXT:  1      1     0.25                        notw	%si
 # CHECK-NEXT:  3      7     1.00    *      *            notw	(%r9)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notw	(%r9)
 # CHECK-NEXT:  1      1     0.25                        notl	%edx
 # CHECK-NEXT:  3      7     1.00    *      *            notl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        notq	%rcx
 # CHECK-NEXT:  3      7     1.00    *      *            notq	(%r10)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notq	(%r10)
 # CHECK-NEXT:  1      1     0.25                        orb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        orb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            orb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            orb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.25                        orw	$511, %ax
 # CHECK-NEXT:  1      1     0.25                        orw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            orw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            orw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            orw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orw	(%rax), %di
 # CHECK-NEXT:  1      1     0.25                        orl	$665536, %eax
 # CHECK-NEXT:  1      1     0.25                        orl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            orl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            orl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            orl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.25                        orq	$665536, %rax
 # CHECK-NEXT:  1      1     0.25                        orq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orq	(%rax), %rdi
 # CHECK-NEXT:  23     36    5.00                  U     outb	%al, $7
 # CHECK-NEXT:  23     36    5.00                  U     outb	%al, %dx
@@ -1473,44 +1682,59 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.50                        sbbb	$0, %al
 # CHECK-NEXT:  2      2     0.50                        sbbb	$0, %dil
 # CHECK-NEXT:  6      9     1.00    *      *            sbbb	$0, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		sbbb	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbb	$7, %al
 # CHECK-NEXT:  2      2     0.50                        sbbb	$7, %dil
 # CHECK-NEXT:  6      9     1.00    *      *            sbbb	$7, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		sbbb	$7, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbb	%sil, %dil
 # CHECK-NEXT:  6      9     1.00    *      *            sbbb	%sil, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		sbbb	%sil, (%rax)
 # CHECK-NEXT:  3      7     0.50    *                   sbbb	(%rax), %dil
 # CHECK-NEXT:  2      2     0.50                        sbbw	$0, %ax
 # CHECK-NEXT:  1      1     0.50                        sbbw	$0, %di
 # CHECK-NEXT:  6      9     1.00    *      *            sbbw	$0, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		sbbw	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbw	$511, %ax
 # CHECK-NEXT:  2      2     0.50                        sbbw	$511, %di
 # CHECK-NEXT:  6      9     1.00    *      *            sbbw	$511, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		sbbw	$511, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbw	$7, %di
 # CHECK-NEXT:  6      9     1.00    *      *            sbbw	$7, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		sbbw	$7, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbw	%si, %di
 # CHECK-NEXT:  6      9     1.00    *      *            sbbw	%si, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		sbbw	%si, (%rax)
 # CHECK-NEXT:  3      7     0.50    *                   sbbw	(%rax), %di
 # CHECK-NEXT:  2      2     0.50                        sbbl	$0, %eax
 # CHECK-NEXT:  1      1     0.50                        sbbl	$0, %edi
 # CHECK-NEXT:  6      9     1.00    *      *            sbbl	$0, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		sbbl	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbl	$665536, %eax
 # CHECK-NEXT:  2      2     0.50                        sbbl	$665536, %edi
 # CHECK-NEXT:  6      9     1.00    *      *            sbbl	$665536, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		sbbl	$665536, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbl	$7, %edi
 # CHECK-NEXT:  6      9     1.00    *      *            sbbl	$7, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		sbbl	$7, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbl	%esi, %edi
 # CHECK-NEXT:  6      9     1.00    *      *            sbbl	%esi, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		sbbl	%esi, (%rax)
 # CHECK-NEXT:  3      7     0.50    *                   sbbl	(%rax), %edi
 # CHECK-NEXT:  2      2     0.50                        sbbq	$0, %rax
 # CHECK-NEXT:  1      1     0.50                        sbbq	$0, %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            sbbq	$0, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		sbbq	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbq	$665536, %rax
 # CHECK-NEXT:  2      2     0.50                        sbbq	$665536, %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            sbbq	$665536, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		sbbq	$665536, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbq	$7, %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            sbbq	$7, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		sbbq	$7, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbq	%rsi, %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            sbbq	%rsi, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		sbbq	%rsi, (%rax)
 # CHECK-NEXT:  3      7     0.50    *                   sbbq	(%rax), %rdi
 # CHECK-NEXT:  3      7     0.50                  U     scasb	%es:(%rdi), %al
 # CHECK-NEXT:  3      7     0.50                  U     scasw	%es:(%rdi), %ax
@@ -1581,32 +1805,43 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        subb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        subb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            subb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            subb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.25                        subw	$511, %ax
 # CHECK-NEXT:  1      1     0.25                        subw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            subw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            subw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            subw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subw	(%rax), %di
 # CHECK-NEXT:  1      1     0.25                        subl	$665536, %eax
 # CHECK-NEXT:  1      1     0.25                        subl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            subl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            subl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            subl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.25                        subq	$665536, %rax
 # CHECK-NEXT:  1      1     0.25                        subq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        testb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        testb	$7, %dil
@@ -1638,53 +1873,72 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.25                  U     wrmsr
 # CHECK-NEXT:  3      2     0.75                        xaddb	%bl, %cl
 # CHECK-NEXT:  5      8     1.00    *      *            xaddb	%bl, (%rcx)
+# CHECK-NEXT:  5      8     1.00    *      *            lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  3      2     0.75                        xaddw	%bx, %cx
 # CHECK-NEXT:  5      8     1.00    *      *            xaddw	%ax, (%rbx)
+# CHECK-NEXT:  5      8     1.00    *      *            lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  3      2     0.75                        xaddl	%ebx, %ecx
 # CHECK-NEXT:  5      8     1.00    *      *            xaddl	%eax, (%rbx)
+# CHECK-NEXT:  5      8     1.00    *      *            lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  3      2     0.75                        xaddq	%rbx, %rcx
 # CHECK-NEXT:  5      8     1.00    *      *            xaddq	%rax, (%rbx)
+# CHECK-NEXT:  5      8     1.00    *      *            lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  3      2     0.75                        xchgb	%bl, %cl
 # CHECK-NEXT:  6      9     1.00    *      *            xchgb	%bl, (%rbx)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT:  3      2     0.75                        xchgw	%bx, %ax
 # CHECK-NEXT:  3      2     0.75                        xchgw	%bx, %cx
 # CHECK-NEXT:  6      9     1.00    *      *            xchgw	%ax, (%rbx)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT:  3      2     0.75                        xchgl	%ebx, %eax
 # CHECK-NEXT:  3      2     0.75                        xchgl	%ebx, %ecx
 # CHECK-NEXT:  6      9     1.00    *      *            xchgl	%eax, (%rbx)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT:  3      2     0.75                        xchgq	%rbx, %rax
 # CHECK-NEXT:  3      2     0.75                        xchgq	%rbx, %rcx
 # CHECK-NEXT:  6      9     1.00    *      *            xchgq	%rax, (%rbx)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT:  3      7     0.75    *                   xlatb
 # CHECK-NEXT:  1      1     0.25                        xorb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        xorb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            xorb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            xorb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.25                        xorw	$511, %ax
 # CHECK-NEXT:  1      1     0.25                        xorw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            xorw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            xorw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            xorw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorw	(%rax), %di
 # CHECK-NEXT:  1      1     0.25                        xorl	$665536, %eax
 # CHECK-NEXT:  1      1     0.25                        xorl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            xorl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            xorl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            xorl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.25                        xorq	$665536, %rax
 # CHECK-NEXT:  1      1     0.25                        xorq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            xorq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            xorq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            xorq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorq	(%rax), %rdi
 
 # CHECK:      Resources:
@@ -1701,111 +1955,148 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 80.00   -     578.75 372.75 273.17 273.17 213.00 287.25 641.25 83.67
+# CHECK-NEXT: 80.00   -     643.50 403.00 371.50 371.50 331.00 317.50 706.00 123.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb	$0, %al
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb	$0, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcb	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb	$7, %al
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb	$7, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb	%sil, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb	%sil, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25   0.50   0.50    -     0.25   0.75    -     adcb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcw	$0, %ax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw	$0, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcw	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcw	$511, %ax
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcw	$511, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw	$511, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcw	$7, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcw	%si, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw	%si, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25   0.50   0.50    -     0.25   0.75    -     adcw	(%rax), %di
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcl	$0, %eax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl	$0, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcl	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcl	$665536, %eax
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcl	$665536, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcl	$7, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcl	%esi, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl	%esi, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25   0.50   0.50    -     0.25   0.75    -     adcl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcq	$0, %rax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq	$0, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcq	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcq	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcq	$665536, %rax
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcq	$665536, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcq	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcq	$7, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcq	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcq	%rsi, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25   0.50   0.50    -     0.25   0.75    -     adcq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addb	$7, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addb	%sil, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     addb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addw	$511, %ax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addw	$511, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addw	$7, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addw	%si, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     addw	(%rax), %di
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addl	$665536, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addl	$665536, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addl	$7, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addl	%esi, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     addl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addq	$665536, %rax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addq	$7, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     addq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andb	$7, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andb	%sil, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     andb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andw	$511, %ax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andw	$511, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andw	$7, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andw	%si, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     andw	(%rax), %di
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andl	$665536, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andl	$665536, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andl	$7, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andl	%esi, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     andl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andq	$665536, %rax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andq	$7, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     andq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsfw	%si, %di
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsrw	%si, %di
@@ -1829,6 +2120,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     btcw	%si, (%rax)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     btrw	%si, (%rax)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     btsw	%si, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     lock		btcw	%si, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     lock		btrw	%si, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     lock		btsw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btw	$7, %di
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btcw	$7, %di
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btrw	$7, %di
@@ -1837,6 +2131,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btcw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btrw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btsw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btcw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btrw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btsw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btl	%esi, %edi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btcl	%esi, %edi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btrl	%esi, %edi
@@ -1845,6 +2142,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     btcl	%esi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     btrl	%esi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     btsl	%esi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     lock		btcl	%esi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     lock		btrl	%esi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     lock		btsl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btl	$7, %edi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btcl	$7, %edi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btrl	$7, %edi
@@ -1853,6 +2153,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btcl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btrl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btsl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btcl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btrl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btsl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btcq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btrq	%rsi, %rdi
@@ -1861,6 +2164,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     btcq	%rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     btrq	%rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     btsq	%rsi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     lock		btcq	%rsi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     lock		btrq	%rsi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     lock		btsq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btq	$7, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btcq	$7, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btrq	$7, %rdi
@@ -1869,6 +2175,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btcq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btrq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btsq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btcq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btrq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btsq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     cbtw
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     cwtl
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     cltq
@@ -1927,12 +2236,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.75   1.25    -      -      -     2.25   2.75    -     cpuid
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   decb	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		decb	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decw	%di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   decw	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		decw	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decl	%edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   decl	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		decl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decq	%rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   decq	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		decq	(%rax)
 # CHECK-NEXT:  -      -     1.00   1.00    -      -      -     1.00   1.00    -     divb	%dil
 # CHECK-NEXT: 10.00   -     1.00    -     0.50   0.50    -      -      -      -     divb	(%rax)
 # CHECK-NEXT:  -      -     10.25  10.25   -      -      -     5.75   5.75    -     divw	%si
@@ -1984,12 +2297,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inl	%dx, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incb	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		incb	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incw	%di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incw	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		incw	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incl	%edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incl	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		incl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incq	%rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incq	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		incq	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insl	%dx, %es:(%rdi)
@@ -2038,12 +2355,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -     1.00    -     mulq	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     negb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   negb	(%r8)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		negb	(%r8)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     negw	%si
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   negw	(%r9)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		negw	(%r9)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     negl	%edx
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   negl	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		negl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     negq	%rcx
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   negq	(%r10)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		negq	(%r10)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     nop
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     nopw	%di
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     nopw	(%rcx)
@@ -2053,41 +2374,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     nopq	(%r9)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     notb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   notb	(%r8)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		notb	(%r8)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     notw	%si
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   notw	(%r9)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		notw	(%r9)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     notl	%edx
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   notl	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		notl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     notq	%rcx
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   notq	(%r10)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		notq	(%r10)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orb	$7, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orb	%sil, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     orb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orw	$511, %ax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orw	$511, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orw	$7, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orw	%si, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     orw	(%rax), %di
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orl	$665536, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orl	$665536, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orl	$7, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orl	%esi, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     orl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orq	$665536, %rax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orq	$7, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     orq	(%rax), %rdi
 # CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outb	%al, $7
 # CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outb	%al, %dx
@@ -2275,44 +2611,59 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbb	$0, %al
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbb	$0, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbb	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbb	$7, %al
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbb	$7, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbb	%sil, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb	%sil, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25   0.50   0.50    -     0.25   0.75    -     sbbb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbw	$0, %ax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw	$0, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbw	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbw	$511, %ax
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbw	$511, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw	$511, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbw	$7, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbw	%si, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw	%si, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25   0.50   0.50    -     0.25   0.75    -     sbbw	(%rax), %di
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbl	$0, %eax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl	$0, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbl	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbl	$665536, %eax
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbl	$665536, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbl	$7, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbl	%esi, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl	%esi, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25   0.50   0.50    -     0.25   0.75    -     sbbl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbq	$0, %rax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq	$0, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbq	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbq	$665536, %rax
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbq	$665536, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbq	$7, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbq	%rsi, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25   0.50   0.50    -     0.25   0.75    -     sbbq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasb	%es:(%rdi), %al
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasw	%es:(%rdi), %ax
@@ -2383,32 +2734,43 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subb	$7, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subb	%sil, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     subb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subw	$511, %ax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subw	$511, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subw	$7, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subw	%si, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     subw	(%rax), %di
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subl	$665536, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subl	$665536, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subl	$7, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subl	%esi, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     subl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subq	$665536, %rax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subq	$7, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     subq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     testb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     testb	$7, %dil
@@ -2440,51 +2802,70 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     wrmsr
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xaddb	%bl, %cl
 # CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   xaddb	%bl, (%rcx)
+# CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xaddw	%bx, %cx
 # CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   xaddw	%ax, (%rbx)
+# CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xaddl	%ebx, %ecx
 # CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   xaddl	%eax, (%rbx)
+# CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xaddq	%rbx, %rcx
 # CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   xaddq	%rax, (%rbx)
+# CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgb	%bl, %cl
 # CHECK-NEXT:  -      -     0.75   0.75   0.83   0.83   1.00   0.75   0.75   0.33   xchgb	%bl, (%rbx)
+# CHECK-NEXT:  -      -     0.75   0.75   0.83   0.83   1.00   0.75   0.75   0.33   lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgw	%bx, %ax
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgw	%bx, %cx
 # CHECK-NEXT:  -      -     0.75   0.75   0.83   0.83   1.00   0.75   0.75   0.33   xchgw	%ax, (%rbx)
+# CHECK-NEXT:  -      -     0.75   0.75   0.83   0.83   1.00   0.75   0.75   0.33   lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgl	%ebx, %eax
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgl	%ebx, %ecx
 # CHECK-NEXT:  -      -     0.75   0.75   0.83   0.83   1.00   0.75   0.75   0.33   xchgl	%eax, (%rbx)
+# CHECK-NEXT:  -      -     0.75   0.75   0.83   0.83   1.00   0.75   0.75   0.33   lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgq	%rbx, %rax
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgq	%rbx, %rcx
 # CHECK-NEXT:  -      -     0.75   0.75   0.83   0.83   1.00   0.75   0.75   0.33   xchgq	%rax, (%rbx)
+# CHECK-NEXT:  -      -     0.75   0.75   0.83   0.83   1.00   0.75   0.75   0.33   lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     xlatb
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorb	$7, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorb	%sil, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     xorb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorw	$511, %ax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorw	$511, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorw	$7, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorw	%si, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     xorw	(%rax), %di
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorl	$665536, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorl	$665536, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorl	$7, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorl	%esi, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     xorl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorq	$665536, %rax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorq	$7, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     xorq	(%rax), %rdi

Modified: llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s?rev=369367&r1=369366&r2=369367&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s Tue Aug 20 04:13:20 2019
@@ -4,115 +4,152 @@
 adcb $0, %al
 adcb $0, %dil
 adcb $0, (%rax)
+lock adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
+lock adcb $7, (%rax)
 adcb %sil, %dil
 adcb %sil, (%rax)
+lock adcb %sil, (%rax)
 adcb (%rax), %dil
 
 adcw $0, %ax
 adcw $0, %di
 adcw $0, (%rax)
+lock adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
+lock adcw $511, (%rax)
 adcw $7, %di
 adcw $7, (%rax)
+lock adcw $7, (%rax)
 adcw %si, %di
 adcw %si, (%rax)
+lock adcw %si, (%rax)
 adcw (%rax), %di
 
 adcl $0, %eax
 adcl $0, %edi
 adcl $0, (%rax)
+lock adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
+lock adcl $665536, (%rax)
 adcl $7, %edi
 adcl $7, (%rax)
+lock adcl $7, (%rax)
 adcl %esi, %edi
 adcl %esi, (%rax)
+lock adcl %esi, (%rax)
 adcl (%rax), %edi
 
 adcq $0, %rax
 adcq $0, %rdi
 adcq $0, (%rax)
+lock adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
+lock adcq $665536, (%rax)
 adcq $7, %rdi
 adcq $7, (%rax)
+lock adcq $7, (%rax)
 adcq %rsi, %rdi
 adcq %rsi, (%rax)
+lock adcq %rsi, (%rax)
 adcq (%rax), %rdi
 
 addb $7, %al
 addb $7, %dil
 addb $7, (%rax)
+lock addb $7, (%rax)
 addb %sil, %dil
 addb %sil, (%rax)
+lock addb %sil, (%rax)
 addb (%rax), %dil
 
 addw $511, %ax
 addw $511, %di
 addw $511, (%rax)
+lock addw $511, (%rax)
 addw $7, %di
 addw $7, (%rax)
+lock addw $7, (%rax)
 addw %si, %di
 addw %si, (%rax)
+lock addw %si, (%rax)
 addw (%rax), %di
 
 addl $665536, %eax
 addl $665536, %edi
 addl $665536, (%rax)
+lock addl $665536, (%rax)
 addl $7, %edi
 addl $7, (%rax)
+lock addl $7, (%rax)
 addl %esi, %edi
 addl %esi, (%rax)
+lock addl %esi, (%rax)
 addl (%rax), %edi
 
 addq $665536, %rax
 addq $665536, %rdi
 addq $665536, (%rax)
+lock addq $665536, (%rax)
 addq $7, %rdi
 addq $7, (%rax)
+lock addq $7, (%rax)
 addq %rsi, %rdi
 addq %rsi, (%rax)
+lock addq %rsi, (%rax)
 addq (%rax), %rdi
 
 andb $7, %al
 andb $7, %dil
 andb $7, (%rax)
+lock andb $7, (%rax)
 andb %sil, %dil
 andb %sil, (%rax)
+lock andb %sil, (%rax)
 andb (%rax), %dil
 
 andw $511, %ax
 andw $511, %di
 andw $511, (%rax)
+lock andw $511, (%rax)
 andw $7, %di
 andw $7, (%rax)
+lock andw $7, (%rax)
 andw %si, %di
 andw %si, (%rax)
+lock andw %si, (%rax)
 andw (%rax), %di
 
 andl $665536, %eax
 andl $665536, %edi
 andl $665536, (%rax)
+lock andl $665536, (%rax)
 andl $7, %edi
 andl $7, (%rax)
+lock andl $7, (%rax)
 andl %esi, %edi
 andl %esi, (%rax)
+lock andl %esi, (%rax)
 andl (%rax), %edi
 
 andq $665536, %rax
 andq $665536, %rdi
 andq $665536, (%rax)
+lock andq $665536, (%rax)
 andq $7, %rdi
 andq $7, (%rax)
+lock andq $7, (%rax)
 andq %rsi, %rdi
 andq %rsi, (%rax)
+lock andq %rsi, (%rax)
 andq (%rax), %rdi
 
 bsfw %si, %di
@@ -141,6 +178,9 @@ btw  %si, (%rax)
 btcw %si, (%rax)
 btrw %si, (%rax)
 btsw %si, (%rax)
+lock btcw %si, (%rax)
+lock btrw %si, (%rax)
+lock btsw %si, (%rax)
 btw  $7, %di
 btcw $7, %di
 btrw $7, %di
@@ -149,6 +189,9 @@ btw  $7, (%rax)
 btcw $7, (%rax)
 btrw $7, (%rax)
 btsw $7, (%rax)
+lock btcw $7, (%rax)
+lock btrw $7, (%rax)
+lock btsw $7, (%rax)
 
 btl  %esi, %edi
 btcl %esi, %edi
@@ -158,6 +201,9 @@ btl  %esi, (%rax)
 btcl %esi, (%rax)
 btrl %esi, (%rax)
 btsl %esi, (%rax)
+lock btcl %esi, (%rax)
+lock btrl %esi, (%rax)
+lock btsl %esi, (%rax)
 btl  $7, %edi
 btcl $7, %edi
 btrl $7, %edi
@@ -166,6 +212,9 @@ btl  $7, (%rax)
 btcl $7, (%rax)
 btrl $7, (%rax)
 btsl $7, (%rax)
+lock btcl $7, (%rax)
+lock btrl $7, (%rax)
+lock btsl $7, (%rax)
 
 btq  %rsi, %rdi
 btcq %rsi, %rdi
@@ -175,6 +224,9 @@ btq  %rsi, (%rax)
 btcq %rsi, (%rax)
 btrq %rsi, (%rax)
 btsq %rsi, (%rax)
+lock btcq %rsi, (%rax)
+lock btrq %rsi, (%rax)
+lock btsq %rsi, (%rax)
 btq  $7, %rdi
 btcq $7, %rdi
 btrq $7, %rdi
@@ -183,6 +235,9 @@ btq  $7, (%rax)
 btcq $7, (%rax)
 btrq $7, (%rax)
 btsq $7, (%rax)
+lock btcq $7, (%rax)
+lock btrq $7, (%rax)
+lock btsq $7, (%rax)
 
 cbw
 cwde
@@ -254,12 +309,16 @@ cpuid
 
 decb %dil
 decb (%rax)
+lock decb (%rax)
 decw %di
 decw (%rax)
+lock decw (%rax)
 decl %edi
 decl (%rax)
+lock decl (%rax)
 decq %rdi
 decq (%rax)
+lock decq (%rax)
 
 divb %dil
 divb (%rax)
@@ -320,12 +379,16 @@ inl %dx, %eax
 
 incb %dil
 incb (%rax)
+lock incb (%rax)
 incw %di
 incw (%rax)
+lock incw (%rax)
 incl %edi
 incl (%rax)
+lock incl (%rax)
 incq %rdi
 incq (%rax)
+lock incq (%rax)
 
 insb
 insw
@@ -386,12 +449,16 @@ mulq (%rax)
 
 negb %dil
 negb (%r8)
+lock negb (%r8)
 negw %si
 negw (%r9)
+lock negw (%r9)
 negl %edx
 negl (%rax)
+lock negl (%rax)
 negq %rcx
 negq (%r10)
+lock negq (%r10)
 
 nop
 nopw %di
@@ -403,45 +470,60 @@ nopq (%r9)
 
 notb %dil
 notb (%r8)
+lock notb (%r8)
 notw %si
 notw (%r9)
+lock notw (%r9)
 notl %edx
 notl (%rax)
+lock notl (%rax)
 notq %rcx
 notq (%r10)
+lock notq (%r10)
 
 orb $7, %al
 orb $7, %dil
 orb $7, (%rax)
+lock orb $7, (%rax)
 orb %sil, %dil
 orb %sil, (%rax)
+lock orb %sil, (%rax)
 orb (%rax), %dil
 
 orw $511, %ax
 orw $511, %di
 orw $511, (%rax)
+lock orw $511, (%rax)
 orw $7, %di
 orw $7, (%rax)
+lock orw $7, (%rax)
 orw %si, %di
 orw %si, (%rax)
+lock orw %si, (%rax)
 orw (%rax), %di
 
 orl $665536, %eax
 orl $665536, %edi
 orl $665536, (%rax)
+lock orl $665536, (%rax)
 orl $7, %edi
 orl $7, (%rax)
+lock orl $7, (%rax)
 orl %esi, %edi
 orl %esi, (%rax)
+lock orl %esi, (%rax)
 orl (%rax), %edi
 
 orq $665536, %rax
 orq $665536, %rdi
 orq $665536, (%rax)
+lock orq $665536, (%rax)
 orq $7, %rdi
 orq $7, (%rax)
+lock orq $7, (%rax)
 orq %rsi, %rdi
 orq %rsi, (%rax)
+lock orq %rsi, (%rax)
 orq (%rax), %rdi
 
 outb %al,  $7
@@ -647,47 +729,62 @@ shrq %cl, (%rax)
 sbbb $0, %al
 sbbb $0, %dil
 sbbb $0, (%rax)
+lock sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
+lock sbbb $7, (%rax)
 sbbb %sil, %dil
 sbbb %sil, (%rax)
+lock sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
 sbbw $0, %ax
 sbbw $0, %di
 sbbw $0, (%rax)
+lock sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
+lock sbbw $511, (%rax)
 sbbw $7, %di
 sbbw $7, (%rax)
+lock sbbw $7, (%rax)
 sbbw %si, %di
 sbbw %si, (%rax)
+lock sbbw %si, (%rax)
 sbbw (%rax), %di
 
 sbbl $0, %eax
 sbbl $0, %edi
 sbbl $0, (%rax)
+lock sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
+lock sbbl $665536, (%rax)
 sbbl $7, %edi
 sbbl $7, (%rax)
+lock sbbl $7, (%rax)
 sbbl %esi, %edi
 sbbl %esi, (%rax)
+lock sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
 sbbq $0, %rax
 sbbq $0, %rdi
 sbbq $0, (%rax)
+lock sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
+lock sbbq $665536, (%rax)
 sbbq $7, %rdi
 sbbq $7, (%rax)
+lock sbbq $7, (%rax)
 sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
+lock sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
 scasb
@@ -766,35 +863,46 @@ stosq
 subb $7, %al
 subb $7, %dil
 subb $7, (%rax)
+lock subb $7, (%rax)
 subb %sil, %dil
 subb %sil, (%rax)
+lock subb %sil, (%rax)
 subb (%rax), %dil
 
 subw $511, %ax
 subw $511, %di
 subw $511, (%rax)
+lock subw $511, (%rax)
 subw $7, %di
 subw $7, (%rax)
+lock subw $7, (%rax)
 subw %si, %di
 subw %si, (%rax)
+lock subw %si, (%rax)
 subw (%rax), %di
 
 subl $665536, %eax
 subl $665536, %edi
 subl $665536, (%rax)
+lock subl $665536, (%rax)
 subl $7, %edi
 subl $7, (%rax)
+lock subl $7, (%rax)
 subl %esi, %edi
 subl %esi, (%rax)
+lock subl %esi, (%rax)
 subl (%rax), %edi
 
 subq $665536, %rax
 subq $665536, %rdi
 subq $665536, (%rax)
+lock subq $665536, (%rax)
 subq $7, %rdi
 subq $7, (%rax)
+lock subq $7, (%rax)
 subq %rsi, %rdi
 subq %rsi, (%rax)
+lock subq %rsi, (%rax)
 subq (%rax), %rdi
 
 testb $7, %al
@@ -833,65 +941,84 @@ wrmsr
 
 xaddb %bl, %cl
 xaddb %bl, (%rcx)
+lock xaddb %bl, (%rcx)
 
 xaddw %bx, %cx
 xaddw %ax, (%rbx)
+lock xaddw %ax, (%rbx)
 
 xaddl %ebx, %ecx
 xaddl %eax, (%rbx)
+lock xaddl %eax, (%rbx)
 
 xaddq %rbx, %rcx
 xaddq %rax, (%rbx)
+lock xaddq %rax, (%rbx)
 
 xchgb %bl, %cl
 xchgb %bl, (%rbx)
+lock xchgb %bl, (%rbx)
 
 xchgw %ax, %bx
 xchgw %bx, %cx
 xchgw %ax, (%rbx)
+lock xchgw %ax, (%rbx)
 
 xchgl %eax, %ebx
 xchgl %ebx, %ecx
 xchgl %eax, (%rbx)
+lock xchgl %eax, (%rbx)
 
 xchgq %rax, %rbx
 xchgq %rbx, %rcx
 xchgq %rax, (%rbx)
+lock xchgq %rax, (%rbx)
 
 xlatb
 
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
+lock xorb $7, (%rax)
 xorb %sil, %dil
 xorb %sil, (%rax)
+lock xorb %sil, (%rax)
 xorb (%rax), %dil
 
 xorw $511, %ax
 xorw $511, %di
 xorw $511, (%rax)
+lock xorw $511, (%rax)
 xorw $7, %di
 xorw $7, (%rax)
+lock xorw $7, (%rax)
 xorw %si, %di
 xorw %si, (%rax)
+lock xorw %si, (%rax)
 xorw (%rax), %di
 
 xorl $665536, %eax
 xorl $665536, %edi
 xorl $665536, (%rax)
+lock xorl $665536, (%rax)
 xorl $7, %edi
 xorl $7, (%rax)
+lock xorl $7, (%rax)
 xorl %esi, %edi
 xorl %esi, (%rax)
+lock xorl %esi, (%rax)
 xorl (%rax), %edi
 
 xorq $665536, %rax
 xorq $665536, %rdi
 xorq $665536, (%rax)
+lock xorq $665536, (%rax)
 xorq $7, %rdi
 xorq $7, (%rax)
+lock xorq $7, (%rax)
 xorq %rsi, %rdi
 xorq %rsi, (%rax)
+lock xorq %rsi, (%rax)
 xorq (%rax), %rdi
 
 # CHECK:      Instruction Info:
@@ -906,104 +1033,141 @@ xorq (%rax), %rdi
 # 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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      4     1.00    *                   andq	(%rax), %rdi
 # CHECK-NEXT:  10     10    10.00                       bsfw	%si, %di
 # CHECK-NEXT:  10     10    10.00                       bsrw	%si, %di
@@ -1027,6 +1191,9 @@ xorq (%rax), %rdi
 # 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      1     0.50                        btw	$7, %di
 # CHECK-NEXT:  1      1     0.50                        btcw	$7, %di
 # CHECK-NEXT:  1      1     0.50                        btrw	$7, %di
@@ -1035,6 +1202,9 @@ xorq (%rax), %rdi
 # 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      1     0.50                        btl	%esi, %edi
 # CHECK-NEXT:  1      1     0.50                        btcl	%esi, %edi
 # CHECK-NEXT:  1      1     0.50                        btrl	%esi, %edi
@@ -1043,6 +1213,9 @@ xorq (%rax), %rdi
 # 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      1     0.50                        btl	$7, %edi
 # CHECK-NEXT:  1      1     0.50                        btcl	$7, %edi
 # CHECK-NEXT:  1      1     0.50                        btrl	$7, %edi
@@ -1051,6 +1224,9 @@ xorq (%rax), %rdi
 # 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      1     0.50                        btq	%rsi, %rdi
 # CHECK-NEXT:  1      1     0.50                        btcq	%rsi, %rdi
 # CHECK-NEXT:  1      1     0.50                        btrq	%rsi, %rdi
@@ -1059,6 +1235,9 @@ xorq (%rax), %rdi
 # 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      1     0.50                        btq	$7, %rdi
 # CHECK-NEXT:  1      1     0.50                        btcq	$7, %rdi
 # CHECK-NEXT:  1      1     0.50                        btrq	$7, %rdi
@@ -1067,6 +1246,9 @@ xorq (%rax), %rdi
 # 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      1     0.50                        cbtw
 # CHECK-NEXT:  1      1     0.50                        cwtl
 # CHECK-NEXT:  1      1     0.50                        cltq
@@ -1125,12 +1307,16 @@ xorq (%rax), %rdi
 # 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      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      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      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      25    25.00                 U     divb	%dil
 # CHECK-NEXT:  1      29    25.00   *             U     divb	(%rax)
 # CHECK-NEXT:  1      25    25.00                 U     divw	%si
@@ -1182,12 +1368,16 @@ xorq (%rax), %rdi
 # 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      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      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      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      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)
@@ -1236,12 +1426,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      6     1.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      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      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      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      1     0.50                        nop
 # CHECK-NEXT:  1      1     0.50                        nopw	%di
 # CHECK-NEXT:  1      1     0.50                        nopw	(%rcx)
@@ -1251,41 +1445,56 @@ xorq (%rax), %rdi
 # 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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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
@@ -1473,44 +1682,59 @@ xorq (%rax), %rdi
 # 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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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
@@ -1581,32 +1805,43 @@ xorq (%rax), %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      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      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      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      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      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      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      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      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      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      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      4     1.00    *                   subq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        testb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        testb	$7, %dil
@@ -1638,53 +1873,72 @@ xorq (%rax), %rdi
 # 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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      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      4     1.00    *                   xorq	(%rax), %rdi
 
 # CHECK:      Resources:
@@ -1699,111 +1953,148 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]
-# CHECK-NEXT: 400.00  -      -     49.00   -     563.50 405.50 581.00
+# CHECK-NEXT: 400.00  -      -     49.00   -     627.00 469.00 835.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    Instructions:
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcb	$0, %al
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcb	$0, %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcb	$0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		adcb	$0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcb	$7, %al
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcb	$7, %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcb	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		adcb	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcb	%sil, %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcb	%sil, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		adcb	%sil, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   adcb	(%rax), %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcw	$0, %ax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcw	$0, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcw	$0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		adcw	$0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcw	$511, %ax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcw	$511, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcw	$511, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		adcw	$511, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcw	$7, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcw	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		adcw	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcw	%si, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcw	%si, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		adcw	%si, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   adcw	(%rax), %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcl	$0, %eax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcl	$0, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcl	$0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		adcl	$0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcl	$665536, %eax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcl	$665536, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcl	$665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		adcl	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcl	$7, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcl	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		adcl	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcl	%esi, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcl	%esi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		adcl	%esi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   adcl	(%rax), %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcq	$0, %rax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcq	$0, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcq	$0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		adcq	$0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcq	$665536, %rax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcq	$665536, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcq	$665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		adcq	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcq	$7, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcq	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		adcq	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcq	%rsi, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcq	%rsi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		adcq	%rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   adcq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     addb	$7, %al
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     addb	$7, %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   addb	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		addb	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     addb	%sil, %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   addb	%sil, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		addb	%sil, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   addb	(%rax), %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     addw	$511, %ax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     addw	$511, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   addw	$511, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		addw	$511, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     addw	$7, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   addw	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		addw	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     addw	%si, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   addw	%si, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		addw	%si, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   addw	(%rax), %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     addl	$665536, %eax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     addl	$665536, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   addl	$665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		addl	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     addl	$7, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   addl	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		addl	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     addl	%esi, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   addl	%esi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		addl	%esi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   addl	(%rax), %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     addq	$665536, %rax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     addq	$665536, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   addq	$665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		addq	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     addq	$7, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   addq	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		addq	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     addq	%rsi, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   addq	%rsi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		addq	%rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   addq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     andb	$7, %al
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     andb	$7, %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   andb	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		andb	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     andb	%sil, %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   andb	%sil, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		andb	%sil, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   andb	(%rax), %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     andw	$511, %ax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     andw	$511, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   andw	$511, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		andw	$511, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     andw	$7, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   andw	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		andw	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     andw	%si, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   andw	%si, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		andw	%si, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   andw	(%rax), %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     andl	$665536, %eax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     andl	$665536, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   andl	$665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		andl	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     andl	$7, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   andl	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		andl	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     andl	%esi, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   andl	%esi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		andl	%esi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   andl	(%rax), %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     andq	$665536, %rax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     andq	$665536, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   andq	$665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		andq	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     andq	$7, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   andq	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		andq	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     andq	%rsi, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   andq	%rsi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		andq	%rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   andq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     10.00  10.00   -     bsfw	%si, %di
 # CHECK-NEXT:  -      -      -      -      -     10.00  10.00   -     bsrw	%si, %di
@@ -1827,6 +2118,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   btcw	%si, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   btrw	%si, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   btsw	%si, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		btcw	%si, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		btrw	%si, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		btsw	%si, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     btw	$7, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     btcw	$7, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     btrw	$7, %di
@@ -1835,6 +2129,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   btcw	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   btrw	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   btsw	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		btcw	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		btrw	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		btsw	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     btl	%esi, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     btcl	%esi, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     btrl	%esi, %edi
@@ -1843,6 +2140,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   btcl	%esi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   btrl	%esi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   btsl	%esi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		btcl	%esi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		btrl	%esi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		btsl	%esi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     btl	$7, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     btcl	$7, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     btrl	$7, %edi
@@ -1851,6 +2151,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   btcl	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   btrl	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   btsl	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		btcl	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		btrl	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		btsl	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     btq	%rsi, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     btcq	%rsi, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     btrq	%rsi, %rdi
@@ -1859,6 +2162,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   btcq	%rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   btrq	%rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   btsq	%rsi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		btcq	%rsi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		btrq	%rsi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		btsq	%rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     btq	$7, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     btcq	$7, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     btrq	$7, %rdi
@@ -1867,6 +2173,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   btcq	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   btrq	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   btsq	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		btcq	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		btrq	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		btsq	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     cbtw
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     cwtl
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     cltq
@@ -1925,12 +2234,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     cpuid
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     decb	%dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   decb	(%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		decb	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     decw	%di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   decw	(%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		decw	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     decl	%edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   decl	(%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		decl	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     decq	%rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   decq	(%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		decq	(%rax)
 # CHECK-NEXT: 25.00   -      -      -      -     0.50   0.50    -     divb	%dil
 # CHECK-NEXT: 25.00   -      -      -      -     0.50   0.50   1.00   divb	(%rax)
 # CHECK-NEXT: 25.00   -      -      -      -     0.50   0.50    -     divw	%si
@@ -1982,12 +2295,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     inl	%dx, %eax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     incb	%dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   incb	(%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		incb	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     incw	%di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   incw	(%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		incw	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     incl	%edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   incl	(%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		incl	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     incq	%rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   incq	(%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		incq	(%rax)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     insl	%dx, %es:(%rdi)
@@ -2036,12 +2353,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -     1.00   1.00   mulq	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     negb	%dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   negb	(%r8)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		negb	(%r8)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     negw	%si
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   negw	(%r9)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		negw	(%r9)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     negl	%edx
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   negl	(%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		negl	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     negq	%rcx
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   negq	(%r10)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		negq	(%r10)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     nop
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     nopw	%di
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     nopw	(%rcx)
@@ -2051,41 +2372,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     nopq	(%r9)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     notb	%dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   notb	(%r8)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		notb	(%r8)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     notw	%si
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   notw	(%r9)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		notw	(%r9)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     notl	%edx
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   notl	(%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		notl	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     notq	%rcx
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   notq	(%r10)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		notq	(%r10)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orb	$7, %al
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orb	$7, %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   orb	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		orb	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orb	%sil, %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   orb	%sil, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		orb	%sil, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   orb	(%rax), %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orw	$511, %ax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orw	$511, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   orw	$511, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		orw	$511, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orw	$7, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   orw	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		orw	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orw	%si, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   orw	%si, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		orw	%si, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   orw	(%rax), %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orl	$665536, %eax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orl	$665536, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   orl	$665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		orl	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orl	$7, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   orl	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		orl	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orl	%esi, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   orl	%esi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		orl	%esi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   orl	(%rax), %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orq	$665536, %rax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orq	$665536, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   orq	$665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		orq	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orq	$7, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   orq	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		orq	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orq	%rsi, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   orq	%rsi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		orq	%rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   orq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     outb	%al, $7
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     outb	%al, %dx
@@ -2273,44 +2609,59 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbb	$0, %al
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbb	$0, %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbb	$0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		sbbb	$0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbb	$7, %al
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbb	$7, %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbb	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		sbbb	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbb	%sil, %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbb	%sil, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		sbbb	%sil, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   sbbb	(%rax), %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbw	$0, %ax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbw	$0, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbw	$0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		sbbw	$0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbw	$511, %ax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbw	$511, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbw	$511, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		sbbw	$511, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbw	$7, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbw	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		sbbw	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbw	%si, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbw	%si, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		sbbw	%si, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   sbbw	(%rax), %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbl	$0, %eax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbl	$0, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbl	$0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		sbbl	$0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbl	$665536, %eax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbl	$665536, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbl	$665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		sbbl	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbl	$7, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbl	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		sbbl	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbl	%esi, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbl	%esi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		sbbl	%esi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   sbbl	(%rax), %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbq	$0, %rax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbq	$0, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbq	$0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		sbbq	$0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbq	$665536, %rax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbq	$665536, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbq	$665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		sbbq	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbq	$7, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbq	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		sbbq	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbq	%rsi, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbq	%rsi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		sbbq	%rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   sbbq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     scasb	%es:(%rdi), %al
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     scasw	%es:(%rdi), %ax
@@ -2381,32 +2732,43 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subb	$7, %al
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subb	$7, %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   subb	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		subb	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subb	%sil, %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   subb	%sil, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		subb	%sil, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   subb	(%rax), %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subw	$511, %ax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subw	$511, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   subw	$511, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		subw	$511, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subw	$7, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   subw	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		subw	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subw	%si, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   subw	%si, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		subw	%si, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   subw	(%rax), %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subl	$665536, %eax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subl	$665536, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   subl	$665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		subl	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subl	$7, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   subl	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		subl	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subl	%esi, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   subl	%esi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		subl	%esi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   subl	(%rax), %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subq	$665536, %rax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subq	$665536, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   subq	$665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		subq	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subq	$7, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   subq	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		subq	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subq	%rsi, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   subq	%rsi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		subq	%rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   subq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     testb	$7, %al
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     testb	$7, %dil
@@ -2438,51 +2800,70 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     wrmsr
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xaddb	%bl, %cl
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   xaddb	%bl, (%rcx)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xaddw	%bx, %cx
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   xaddw	%ax, (%rbx)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xaddl	%ebx, %ecx
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   xaddl	%eax, (%rbx)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xaddq	%rbx, %rcx
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   xaddq	%rax, (%rbx)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xchgb	%bl, %cl
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   xchgb	%bl, (%rbx)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xchgw	%bx, %ax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xchgw	%bx, %cx
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   xchgw	%ax, (%rbx)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xchgl	%ebx, %eax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xchgl	%ebx, %ecx
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   xchgl	%eax, (%rbx)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xchgq	%rbx, %rax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xchgq	%rbx, %rcx
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   xchgq	%rax, (%rbx)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   xlatb
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xorb	$7, %al
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xorb	$7, %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   xorb	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		xorb	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xorb	%sil, %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   xorb	%sil, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		xorb	%sil, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   xorb	(%rax), %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xorw	$511, %ax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xorw	$511, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   xorw	$511, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		xorw	$511, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xorw	$7, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   xorw	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		xorw	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xorw	%si, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   xorw	%si, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		xorw	%si, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   xorw	(%rax), %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xorl	$665536, %eax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xorl	$665536, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   xorl	$665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xorl	$7, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   xorl	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		xorl	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xorl	%esi, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   xorl	%esi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		xorl	%esi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   xorl	(%rax), %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xorq	$665536, %rax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xorq	$665536, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   xorq	$665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xorq	$7, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   xorq	$7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		xorq	$7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xorq	%rsi, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   xorq	%rsi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   lock		xorq	%rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   xorq	(%rax), %rdi

Modified: llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s?rev=369367&r1=369366&r2=369367&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s Tue Aug 20 04:13:20 2019
@@ -4,115 +4,152 @@
 adcb $0, %al
 adcb $0, %dil
 adcb $0, (%rax)
+lock adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
+lock adcb $7, (%rax)
 adcb %sil, %dil
 adcb %sil, (%rax)
+lock adcb %sil, (%rax)
 adcb (%rax), %dil
 
 adcw $0, %ax
 adcw $0, %di
 adcw $0, (%rax)
+lock adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
+lock adcw $511, (%rax)
 adcw $7, %di
 adcw $7, (%rax)
+lock adcw $7, (%rax)
 adcw %si, %di
 adcw %si, (%rax)
+lock adcw %si, (%rax)
 adcw (%rax), %di
 
 adcl $0, %eax
 adcl $0, %edi
 adcl $0, (%rax)
+lock adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
+lock adcl $665536, (%rax)
 adcl $7, %edi
 adcl $7, (%rax)
+lock adcl $7, (%rax)
 adcl %esi, %edi
 adcl %esi, (%rax)
+lock adcl %esi, (%rax)
 adcl (%rax), %edi
 
 adcq $0, %rax
 adcq $0, %rdi
 adcq $0, (%rax)
+lock adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
+lock adcq $665536, (%rax)
 adcq $7, %rdi
 adcq $7, (%rax)
+lock adcq $7, (%rax)
 adcq %rsi, %rdi
 adcq %rsi, (%rax)
+lock adcq %rsi, (%rax)
 adcq (%rax), %rdi
 
 addb $7, %al
 addb $7, %dil
 addb $7, (%rax)
+lock addb $7, (%rax)
 addb %sil, %dil
 addb %sil, (%rax)
+lock addb %sil, (%rax)
 addb (%rax), %dil
 
 addw $511, %ax
 addw $511, %di
 addw $511, (%rax)
+lock addw $511, (%rax)
 addw $7, %di
 addw $7, (%rax)
+lock addw $7, (%rax)
 addw %si, %di
 addw %si, (%rax)
+lock addw %si, (%rax)
 addw (%rax), %di
 
 addl $665536, %eax
 addl $665536, %edi
 addl $665536, (%rax)
+lock addl $665536, (%rax)
 addl $7, %edi
 addl $7, (%rax)
+lock addl $7, (%rax)
 addl %esi, %edi
 addl %esi, (%rax)
+lock addl %esi, (%rax)
 addl (%rax), %edi
 
 addq $665536, %rax
 addq $665536, %rdi
 addq $665536, (%rax)
+lock addq $665536, (%rax)
 addq $7, %rdi
 addq $7, (%rax)
+lock addq $7, (%rax)
 addq %rsi, %rdi
 addq %rsi, (%rax)
+lock addq %rsi, (%rax)
 addq (%rax), %rdi
 
 andb $7, %al
 andb $7, %dil
 andb $7, (%rax)
+lock andb $7, (%rax)
 andb %sil, %dil
 andb %sil, (%rax)
+lock andb %sil, (%rax)
 andb (%rax), %dil
 
 andw $511, %ax
 andw $511, %di
 andw $511, (%rax)
+lock andw $511, (%rax)
 andw $7, %di
 andw $7, (%rax)
+lock andw $7, (%rax)
 andw %si, %di
 andw %si, (%rax)
+lock andw %si, (%rax)
 andw (%rax), %di
 
 andl $665536, %eax
 andl $665536, %edi
 andl $665536, (%rax)
+lock andl $665536, (%rax)
 andl $7, %edi
 andl $7, (%rax)
+lock andl $7, (%rax)
 andl %esi, %edi
 andl %esi, (%rax)
+lock andl %esi, (%rax)
 andl (%rax), %edi
 
 andq $665536, %rax
 andq $665536, %rdi
 andq $665536, (%rax)
+lock andq $665536, (%rax)
 andq $7, %rdi
 andq $7, (%rax)
+lock andq $7, (%rax)
 andq %rsi, %rdi
 andq %rsi, (%rax)
+lock andq %rsi, (%rax)
 andq (%rax), %rdi
 
 bsfw %si, %di
@@ -141,6 +178,9 @@ btw  %si, (%rax)
 btcw %si, (%rax)
 btrw %si, (%rax)
 btsw %si, (%rax)
+lock btcw %si, (%rax)
+lock btrw %si, (%rax)
+lock btsw %si, (%rax)
 btw  $7, %di
 btcw $7, %di
 btrw $7, %di
@@ -149,6 +189,9 @@ btw  $7, (%rax)
 btcw $7, (%rax)
 btrw $7, (%rax)
 btsw $7, (%rax)
+lock btcw $7, (%rax)
+lock btrw $7, (%rax)
+lock btsw $7, (%rax)
 
 btl  %esi, %edi
 btcl %esi, %edi
@@ -158,6 +201,9 @@ btl  %esi, (%rax)
 btcl %esi, (%rax)
 btrl %esi, (%rax)
 btsl %esi, (%rax)
+lock btcl %esi, (%rax)
+lock btrl %esi, (%rax)
+lock btsl %esi, (%rax)
 btl  $7, %edi
 btcl $7, %edi
 btrl $7, %edi
@@ -166,6 +212,9 @@ btl  $7, (%rax)
 btcl $7, (%rax)
 btrl $7, (%rax)
 btsl $7, (%rax)
+lock btcl $7, (%rax)
+lock btrl $7, (%rax)
+lock btsl $7, (%rax)
 
 btq  %rsi, %rdi
 btcq %rsi, %rdi
@@ -175,6 +224,9 @@ btq  %rsi, (%rax)
 btcq %rsi, (%rax)
 btrq %rsi, (%rax)
 btsq %rsi, (%rax)
+lock btcq %rsi, (%rax)
+lock btrq %rsi, (%rax)
+lock btsq %rsi, (%rax)
 btq  $7, %rdi
 btcq $7, %rdi
 btrq $7, %rdi
@@ -183,6 +235,9 @@ btq  $7, (%rax)
 btcq $7, (%rax)
 btrq $7, (%rax)
 btsq $7, (%rax)
+lock btcq $7, (%rax)
+lock btrq $7, (%rax)
+lock btsq $7, (%rax)
 
 cbw
 cwde
@@ -254,12 +309,16 @@ cpuid
 
 decb %dil
 decb (%rax)
+lock decb (%rax)
 decw %di
 decw (%rax)
+lock decw (%rax)
 decl %edi
 decl (%rax)
+lock decl (%rax)
 decq %rdi
 decq (%rax)
+lock decq (%rax)
 
 divb %dil
 divb (%rax)
@@ -320,12 +379,16 @@ inl %dx, %eax
 
 incb %dil
 incb (%rax)
+lock incb (%rax)
 incw %di
 incw (%rax)
+lock incw (%rax)
 incl %edi
 incl (%rax)
+lock incl (%rax)
 incq %rdi
 incq (%rax)
+lock incq (%rax)
 
 insb
 insw
@@ -386,12 +449,16 @@ mulq (%rax)
 
 negb %dil
 negb (%r8)
+lock negb (%r8)
 negw %si
 negw (%r9)
+lock negw (%r9)
 negl %edx
 negl (%rax)
+lock negl (%rax)
 negq %rcx
 negq (%r10)
+lock negq (%r10)
 
 nop
 nopw %di
@@ -403,45 +470,60 @@ nopq (%r9)
 
 notb %dil
 notb (%r8)
+lock notb (%r8)
 notw %si
 notw (%r9)
+lock notw (%r9)
 notl %edx
 notl (%rax)
+lock notl (%rax)
 notq %rcx
 notq (%r10)
+lock notq (%r10)
 
 orb $7, %al
 orb $7, %dil
 orb $7, (%rax)
+lock orb $7, (%rax)
 orb %sil, %dil
 orb %sil, (%rax)
+lock orb %sil, (%rax)
 orb (%rax), %dil
 
 orw $511, %ax
 orw $511, %di
 orw $511, (%rax)
+lock orw $511, (%rax)
 orw $7, %di
 orw $7, (%rax)
+lock orw $7, (%rax)
 orw %si, %di
 orw %si, (%rax)
+lock orw %si, (%rax)
 orw (%rax), %di
 
 orl $665536, %eax
 orl $665536, %edi
 orl $665536, (%rax)
+lock orl $665536, (%rax)
 orl $7, %edi
 orl $7, (%rax)
+lock orl $7, (%rax)
 orl %esi, %edi
 orl %esi, (%rax)
+lock orl %esi, (%rax)
 orl (%rax), %edi
 
 orq $665536, %rax
 orq $665536, %rdi
 orq $665536, (%rax)
+lock orq $665536, (%rax)
 orq $7, %rdi
 orq $7, (%rax)
+lock orq $7, (%rax)
 orq %rsi, %rdi
 orq %rsi, (%rax)
+lock orq %rsi, (%rax)
 orq (%rax), %rdi
 
 outb %al,  $7
@@ -647,47 +729,62 @@ shrq %cl, (%rax)
 sbbb $0, %al
 sbbb $0, %dil
 sbbb $0, (%rax)
+lock sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
+lock sbbb $7, (%rax)
 sbbb %sil, %dil
 sbbb %sil, (%rax)
+lock sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
 sbbw $0, %ax
 sbbw $0, %di
 sbbw $0, (%rax)
+lock sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
+lock sbbw $511, (%rax)
 sbbw $7, %di
 sbbw $7, (%rax)
+lock sbbw $7, (%rax)
 sbbw %si, %di
 sbbw %si, (%rax)
+lock sbbw %si, (%rax)
 sbbw (%rax), %di
 
 sbbl $0, %eax
 sbbl $0, %edi
 sbbl $0, (%rax)
+lock sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
+lock sbbl $665536, (%rax)
 sbbl $7, %edi
 sbbl $7, (%rax)
+lock sbbl $7, (%rax)
 sbbl %esi, %edi
 sbbl %esi, (%rax)
+lock sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
 sbbq $0, %rax
 sbbq $0, %rdi
 sbbq $0, (%rax)
+lock sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
+lock sbbq $665536, (%rax)
 sbbq $7, %rdi
 sbbq $7, (%rax)
+lock sbbq $7, (%rax)
 sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
+lock sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
 scasb
@@ -766,35 +863,46 @@ stosq
 subb $7, %al
 subb $7, %dil
 subb $7, (%rax)
+lock subb $7, (%rax)
 subb %sil, %dil
 subb %sil, (%rax)
+lock subb %sil, (%rax)
 subb (%rax), %dil
 
 subw $511, %ax
 subw $511, %di
 subw $511, (%rax)
+lock subw $511, (%rax)
 subw $7, %di
 subw $7, (%rax)
+lock subw $7, (%rax)
 subw %si, %di
 subw %si, (%rax)
+lock subw %si, (%rax)
 subw (%rax), %di
 
 subl $665536, %eax
 subl $665536, %edi
 subl $665536, (%rax)
+lock subl $665536, (%rax)
 subl $7, %edi
 subl $7, (%rax)
+lock subl $7, (%rax)
 subl %esi, %edi
 subl %esi, (%rax)
+lock subl %esi, (%rax)
 subl (%rax), %edi
 
 subq $665536, %rax
 subq $665536, %rdi
 subq $665536, (%rax)
+lock subq $665536, (%rax)
 subq $7, %rdi
 subq $7, (%rax)
+lock subq $7, (%rax)
 subq %rsi, %rdi
 subq %rsi, (%rax)
+lock subq %rsi, (%rax)
 subq (%rax), %rdi
 
 testb $7, %al
@@ -833,65 +941,84 @@ wrmsr
 
 xaddb %bl, %cl
 xaddb %bl, (%rcx)
+lock xaddb %bl, (%rcx)
 
 xaddw %bx, %cx
 xaddw %ax, (%rbx)
+lock xaddw %ax, (%rbx)
 
 xaddl %ebx, %ecx
 xaddl %eax, (%rbx)
+lock xaddl %eax, (%rbx)
 
 xaddq %rbx, %rcx
 xaddq %rax, (%rbx)
+lock xaddq %rax, (%rbx)
 
 xchgb %bl, %cl
 xchgb %bl, (%rbx)
+lock xchgb %bl, (%rbx)
 
 xchgw %ax, %bx
 xchgw %bx, %cx
 xchgw %ax, (%rbx)
+lock xchgw %ax, (%rbx)
 
 xchgl %eax, %ebx
 xchgl %ebx, %ecx
 xchgl %eax, (%rbx)
+lock xchgl %eax, (%rbx)
 
 xchgq %rax, %rbx
 xchgq %rbx, %rcx
 xchgq %rax, (%rbx)
+lock xchgq %rax, (%rbx)
 
 xlatb
 
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
+lock xorb $7, (%rax)
 xorb %sil, %dil
 xorb %sil, (%rax)
+lock xorb %sil, (%rax)
 xorb (%rax), %dil
 
 xorw $511, %ax
 xorw $511, %di
 xorw $511, (%rax)
+lock xorw $511, (%rax)
 xorw $7, %di
 xorw $7, (%rax)
+lock xorw $7, (%rax)
 xorw %si, %di
 xorw %si, (%rax)
+lock xorw %si, (%rax)
 xorw (%rax), %di
 
 xorl $665536, %eax
 xorl $665536, %edi
 xorl $665536, (%rax)
+lock xorl $665536, (%rax)
 xorl $7, %edi
 xorl $7, (%rax)
+lock xorl $7, (%rax)
 xorl %esi, %edi
 xorl %esi, (%rax)
+lock xorl %esi, (%rax)
 xorl (%rax), %edi
 
 xorq $665536, %rax
 xorq $665536, %rdi
 xorq $665536, (%rax)
+lock xorq $665536, (%rax)
 xorq $7, %rdi
 xorq $7, (%rax)
+lock xorq $7, (%rax)
 xorq %rsi, %rdi
 xorq %rsi, (%rax)
+lock xorq %rsi, (%rax)
 xorq (%rax), %rdi
 
 # CHECK:      Instruction Info:
@@ -906,104 +1033,141 @@ xorq (%rax), %rdi
 # 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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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
 # CHECK-NEXT:  3      7     1.00    *      *            addb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            addb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.33                        addw	$511, %ax
 # CHECK-NEXT:  1      1     0.33                        addw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            addw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            addw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            addw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addw	(%rax), %di
 # CHECK-NEXT:  1      1     0.33                        addl	$665536, %eax
 # CHECK-NEXT:  1      1     0.33                        addl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            addl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            addl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            addl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.33                        addq	$665536, %rax
 # CHECK-NEXT:  1      1     0.33                        addq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            addq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            addq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        addq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            addq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.33                        andb	$7, %al
 # CHECK-NEXT:  1      1     0.33                        andb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            andb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            andb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.33                        andw	$511, %ax
 # CHECK-NEXT:  1      1     0.33                        andw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            andw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            andw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            andw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andw	(%rax), %di
 # CHECK-NEXT:  1      1     0.33                        andl	$665536, %eax
 # CHECK-NEXT:  1      1     0.33                        andl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            andl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            andl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            andl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.33                        andq	$665536, %rax
 # CHECK-NEXT:  1      1     0.33                        andq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        andq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andq	(%rax), %rdi
 # CHECK-NEXT:  1      3     1.00                        bsfw	%si, %di
 # CHECK-NEXT:  1      3     1.00                        bsrw	%si, %di
@@ -1027,6 +1191,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            btcw	%si, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *            btrw	%si, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *            btsw	%si, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		btcw	%si, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		btrw	%si, (%rax)
+# CHECK-NEXT:  6      9     1.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
@@ -1035,6 +1202,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      7     1.00    *      *            btcw	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btrw	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btsw	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btcw	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btrw	$7, (%rax)
+# CHECK-NEXT:  4      7     1.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
@@ -1043,6 +1213,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            btcl	%esi, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *            btrl	%esi, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *            btsl	%esi, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		btcl	%esi, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		btrl	%esi, (%rax)
+# CHECK-NEXT:  6      9     1.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
@@ -1051,6 +1224,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      7     1.00    *      *            btcl	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btrl	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btsl	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btcl	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btrl	$7, (%rax)
+# CHECK-NEXT:  4      7     1.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
@@ -1059,6 +1235,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            btcq	%rsi, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *            btrq	%rsi, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *            btsq	%rsi, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		btcq	%rsi, (%rax)
+# CHECK-NEXT:  6      9     1.00    *      *            lock		btrq	%rsi, (%rax)
+# CHECK-NEXT:  6      9     1.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
@@ -1067,6 +1246,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      7     1.00    *      *            btcq	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btrq	$7, (%rax)
 # CHECK-NEXT:  4      7     1.00    *      *            btsq	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btcq	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btrq	$7, (%rax)
+# CHECK-NEXT:  4      7     1.00    *      *            lock		btsq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        cbtw
 # CHECK-NEXT:  1      1     0.33                        cwtl
 # CHECK-NEXT:  1      1     0.33                        cltq
@@ -1125,12 +1307,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.33                  U     cpuid
 # CHECK-NEXT:  1      1     0.33                        decb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            decb	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decb	(%rax)
 # CHECK-NEXT:  1      1     0.33                        decw	%di
 # CHECK-NEXT:  3      7     1.00    *      *            decw	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decw	(%rax)
 # CHECK-NEXT:  1      1     0.33                        decl	%edi
 # CHECK-NEXT:  3      7     1.00    *      *            decl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decl	(%rax)
 # CHECK-NEXT:  1      1     0.33                        decq	%rdi
 # CHECK-NEXT:  3      7     1.00    *      *            decq	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decq	(%rax)
 # CHECK-NEXT:  1      25    10.00                 U     divb	%dil
 # CHECK-NEXT:  2      30    10.00   *             U     divb	(%rax)
 # CHECK-NEXT:  1      25    10.00                 U     divw	%si
@@ -1182,12 +1368,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.33                  U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.33                        incb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            incb	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incb	(%rax)
 # CHECK-NEXT:  1      1     0.33                        incw	%di
 # CHECK-NEXT:  3      7     1.00    *      *            incw	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incw	(%rax)
 # CHECK-NEXT:  1      1     0.33                        incl	%edi
 # CHECK-NEXT:  3      7     1.00    *      *            incl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incl	(%rax)
 # CHECK-NEXT:  1      1     0.33                        incq	%rdi
 # CHECK-NEXT:  3      7     1.00    *      *            incq	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incq	(%rax)
 # CHECK-NEXT:  1      100   0.33                  U     insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  1      100   0.33                  U     insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  1      100   0.33                  U     insl	%dx, %es:(%rdi)
@@ -1236,12 +1426,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  3      9     1.00    *                   mulq	(%rax)
 # CHECK-NEXT:  1      1     0.33                        negb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            negb	(%r8)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negb	(%r8)
 # CHECK-NEXT:  1      1     0.33                        negw	%si
 # CHECK-NEXT:  3      7     1.00    *      *            negw	(%r9)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negw	(%r9)
 # CHECK-NEXT:  1      1     0.33                        negl	%edx
 # CHECK-NEXT:  3      7     1.00    *      *            negl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negl	(%rax)
 # CHECK-NEXT:  1      1     0.33                        negq	%rcx
 # CHECK-NEXT:  3      7     1.00    *      *            negq	(%r10)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negq	(%r10)
 # CHECK-NEXT:  1      1     0.25                        nop
 # CHECK-NEXT:  1      1     0.25                        nopw	%di
 # CHECK-NEXT:  1      1     0.25                        nopw	(%rcx)
@@ -1251,41 +1445,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        nopq	(%r9)
 # CHECK-NEXT:  1      1     0.33                        notb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            notb	(%r8)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notb	(%r8)
 # CHECK-NEXT:  1      1     0.33                        notw	%si
 # CHECK-NEXT:  3      7     1.00    *      *            notw	(%r9)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notw	(%r9)
 # CHECK-NEXT:  1      1     0.33                        notl	%edx
 # CHECK-NEXT:  3      7     1.00    *      *            notl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notl	(%rax)
 # CHECK-NEXT:  1      1     0.33                        notq	%rcx
 # CHECK-NEXT:  3      7     1.00    *      *            notq	(%r10)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notq	(%r10)
 # CHECK-NEXT:  1      1     0.33                        orb	$7, %al
 # CHECK-NEXT:  1      1     0.33                        orb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            orb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            orb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.33                        orw	$511, %ax
 # CHECK-NEXT:  1      1     0.33                        orw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            orw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            orw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            orw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orw	(%rax), %di
 # CHECK-NEXT:  1      1     0.33                        orl	$665536, %eax
 # CHECK-NEXT:  1      1     0.33                        orl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            orl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            orl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            orl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.33                        orq	$665536, %rax
 # CHECK-NEXT:  1      1     0.33                        orq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        orq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orq	(%rax), %rdi
 # CHECK-NEXT:  1      100   0.33                  U     outb	%al, $7
 # CHECK-NEXT:  1      100   0.33                  U     outb	%al, %dx
@@ -1473,44 +1682,59 @@ xorq (%rax), %rdi
 # 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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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:  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
@@ -1581,32 +1805,43 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.33                        subb	$7, %al
 # CHECK-NEXT:  1      1     0.33                        subb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            subb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            subb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.33                        subw	$511, %ax
 # CHECK-NEXT:  1      1     0.33                        subw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            subw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            subw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            subw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subw	(%rax), %di
 # CHECK-NEXT:  1      1     0.33                        subl	$665536, %eax
 # CHECK-NEXT:  1      1     0.33                        subl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            subl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            subl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            subl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.33                        subq	$665536, %rax
 # CHECK-NEXT:  1      1     0.33                        subq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        subq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.33                        testb	$7, %al
 # CHECK-NEXT:  1      1     0.33                        testb	$7, %dil
@@ -1638,53 +1873,72 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.33                  U     wrmsr
 # CHECK-NEXT:  3      2     1.00                        xaddb	%bl, %cl
 # CHECK-NEXT:  5      8     1.00    *      *            xaddb	%bl, (%rcx)
+# CHECK-NEXT:  5      8     1.00    *      *            lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  3      2     1.00                        xaddw	%bx, %cx
 # CHECK-NEXT:  5      8     1.00    *      *            xaddw	%ax, (%rbx)
+# CHECK-NEXT:  5      8     1.00    *      *            lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  3      2     1.00                        xaddl	%ebx, %ecx
 # CHECK-NEXT:  5      8     1.00    *      *            xaddl	%eax, (%rbx)
+# CHECK-NEXT:  5      8     1.00    *      *            lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  3      2     1.00                        xaddq	%rbx, %rcx
 # CHECK-NEXT:  5      8     1.00    *      *            xaddq	%rax, (%rbx)
+# CHECK-NEXT:  5      8     1.00    *      *            lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  3      2     1.00                        xchgb	%bl, %cl
 # CHECK-NEXT:  3      6     1.00    *      *            xchgb	%bl, (%rbx)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT:  3      2     1.00                        xchgw	%bx, %ax
 # CHECK-NEXT:  3      2     1.00                        xchgw	%bx, %cx
 # CHECK-NEXT:  3      6     1.00    *      *            xchgw	%ax, (%rbx)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT:  3      2     1.00                        xchgl	%ebx, %eax
 # CHECK-NEXT:  3      2     1.00                        xchgl	%ebx, %ecx
 # CHECK-NEXT:  3      6     1.00    *      *            xchgl	%eax, (%rbx)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT:  3      2     1.00                        xchgq	%rbx, %rax
 # CHECK-NEXT:  3      2     1.00                        xchgq	%rbx, %rcx
 # CHECK-NEXT:  3      6     1.00    *      *            xchgq	%rax, (%rbx)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT:  1      5     0.50    *                   xlatb
 # CHECK-NEXT:  1      1     0.33                        xorb	$7, %al
 # CHECK-NEXT:  1      1     0.33                        xorb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            xorb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            xorb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.33                        xorw	$511, %ax
 # CHECK-NEXT:  1      1     0.33                        xorw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            xorw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            xorw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            xorw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorw	(%rax), %di
 # CHECK-NEXT:  1      1     0.33                        xorl	$665536, %eax
 # CHECK-NEXT:  1      1     0.33                        xorl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            xorl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            xorl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            xorl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.33                        xorq	$665536, %rax
 # CHECK-NEXT:  1      1     0.33                        xorq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            xorq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            xorq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.33                        xorq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            xorq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorq	(%rax), %rdi
 
 # CHECK:      Resources:
@@ -1699,111 +1953,148 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT: 160.00  -     597.83 239.33 234.00 605.83 328.50 328.50
+# CHECK-NEXT: 160.00  -     670.17 294.67 361.00 687.17 455.50 455.50
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcb	$0, %al
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcb	$0, %dil
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcb	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcb	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcb	$7, %al
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcb	$7, %dil
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcb	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcb	%sil, %dil
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   adcb	%sil, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		adcb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   adcb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw	$0, %ax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw	$0, %di
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcw	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcw	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw	$511, %ax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw	$511, %di
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcw	$511, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw	$7, %di
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcw	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw	%si, %di
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   adcw	%si, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		adcw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   adcw	(%rax), %di
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl	$0, %eax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl	$0, %edi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcl	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcl	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl	$665536, %eax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl	$665536, %edi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcl	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl	$7, %edi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcl	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl	%esi, %edi
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   adcl	%esi, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		adcl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   adcl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq	$0, %rax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq	$0, %rdi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcq	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcq	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq	$665536, %rax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq	$665536, %rdi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcq	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq	$7, %rdi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcq	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		adcq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq	%rsi, %rdi
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   adcq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		adcq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   adcq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addb	$7, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addb	%sil, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   addb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addw	$511, %ax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addw	$511, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addw	$7, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addw	%si, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   addw	(%rax), %di
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addl	$665536, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addl	$665536, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addl	$7, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addl	%esi, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   addl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addq	$665536, %rax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addq	$7, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     addq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   addq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		addq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   addq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andb	$7, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andb	%sil, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   andb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andw	$511, %ax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andw	$511, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andw	$7, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andw	%si, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   andw	(%rax), %di
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andl	$665536, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andl	$665536, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andl	$7, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andl	%esi, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   andl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andq	$665536, %rax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andq	$7, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   andq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		andq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   andq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     bsfw	%si, %di
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     bsrw	%si, %di
@@ -1827,6 +2118,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btcw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btrw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btsw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btcw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btrw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btsw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btw	$7, %di
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btcw	$7, %di
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btrw	$7, %di
@@ -1835,6 +2129,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btcw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btrw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btsw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btcw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btrw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btsw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btl	%esi, %edi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btcl	%esi, %edi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btrl	%esi, %edi
@@ -1843,6 +2140,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btcl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btrl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btsl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btcl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btrl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btsl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btl	$7, %edi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btcl	$7, %edi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btrl	$7, %edi
@@ -1851,6 +2151,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btcl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btrl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btsl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btcl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btrl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btsl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btcq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btrq	%rsi, %rdi
@@ -1859,6 +2162,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btcq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btrq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   btsq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btcq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btrq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   1.83   1.00   1.00   lock		btsq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btq	$7, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btcq	$7, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     btrq	$7, %rdi
@@ -1867,6 +2173,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btcq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btrq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   btsq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btcq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btrq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   lock		btsq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     cbtw
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     cwtl
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     cltq
@@ -1925,12 +2234,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     cpuid
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     decb	%dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   decb	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		decb	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     decw	%di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   decw	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		decw	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     decl	%edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   decl	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		decl	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     decq	%rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   decq	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		decq	(%rax)
 # CHECK-NEXT: 10.00   -     1.00    -      -      -      -      -     divb	%dil
 # CHECK-NEXT: 10.00   -     1.00    -      -      -     0.50   0.50   divb	(%rax)
 # CHECK-NEXT: 10.00   -     1.00    -      -      -      -      -     divw	%si
@@ -1982,12 +2295,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     inl	%dx, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     incb	%dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   incb	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		incb	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     incw	%di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   incw	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		incw	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     incl	%edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   incl	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		incl	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     incq	%rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   incq	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		incq	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     insl	%dx, %es:(%rdi)
@@ -2036,12 +2353,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   mulq	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     negb	%dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   negb	(%r8)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		negb	(%r8)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     negw	%si
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   negw	(%r9)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		negw	(%r9)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     negl	%edx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   negl	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		negl	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     negq	%rcx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   negq	(%r10)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		negq	(%r10)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     nop
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     nopw	%di
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     nopw	(%rcx)
@@ -2051,41 +2372,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     nopq	(%r9)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     notb	%dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   notb	(%r8)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		notb	(%r8)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     notw	%si
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   notw	(%r9)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		notw	(%r9)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     notl	%edx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   notl	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		notl	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     notq	%rcx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   notq	(%r10)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		notq	(%r10)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orb	$7, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orb	%sil, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   orb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orw	$511, %ax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orw	$511, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orw	$7, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orw	%si, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   orw	(%rax), %di
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orl	$665536, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orl	$665536, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orl	$7, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orl	%esi, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   orl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orq	$665536, %rax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orq	$7, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		orq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   orq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outb	%al, $7
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outb	%al, %dx
@@ -2273,44 +2609,59 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbb	$0, %al
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbb	$0, %dil
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbb	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbb	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbb	$7, %al
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbb	$7, %dil
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbb	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbb	%sil, %dil
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbb	%sil, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		sbbb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   sbbb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw	$0, %ax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw	$0, %di
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbw	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbw	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw	$511, %ax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw	$511, %di
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbw	$511, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw	$7, %di
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbw	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw	%si, %di
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbw	%si, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		sbbw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   sbbw	(%rax), %di
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl	$0, %eax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl	$0, %edi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbl	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbl	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl	$665536, %eax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl	$665536, %edi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbl	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl	$7, %edi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbl	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl	%esi, %edi
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbl	%esi, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		sbbl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   sbbl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	$0, %rax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	$0, %rdi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbq	$0, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbq	$0, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	$665536, %rax
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	$665536, %rdi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbq	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	$7, %rdi
 # CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbq	$7, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   lock		sbbq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	%rsi, %rdi
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   lock		sbbq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   sbbq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.67   0.67    -     0.67    -      -     scasb	%es:(%rdi), %al
 # CHECK-NEXT:  -      -     0.67   0.67    -     0.67    -      -     scasw	%es:(%rdi), %ax
@@ -2381,32 +2732,43 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subb	$7, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subb	%sil, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   subb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subw	$511, %ax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subw	$511, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subw	$7, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subw	%si, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   subw	(%rax), %di
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subl	$665536, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subl	$665536, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subl	$7, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subl	%esi, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   subl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subq	$665536, %rax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subq	$7, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		subq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   subq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     testb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     testb	$7, %dil
@@ -2438,51 +2800,70 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     wrmsr
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xaddb	%bl, %cl
 # CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   xaddb	%bl, (%rcx)
+# CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xaddw	%bx, %cx
 # CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   xaddw	%ax, (%rbx)
+# CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xaddl	%ebx, %ecx
 # CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   xaddl	%eax, (%rbx)
+# CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xaddq	%rbx, %rcx
 # CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   xaddq	%rax, (%rbx)
+# CHECK-NEXT:  -      -     0.67   0.67   1.00   0.67   1.00   1.00   lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgb	%bl, %cl
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xchgb	%bl, (%rbx)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgw	%bx, %ax
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgw	%bx, %cx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xchgw	%ax, (%rbx)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgl	%ebx, %eax
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgl	%ebx, %ecx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xchgl	%eax, (%rbx)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgq	%rbx, %rax
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     xchgq	%rbx, %rcx
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xchgq	%rax, (%rbx)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   xlatb
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorb	$7, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorb	%sil, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   xorb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorw	$511, %ax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorw	$511, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorw	$7, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorw	%si, %di
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   xorw	(%rax), %di
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorl	$665536, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorl	$665536, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorl	$7, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorl	%esi, %edi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   xorl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorq	$665536, %rax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorq	$7, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   lock		xorq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   xorq	(%rax), %rdi

Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s?rev=369367&r1=369366&r2=369367&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s Tue Aug 20 04:13:20 2019
@@ -4,115 +4,152 @@
 adcb $0, %al
 adcb $0, %dil
 adcb $0, (%rax)
+lock adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
+lock adcb $7, (%rax)
 adcb %sil, %dil
 adcb %sil, (%rax)
+lock adcb %sil, (%rax)
 adcb (%rax), %dil
 
 adcw $0, %ax
 adcw $0, %di
 adcw $0, (%rax)
+lock adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
+lock adcw $511, (%rax)
 adcw $7, %di
 adcw $7, (%rax)
+lock adcw $7, (%rax)
 adcw %si, %di
 adcw %si, (%rax)
+lock adcw %si, (%rax)
 adcw (%rax), %di
 
 adcl $0, %eax
 adcl $0, %edi
 adcl $0, (%rax)
+lock adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
+lock adcl $665536, (%rax)
 adcl $7, %edi
 adcl $7, (%rax)
+lock adcl $7, (%rax)
 adcl %esi, %edi
 adcl %esi, (%rax)
+lock adcl %esi, (%rax)
 adcl (%rax), %edi
 
 adcq $0, %rax
 adcq $0, %rdi
 adcq $0, (%rax)
+lock adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
+lock adcq $665536, (%rax)
 adcq $7, %rdi
 adcq $7, (%rax)
+lock adcq $7, (%rax)
 adcq %rsi, %rdi
 adcq %rsi, (%rax)
+lock adcq %rsi, (%rax)
 adcq (%rax), %rdi
 
 addb $7, %al
 addb $7, %dil
 addb $7, (%rax)
+lock addb $7, (%rax)
 addb %sil, %dil
 addb %sil, (%rax)
+lock addb %sil, (%rax)
 addb (%rax), %dil
 
 addw $511, %ax
 addw $511, %di
 addw $511, (%rax)
+lock addw $511, (%rax)
 addw $7, %di
 addw $7, (%rax)
+lock addw $7, (%rax)
 addw %si, %di
 addw %si, (%rax)
+lock addw %si, (%rax)
 addw (%rax), %di
 
 addl $665536, %eax
 addl $665536, %edi
 addl $665536, (%rax)
+lock addl $665536, (%rax)
 addl $7, %edi
 addl $7, (%rax)
+lock addl $7, (%rax)
 addl %esi, %edi
 addl %esi, (%rax)
+lock addl %esi, (%rax)
 addl (%rax), %edi
 
 addq $665536, %rax
 addq $665536, %rdi
 addq $665536, (%rax)
+lock addq $665536, (%rax)
 addq $7, %rdi
 addq $7, (%rax)
+lock addq $7, (%rax)
 addq %rsi, %rdi
 addq %rsi, (%rax)
+lock addq %rsi, (%rax)
 addq (%rax), %rdi
 
 andb $7, %al
 andb $7, %dil
 andb $7, (%rax)
+lock andb $7, (%rax)
 andb %sil, %dil
 andb %sil, (%rax)
+lock andb %sil, (%rax)
 andb (%rax), %dil
 
 andw $511, %ax
 andw $511, %di
 andw $511, (%rax)
+lock andw $511, (%rax)
 andw $7, %di
 andw $7, (%rax)
+lock andw $7, (%rax)
 andw %si, %di
 andw %si, (%rax)
+lock andw %si, (%rax)
 andw (%rax), %di
 
 andl $665536, %eax
 andl $665536, %edi
 andl $665536, (%rax)
+lock andl $665536, (%rax)
 andl $7, %edi
 andl $7, (%rax)
+lock andl $7, (%rax)
 andl %esi, %edi
 andl %esi, (%rax)
+lock andl %esi, (%rax)
 andl (%rax), %edi
 
 andq $665536, %rax
 andq $665536, %rdi
 andq $665536, (%rax)
+lock andq $665536, (%rax)
 andq $7, %rdi
 andq $7, (%rax)
+lock andq $7, (%rax)
 andq %rsi, %rdi
 andq %rsi, (%rax)
+lock andq %rsi, (%rax)
 andq (%rax), %rdi
 
 bsfw %si, %di
@@ -141,6 +178,9 @@ btw  %si, (%rax)
 btcw %si, (%rax)
 btrw %si, (%rax)
 btsw %si, (%rax)
+lock btcw %si, (%rax)
+lock btrw %si, (%rax)
+lock btsw %si, (%rax)
 btw  $7, %di
 btcw $7, %di
 btrw $7, %di
@@ -149,6 +189,9 @@ btw  $7, (%rax)
 btcw $7, (%rax)
 btrw $7, (%rax)
 btsw $7, (%rax)
+lock btcw $7, (%rax)
+lock btrw $7, (%rax)
+lock btsw $7, (%rax)
 
 btl  %esi, %edi
 btcl %esi, %edi
@@ -158,6 +201,9 @@ btl  %esi, (%rax)
 btcl %esi, (%rax)
 btrl %esi, (%rax)
 btsl %esi, (%rax)
+lock btcl %esi, (%rax)
+lock btrl %esi, (%rax)
+lock btsl %esi, (%rax)
 btl  $7, %edi
 btcl $7, %edi
 btrl $7, %edi
@@ -166,6 +212,9 @@ btl  $7, (%rax)
 btcl $7, (%rax)
 btrl $7, (%rax)
 btsl $7, (%rax)
+lock btcl $7, (%rax)
+lock btrl $7, (%rax)
+lock btsl $7, (%rax)
 
 btq  %rsi, %rdi
 btcq %rsi, %rdi
@@ -175,6 +224,9 @@ btq  %rsi, (%rax)
 btcq %rsi, (%rax)
 btrq %rsi, (%rax)
 btsq %rsi, (%rax)
+lock btcq %rsi, (%rax)
+lock btrq %rsi, (%rax)
+lock btsq %rsi, (%rax)
 btq  $7, %rdi
 btcq $7, %rdi
 btrq $7, %rdi
@@ -183,6 +235,9 @@ btq  $7, (%rax)
 btcq $7, (%rax)
 btrq $7, (%rax)
 btsq $7, (%rax)
+lock btcq $7, (%rax)
+lock btrq $7, (%rax)
+lock btsq $7, (%rax)
 
 cbw
 cwde
@@ -254,12 +309,16 @@ cpuid
 
 decb %dil
 decb (%rax)
+lock decb (%rax)
 decw %di
 decw (%rax)
+lock decw (%rax)
 decl %edi
 decl (%rax)
+lock decl (%rax)
 decq %rdi
 decq (%rax)
+lock decq (%rax)
 
 divb %dil
 divb (%rax)
@@ -320,12 +379,16 @@ inl %dx, %eax
 
 incb %dil
 incb (%rax)
+lock incb (%rax)
 incw %di
 incw (%rax)
+lock incw (%rax)
 incl %edi
 incl (%rax)
+lock incl (%rax)
 incq %rdi
 incq (%rax)
+lock incq (%rax)
 
 insb
 insw
@@ -386,12 +449,16 @@ mulq (%rax)
 
 negb %dil
 negb (%r8)
+lock negb (%r8)
 negw %si
 negw (%r9)
+lock negw (%r9)
 negl %edx
 negl (%rax)
+lock negl (%rax)
 negq %rcx
 negq (%r10)
+lock negq (%r10)
 
 nop
 nopw %di
@@ -403,45 +470,60 @@ nopq (%r9)
 
 notb %dil
 notb (%r8)
+lock notb (%r8)
 notw %si
 notw (%r9)
+lock notw (%r9)
 notl %edx
 notl (%rax)
+lock notl (%rax)
 notq %rcx
 notq (%r10)
+lock notq (%r10)
 
 orb $7, %al
 orb $7, %dil
 orb $7, (%rax)
+lock orb $7, (%rax)
 orb %sil, %dil
 orb %sil, (%rax)
+lock orb %sil, (%rax)
 orb (%rax), %dil
 
 orw $511, %ax
 orw $511, %di
 orw $511, (%rax)
+lock orw $511, (%rax)
 orw $7, %di
 orw $7, (%rax)
+lock orw $7, (%rax)
 orw %si, %di
 orw %si, (%rax)
+lock orw %si, (%rax)
 orw (%rax), %di
 
 orl $665536, %eax
 orl $665536, %edi
 orl $665536, (%rax)
+lock orl $665536, (%rax)
 orl $7, %edi
 orl $7, (%rax)
+lock orl $7, (%rax)
 orl %esi, %edi
 orl %esi, (%rax)
+lock orl %esi, (%rax)
 orl (%rax), %edi
 
 orq $665536, %rax
 orq $665536, %rdi
 orq $665536, (%rax)
+lock orq $665536, (%rax)
 orq $7, %rdi
 orq $7, (%rax)
+lock orq $7, (%rax)
 orq %rsi, %rdi
 orq %rsi, (%rax)
+lock orq %rsi, (%rax)
 orq (%rax), %rdi
 
 outb %al,  $7
@@ -647,47 +729,62 @@ shrq %cl, (%rax)
 sbbb $0, %al
 sbbb $0, %dil
 sbbb $0, (%rax)
+lock sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
+lock sbbb $7, (%rax)
 sbbb %sil, %dil
 sbbb %sil, (%rax)
+lock sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
 sbbw $0, %ax
 sbbw $0, %di
 sbbw $0, (%rax)
+lock sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
+lock sbbw $511, (%rax)
 sbbw $7, %di
 sbbw $7, (%rax)
+lock sbbw $7, (%rax)
 sbbw %si, %di
 sbbw %si, (%rax)
+lock sbbw %si, (%rax)
 sbbw (%rax), %di
 
 sbbl $0, %eax
 sbbl $0, %edi
 sbbl $0, (%rax)
+lock sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
+lock sbbl $665536, (%rax)
 sbbl $7, %edi
 sbbl $7, (%rax)
+lock sbbl $7, (%rax)
 sbbl %esi, %edi
 sbbl %esi, (%rax)
+lock sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
 sbbq $0, %rax
 sbbq $0, %rdi
 sbbq $0, (%rax)
+lock sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
+lock sbbq $665536, (%rax)
 sbbq $7, %rdi
 sbbq $7, (%rax)
+lock sbbq $7, (%rax)
 sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
+lock sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
 scasb
@@ -766,35 +863,46 @@ stosq
 subb $7, %al
 subb $7, %dil
 subb $7, (%rax)
+lock subb $7, (%rax)
 subb %sil, %dil
 subb %sil, (%rax)
+lock subb %sil, (%rax)
 subb (%rax), %dil
 
 subw $511, %ax
 subw $511, %di
 subw $511, (%rax)
+lock subw $511, (%rax)
 subw $7, %di
 subw $7, (%rax)
+lock subw $7, (%rax)
 subw %si, %di
 subw %si, (%rax)
+lock subw %si, (%rax)
 subw (%rax), %di
 
 subl $665536, %eax
 subl $665536, %edi
 subl $665536, (%rax)
+lock subl $665536, (%rax)
 subl $7, %edi
 subl $7, (%rax)
+lock subl $7, (%rax)
 subl %esi, %edi
 subl %esi, (%rax)
+lock subl %esi, (%rax)
 subl (%rax), %edi
 
 subq $665536, %rax
 subq $665536, %rdi
 subq $665536, (%rax)
+lock subq $665536, (%rax)
 subq $7, %rdi
 subq $7, (%rax)
+lock subq $7, (%rax)
 subq %rsi, %rdi
 subq %rsi, (%rax)
+lock subq %rsi, (%rax)
 subq (%rax), %rdi
 
 testb $7, %al
@@ -833,65 +941,84 @@ wrmsr
 
 xaddb %bl, %cl
 xaddb %bl, (%rcx)
+lock xaddb %bl, (%rcx)
 
 xaddw %bx, %cx
 xaddw %ax, (%rbx)
+lock xaddw %ax, (%rbx)
 
 xaddl %ebx, %ecx
 xaddl %eax, (%rbx)
+lock xaddl %eax, (%rbx)
 
 xaddq %rbx, %rcx
 xaddq %rax, (%rbx)
+lock xaddq %rax, (%rbx)
 
 xchgb %bl, %cl
 xchgb %bl, (%rbx)
+lock xchgb %bl, (%rbx)
 
 xchgw %ax, %bx
 xchgw %bx, %cx
 xchgw %ax, (%rbx)
+lock xchgw %ax, (%rbx)
 
 xchgl %eax, %ebx
 xchgl %ebx, %ecx
 xchgl %eax, (%rbx)
+lock xchgl %eax, (%rbx)
 
 xchgq %rax, %rbx
 xchgq %rbx, %rcx
 xchgq %rax, (%rbx)
+lock xchgq %rax, (%rbx)
 
 xlatb
 
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
+lock xorb $7, (%rax)
 xorb %sil, %dil
 xorb %sil, (%rax)
+lock xorb %sil, (%rax)
 xorb (%rax), %dil
 
 xorw $511, %ax
 xorw $511, %di
 xorw $511, (%rax)
+lock xorw $511, (%rax)
 xorw $7, %di
 xorw $7, (%rax)
+lock xorw $7, (%rax)
 xorw %si, %di
 xorw %si, (%rax)
+lock xorw %si, (%rax)
 xorw (%rax), %di
 
 xorl $665536, %eax
 xorl $665536, %edi
 xorl $665536, (%rax)
+lock xorl $665536, (%rax)
 xorl $7, %edi
 xorl $7, (%rax)
+lock xorl $7, (%rax)
 xorl %esi, %edi
 xorl %esi, (%rax)
+lock xorl %esi, (%rax)
 xorl (%rax), %edi
 
 xorq $665536, %rax
 xorq $665536, %rdi
 xorq $665536, (%rax)
+lock xorq $665536, (%rax)
 xorq $7, %rdi
 xorq $7, (%rax)
+lock xorq $7, (%rax)
 xorq %rsi, %rdi
 xorq %rsi, (%rax)
+lock xorq %rsi, (%rax)
 xorq (%rax), %rdi
 
 # CHECK:      Instruction Info:
@@ -906,104 +1033,141 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.50                        adcb	$0, %al
 # CHECK-NEXT:  1      1     0.50                        adcb	$0, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            adcb	$0, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcb	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        adcb	$7, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            adcb	$7, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcb	%sil, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            adcb	%sil, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   adcb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.50                        adcw	$0, %ax
 # CHECK-NEXT:  1      1     0.50                        adcw	$0, %di
 # CHECK-NEXT:  6      8     1.00    *      *            adcw	$0, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcw	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcw	$511, %ax
 # CHECK-NEXT:  1      1     0.50                        adcw	$511, %di
 # CHECK-NEXT:  6      8     1.00    *      *            adcw	$511, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcw	$7, %di
 # CHECK-NEXT:  6      8     1.00    *      *            adcw	$7, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcw	%si, %di
 # CHECK-NEXT:  6      8     1.00    *      *            adcw	%si, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   adcw	(%rax), %di
 # CHECK-NEXT:  1      1     0.50                        adcl	$0, %eax
 # CHECK-NEXT:  1      1     0.50                        adcl	$0, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            adcl	$0, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcl	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcl	$665536, %eax
 # CHECK-NEXT:  1      1     0.50                        adcl	$665536, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            adcl	$665536, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcl	$7, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            adcl	$7, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcl	%esi, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            adcl	%esi, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   adcl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.50                        adcq	$0, %rax
 # CHECK-NEXT:  1      1     0.50                        adcq	$0, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            adcq	$0, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcq	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcq	$665536, %rax
 # CHECK-NEXT:  1      1     0.50                        adcq	$665536, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            adcq	$665536, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcq	$7, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            adcq	$7, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcq	%rsi, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            adcq	%rsi, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		adcq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   adcq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        addb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        addb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            addb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            addb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.25                        addw	$511, %ax
 # CHECK-NEXT:  1      1     0.25                        addw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            addw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            addw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            addw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addw	(%rax), %di
 # CHECK-NEXT:  1      1     0.25                        addl	$665536, %eax
 # CHECK-NEXT:  1      1     0.25                        addl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            addl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            addl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            addl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.25                        addq	$665536, %rax
 # CHECK-NEXT:  1      1     0.25                        addq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            addq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            addq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            addq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		addq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   addq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        andb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        andb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            andb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            andb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.25                        andw	$511, %ax
 # CHECK-NEXT:  1      1     0.25                        andw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            andw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            andw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            andw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andw	(%rax), %di
 # CHECK-NEXT:  1      1     0.25                        andl	$665536, %eax
 # CHECK-NEXT:  1      1     0.25                        andl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            andl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            andl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            andl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.25                        andq	$665536, %rax
 # CHECK-NEXT:  1      1     0.25                        andq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            andq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		andq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   andq	(%rax), %rdi
 # CHECK-NEXT:  1      3     1.00                        bsfw	%si, %di
 # CHECK-NEXT:  1      3     1.00                        bsrw	%si, %di
@@ -1027,6 +1191,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  3      6     1.00    *      *            btcw	%si, (%rax)
 # CHECK-NEXT:  3      6     1.00    *      *            btrw	%si, (%rax)
 # CHECK-NEXT:  3      6     1.00    *      *            btsw	%si, (%rax)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		btcw	%si, (%rax)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		btrw	%si, (%rax)
+# CHECK-NEXT:  3      6     1.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
@@ -1035,6 +1202,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      6     1.00    *      *            btcw	$7, (%rax)
 # CHECK-NEXT:  4      6     1.00    *      *            btrw	$7, (%rax)
 # CHECK-NEXT:  4      6     1.00    *      *            btsw	$7, (%rax)
+# CHECK-NEXT:  4      6     1.00    *      *            lock		btcw	$7, (%rax)
+# CHECK-NEXT:  4      6     1.00    *      *            lock		btrw	$7, (%rax)
+# CHECK-NEXT:  4      6     1.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
@@ -1043,6 +1213,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  3      6     1.00    *      *            btcl	%esi, (%rax)
 # CHECK-NEXT:  3      6     1.00    *      *            btrl	%esi, (%rax)
 # CHECK-NEXT:  3      6     1.00    *      *            btsl	%esi, (%rax)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		btcl	%esi, (%rax)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		btrl	%esi, (%rax)
+# CHECK-NEXT:  3      6     1.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
@@ -1051,6 +1224,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      6     1.00    *      *            btcl	$7, (%rax)
 # CHECK-NEXT:  4      6     1.00    *      *            btrl	$7, (%rax)
 # CHECK-NEXT:  4      6     1.00    *      *            btsl	$7, (%rax)
+# CHECK-NEXT:  4      6     1.00    *      *            lock		btcl	$7, (%rax)
+# CHECK-NEXT:  4      6     1.00    *      *            lock		btrl	$7, (%rax)
+# CHECK-NEXT:  4      6     1.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
@@ -1059,6 +1235,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  3      6     1.00    *      *            btcq	%rsi, (%rax)
 # CHECK-NEXT:  3      6     1.00    *      *            btrq	%rsi, (%rax)
 # CHECK-NEXT:  3      6     1.00    *      *            btsq	%rsi, (%rax)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		btcq	%rsi, (%rax)
+# CHECK-NEXT:  3      6     1.00    *      *            lock		btrq	%rsi, (%rax)
+# CHECK-NEXT:  3      6     1.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
@@ -1067,6 +1246,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  4      6     1.00    *      *            btcq	$7, (%rax)
 # CHECK-NEXT:  4      6     1.00    *      *            btrq	$7, (%rax)
 # CHECK-NEXT:  4      6     1.00    *      *            btsq	$7, (%rax)
+# CHECK-NEXT:  4      6     1.00    *      *            lock		btcq	$7, (%rax)
+# CHECK-NEXT:  4      6     1.00    *      *            lock		btrq	$7, (%rax)
+# CHECK-NEXT:  4      6     1.00    *      *            lock		btsq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        cbtw
 # CHECK-NEXT:  1      1     0.25                        cwtl
 # CHECK-NEXT:  1      1     0.25                        cltq
@@ -1125,12 +1307,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  8      18    2.00                  U     cpuid
 # CHECK-NEXT:  1      1     0.25                        decb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            decb	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decb	(%rax)
 # CHECK-NEXT:  1      1     0.25                        decw	%di
 # CHECK-NEXT:  3      7     1.00    *      *            decw	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decw	(%rax)
 # CHECK-NEXT:  1      1     0.25                        decl	%edi
 # CHECK-NEXT:  3      7     1.00    *      *            decl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        decq	%rdi
 # CHECK-NEXT:  3      7     1.00    *      *            decq	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		decq	(%rax)
 # CHECK-NEXT:  1      25    10.00                 U     divb	%dil
 # CHECK-NEXT:  2      29    10.00   *             U     divb	(%rax)
 # CHECK-NEXT:  32     76    8.00                  U     divw	%si
@@ -1182,12 +1368,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  23     35    5.00                  U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.25                        incb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            incb	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incb	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incw	%di
 # CHECK-NEXT:  3      7     1.00    *      *            incw	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incw	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incl	%edi
 # CHECK-NEXT:  3      7     1.00    *      *            incl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incq	%rdi
 # CHECK-NEXT:  3      7     1.00    *      *            incq	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		incq	(%rax)
 # CHECK-NEXT:  8      20    1.25                  U     insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  8      20    1.25                  U     insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  8      20    1.25                  U     insl	%dx, %es:(%rdi)
@@ -1236,12 +1426,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  3      9     1.00    *                   mulq	(%rax)
 # CHECK-NEXT:  1      1     0.25                        negb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            negb	(%r8)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negb	(%r8)
 # CHECK-NEXT:  1      1     0.25                        negw	%si
 # CHECK-NEXT:  3      7     1.00    *      *            negw	(%r9)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negw	(%r9)
 # CHECK-NEXT:  1      1     0.25                        negl	%edx
 # CHECK-NEXT:  3      7     1.00    *      *            negl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        negq	%rcx
 # CHECK-NEXT:  3      7     1.00    *      *            negq	(%r10)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		negq	(%r10)
 # CHECK-NEXT:  1      1     0.17                        nop
 # CHECK-NEXT:  1      1     0.17                        nopw	%di
 # CHECK-NEXT:  1      1     0.17                        nopw	(%rcx)
@@ -1251,41 +1445,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.17                        nopq	(%r9)
 # CHECK-NEXT:  1      1     0.25                        notb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            notb	(%r8)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notb	(%r8)
 # CHECK-NEXT:  1      1     0.25                        notw	%si
 # CHECK-NEXT:  3      7     1.00    *      *            notw	(%r9)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notw	(%r9)
 # CHECK-NEXT:  1      1     0.25                        notl	%edx
 # CHECK-NEXT:  3      7     1.00    *      *            notl	(%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        notq	%rcx
 # CHECK-NEXT:  3      7     1.00    *      *            notq	(%r10)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		notq	(%r10)
 # CHECK-NEXT:  1      1     0.25                        orb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        orb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            orb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            orb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.25                        orw	$511, %ax
 # CHECK-NEXT:  1      1     0.25                        orw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            orw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            orw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            orw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orw	(%rax), %di
 # CHECK-NEXT:  1      1     0.25                        orl	$665536, %eax
 # CHECK-NEXT:  1      1     0.25                        orl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            orl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            orl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            orl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.25                        orq	$665536, %rax
 # CHECK-NEXT:  1      1     0.25                        orq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		orq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orq	(%rax), %rdi
 # CHECK-NEXT:  23     35    5.00                  U     outb	%al, $7
 # CHECK-NEXT:  23     35    5.00                  U     outb	%al, %dx
@@ -1473,44 +1682,59 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.50                        sbbb	$0, %al
 # CHECK-NEXT:  1      1     0.50                        sbbb	$0, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            sbbb	$0, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbb	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        sbbb	$7, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            sbbb	$7, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbb	%sil, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            sbbb	%sil, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.50                        sbbw	$0, %ax
 # CHECK-NEXT:  1      1     0.50                        sbbw	$0, %di
 # CHECK-NEXT:  6      8     1.00    *      *            sbbw	$0, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbw	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbw	$511, %ax
 # CHECK-NEXT:  1      1     0.50                        sbbw	$511, %di
 # CHECK-NEXT:  6      8     1.00    *      *            sbbw	$511, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbw	$7, %di
 # CHECK-NEXT:  6      8     1.00    *      *            sbbw	$7, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbw	%si, %di
 # CHECK-NEXT:  6      8     1.00    *      *            sbbw	%si, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbw	(%rax), %di
 # CHECK-NEXT:  1      1     0.50                        sbbl	$0, %eax
 # CHECK-NEXT:  1      1     0.50                        sbbl	$0, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbl	$0, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbl	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbl	$665536, %eax
 # CHECK-NEXT:  1      1     0.50                        sbbl	$665536, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbl	$665536, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbl	$7, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbl	$7, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbl	%esi, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbl	%esi, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.50                        sbbq	$0, %rax
 # CHECK-NEXT:  1      1     0.50                        sbbq	$0, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbq	$0, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbq	$0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbq	$665536, %rax
 # CHECK-NEXT:  1      1     0.50                        sbbq	$665536, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbq	$665536, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbq	$7, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbq	$7, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbq	%rsi, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbq	%rsi, (%rax)
+# CHECK-NEXT:  6      8     1.00    *      *            lock		sbbq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbq	(%rax), %rdi
 # CHECK-NEXT:  3      7     0.50                  U     scasb	%es:(%rdi), %al
 # CHECK-NEXT:  3      7     0.50                  U     scasw	%es:(%rdi), %ax
@@ -1581,32 +1805,43 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        subb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        subb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            subb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            subb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.25                        subw	$511, %ax
 # CHECK-NEXT:  1      1     0.25                        subw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            subw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            subw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            subw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subw	(%rax), %di
 # CHECK-NEXT:  1      1     0.25                        subl	$665536, %eax
 # CHECK-NEXT:  1      1     0.25                        subl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            subl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            subl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            subl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.25                        subq	$665536, %rax
 # CHECK-NEXT:  1      1     0.25                        subq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		subq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subq	(%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        testb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        testb	$7, %dil
@@ -1638,53 +1873,72 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.25                  U     wrmsr
 # CHECK-NEXT:  3      2     0.75                        xaddb	%bl, %cl
 # CHECK-NEXT:  5      7     1.00    *      *            xaddb	%bl, (%rcx)
+# CHECK-NEXT:  5      7     1.00    *      *            lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  3      2     0.75                        xaddw	%bx, %cx
 # CHECK-NEXT:  5      7     1.00    *      *            xaddw	%ax, (%rbx)
+# CHECK-NEXT:  5      7     1.00    *      *            lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  3      2     0.75                        xaddl	%ebx, %ecx
 # CHECK-NEXT:  5      7     1.00    *      *            xaddl	%eax, (%rbx)
+# CHECK-NEXT:  5      7     1.00    *      *            lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  3      2     0.75                        xaddq	%rbx, %rcx
 # CHECK-NEXT:  5      7     1.00    *      *            xaddq	%rax, (%rbx)
+# CHECK-NEXT:  5      7     1.00    *      *            lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  3      2     0.75                        xchgb	%bl, %cl
 # CHECK-NEXT:  8      10    1.25    *      *            xchgb	%bl, (%rbx)
+# CHECK-NEXT:  8      10    1.25    *      *            lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT:  3      2     0.75                        xchgw	%bx, %ax
 # CHECK-NEXT:  3      2     0.75                        xchgw	%bx, %cx
 # CHECK-NEXT:  8      10    1.25    *      *            xchgw	%ax, (%rbx)
+# CHECK-NEXT:  8      10    1.25    *      *            lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT:  3      2     0.75                        xchgl	%ebx, %eax
 # CHECK-NEXT:  3      2     0.75                        xchgl	%ebx, %ecx
 # CHECK-NEXT:  8      10    1.25    *      *            xchgl	%eax, (%rbx)
+# CHECK-NEXT:  8      10    1.25    *      *            lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT:  3      2     0.75                        xchgq	%rbx, %rax
 # CHECK-NEXT:  3      2     0.75                        xchgq	%rbx, %rcx
 # CHECK-NEXT:  8      10    1.25    *      *            xchgq	%rax, (%rbx)
+# CHECK-NEXT:  8      10    1.25    *      *            lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT:  1      5     0.50    *                   xlatb
 # CHECK-NEXT:  1      1     0.25                        xorb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        xorb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            xorb	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorb	%sil, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            xorb	%sil, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorb	%sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.25                        xorw	$511, %ax
 # CHECK-NEXT:  1      1     0.25                        xorw	$511, %di
 # CHECK-NEXT:  3      7     1.00    *      *            xorw	$511, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorw	$7, %di
 # CHECK-NEXT:  3      7     1.00    *      *            xorw	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorw	%si, %di
 # CHECK-NEXT:  3      7     1.00    *      *            xorw	%si, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorw	(%rax), %di
 # CHECK-NEXT:  1      1     0.25                        xorl	$665536, %eax
 # CHECK-NEXT:  1      1     0.25                        xorl	$665536, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            xorl	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorl	$7, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            xorl	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorl	%esi, %edi
 # CHECK-NEXT:  3      7     1.00    *      *            xorl	%esi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.25                        xorq	$665536, %rax
 # CHECK-NEXT:  1      1     0.25                        xorq	$665536, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            xorq	$665536, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorq	$7, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            xorq	$7, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            xorq	%rsi, (%rax)
+# CHECK-NEXT:  3      7     1.00    *      *            lock		xorq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   xorq	(%rax), %rdi
 
 # CHECK:      Resources:
@@ -1701,111 +1955,148 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 60.00   -     593.75 327.25 272.67 272.67 218.00 294.75 650.25 86.67
+# CHECK-NEXT: 60.00   -     662.75 359.75 378.50 378.50 345.00 327.25 723.25 129.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb	$0, %al
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcb	$0, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcb	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb	$7, %al
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcb	$7, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcb	%sil, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb	%sil, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     adcb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw	$0, %ax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw	$0, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcw	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcw	$511, %ax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw	$511, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw	$511, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw	$7, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw	%si, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw	%si, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     adcw	(%rax), %di
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl	$0, %eax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl	$0, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcl	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcl	$665536, %eax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl	$665536, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl	$7, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl	%esi, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl	%esi, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     adcl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq	$0, %rax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq	$0, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcq	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcq	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcq	$665536, %rax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq	$665536, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcq	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq	$7, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcq	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq	%rsi, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		adcq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     adcq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addb	$7, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addb	%sil, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     addb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addw	$511, %ax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addw	$511, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addw	$7, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addw	%si, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     addw	(%rax), %di
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addl	$665536, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addl	$665536, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addl	$7, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addl	%esi, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     addl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addq	$665536, %rax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addq	$7, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     addq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   addq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		addq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     addq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andb	$7, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andb	%sil, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     andb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andw	$511, %ax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andw	$511, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andw	$7, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andw	%si, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     andw	(%rax), %di
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andl	$665536, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andl	$665536, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andl	$7, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andl	%esi, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     andl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andq	$665536, %rax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andq	$7, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     andq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   andq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		andq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     andq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsfw	%si, %di
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     bsrw	%si, %di
@@ -1829,6 +2120,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   btcw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   btrw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   btsw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		btcw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		btrw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		btsw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btw	$7, %di
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btcw	$7, %di
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btrw	$7, %di
@@ -1837,6 +2131,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btcw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btrw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btsw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btcw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btrw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btsw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btl	%esi, %edi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btcl	%esi, %edi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btrl	%esi, %edi
@@ -1845,6 +2142,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   btcl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   btrl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   btsl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		btcl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		btrl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		btsl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btl	$7, %edi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btcl	$7, %edi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btrl	$7, %edi
@@ -1853,6 +2153,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btcl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btrl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btsl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btcl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btrl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btsl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btcq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btrq	%rsi, %rdi
@@ -1861,6 +2164,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   btcq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   btrq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   btsq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		btcq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		btrq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		btsq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btq	$7, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btcq	$7, %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     btrq	$7, %rdi
@@ -1869,6 +2175,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btcq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btrq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   btsq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btcq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btrq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.83   0.83   1.00    -     0.50   0.33   lock		btsq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     cbtw
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     cwtl
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     cltq
@@ -1927,12 +2236,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.75   1.25    -      -      -     2.25   2.75    -     cpuid
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   decb	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		decb	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decw	%di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   decw	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		decw	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decl	%edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   decl	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		decl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decq	%rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   decq	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		decq	(%rax)
 # CHECK-NEXT: 10.00   -     1.00    -      -      -      -      -      -      -     divb	%dil
 # CHECK-NEXT: 10.00   -     1.00    -     0.50   0.50    -      -      -      -     divb	(%rax)
 # CHECK-NEXT:  -      -     10.25  4.75    -      -      -     11.25  5.75    -     divw	%si
@@ -1984,12 +2297,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inl	%dx, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incb	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		incb	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incw	%di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incw	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		incw	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incl	%edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incl	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		incl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incq	%rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incq	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		incq	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insl	%dx, %es:(%rdi)
@@ -2038,12 +2355,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -     1.00    -      -     mulq	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     negb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   negb	(%r8)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		negb	(%r8)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     negw	%si
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   negw	(%r9)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		negw	(%r9)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     negl	%edx
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   negl	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		negl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     negq	%rcx
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   negq	(%r10)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		negq	(%r10)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     nop
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     nopw	%di
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     nopw	(%rcx)
@@ -2053,41 +2374,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     nopq	(%r9)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     notb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   notb	(%r8)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		notb	(%r8)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     notw	%si
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   notw	(%r9)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		notw	(%r9)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     notl	%edx
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   notl	(%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		notl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     notq	%rcx
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   notq	(%r10)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		notq	(%r10)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orb	$7, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orb	%sil, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     orb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orw	$511, %ax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orw	$511, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orw	$7, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orw	%si, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     orw	(%rax), %di
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orl	$665536, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orl	$665536, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orl	$7, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orl	%esi, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     orl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orq	$665536, %rax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orq	$7, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		orq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     orq	(%rax), %rdi
 # CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outb	%al, $7
 # CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outb	%al, %dx
@@ -2275,44 +2611,59 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbb	$0, %al
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbb	$0, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbb	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbb	$7, %al
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbb	$7, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbb	%sil, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb	%sil, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw	$0, %ax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw	$0, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbw	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbw	$511, %ax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw	$511, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw	$511, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw	$7, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw	%si, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw	%si, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbw	(%rax), %di
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl	$0, %eax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl	$0, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbl	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbl	$665536, %eax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl	$665536, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl	$7, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl	%esi, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl	%esi, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq	$0, %rax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq	$0, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq	$0, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbq	$0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbq	$665536, %rax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq	$665536, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq	$665536, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq	$7, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq	$7, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq	%rsi, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   lock		sbbq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasb	%es:(%rdi), %al
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasw	%es:(%rdi), %ax
@@ -2383,32 +2734,43 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subb	$7, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subb	%sil, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     subb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subw	$511, %ax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subw	$511, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subw	$7, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subw	%si, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     subw	(%rax), %di
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subl	$665536, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subl	$665536, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subl	$7, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subl	%esi, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     subl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subq	$665536, %rax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subq	$7, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		subq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     subq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     testb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     testb	$7, %dil
@@ -2440,51 +2802,70 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     wrmsr
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xaddb	%bl, %cl
 # CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   xaddb	%bl, (%rcx)
+# CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xaddw	%bx, %cx
 # CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   xaddw	%ax, (%rbx)
+# CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xaddl	%ebx, %ecx
 # CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   xaddl	%eax, (%rbx)
+# CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xaddq	%rbx, %rcx
 # CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   xaddq	%rax, (%rbx)
+# CHECK-NEXT:  -      -     0.50   0.50   0.83   0.83   1.00   0.50   0.50   0.33   lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgb	%bl, %cl
 # CHECK-NEXT:  -      -     1.25   0.75   0.83   0.83   1.00   0.75   2.25   0.33   xchgb	%bl, (%rbx)
+# CHECK-NEXT:  -      -     1.25   0.75   0.83   0.83   1.00   0.75   2.25   0.33   lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgw	%bx, %ax
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgw	%bx, %cx
 # CHECK-NEXT:  -      -     1.25   0.75   0.83   0.83   1.00   0.75   2.25   0.33   xchgw	%ax, (%rbx)
+# CHECK-NEXT:  -      -     1.25   0.75   0.83   0.83   1.00   0.75   2.25   0.33   lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgl	%ebx, %eax
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgl	%ebx, %ecx
 # CHECK-NEXT:  -      -     1.25   0.75   0.83   0.83   1.00   0.75   2.25   0.33   xchgl	%eax, (%rbx)
+# CHECK-NEXT:  -      -     1.25   0.75   0.83   0.83   1.00   0.75   2.25   0.33   lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgq	%rbx, %rax
 # CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -     xchgq	%rbx, %rcx
 # CHECK-NEXT:  -      -     1.25   0.75   0.83   0.83   1.00   0.75   2.25   0.33   xchgq	%rax, (%rbx)
+# CHECK-NEXT:  -      -     1.25   0.75   0.83   0.83   1.00   0.75   2.25   0.33   lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     xlatb
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorb	$7, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorb	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorb	%sil, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorb	%sil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorb	%sil, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     xorb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorw	$511, %ax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorw	$511, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorw	$511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorw	$7, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorw	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorw	%si, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorw	%si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     xorw	(%rax), %di
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorl	$665536, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorl	$665536, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorl	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorl	$7, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorl	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorl	%esi, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorl	%esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     xorl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorq	$665536, %rax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorq	$665536, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorq	$665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorq	$7, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorq	$7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorq	%rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   lock		xorq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     xorq	(%rax), %rdi




More information about the llvm-commits mailing list