[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


Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s?rev=369367&r1=369366&r2=369367&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s 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   -     594.00 327.50 272.67 272.67 218.00 295.00 650.50 86.67
+# CHECK-NEXT: 60.00   -     663.00 360.00 378.50 378.50 345.00 327.50 723.50 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

Modified: llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s?rev=369367&r1=369366&r2=369367&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s 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.25                        adcb	$0, %al
 # CHECK-NEXT:  1      1     0.25                        adcb	$0, %dil
 # CHECK-NEXT:  2      5     0.50    *      *            adcb	$0, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		adcb	$0, (%rax)
 # CHECK-NEXT:  1      1     0.25                        adcb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        adcb	$7, %dil
 # CHECK-NEXT:  2      5     0.50    *      *            adcb	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		adcb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        adcb	%sil, %dil
 # CHECK-NEXT:  2      5     0.50    *      *            adcb	%sil, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		adcb	%sil, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   adcb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.25                        adcw	$0, %ax
 # CHECK-NEXT:  1      1     0.25                        adcw	$0, %di
 # CHECK-NEXT:  2      5     0.50    *      *            adcw	$0, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		adcw	$0, (%rax)
 # CHECK-NEXT:  1      1     0.25                        adcw	$511, %ax
 # CHECK-NEXT:  1      1     0.25                        adcw	$511, %di
 # CHECK-NEXT:  2      5     0.50    *      *            adcw	$511, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		adcw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        adcw	$7, %di
 # CHECK-NEXT:  2      5     0.50    *      *            adcw	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		adcw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        adcw	%si, %di
 # CHECK-NEXT:  2      5     0.50    *      *            adcw	%si, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		adcw	%si, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   adcw	(%rax), %di
 # CHECK-NEXT:  1      1     0.25                        adcl	$0, %eax
 # CHECK-NEXT:  1      1     0.25                        adcl	$0, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            adcl	$0, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		adcl	$0, (%rax)
 # CHECK-NEXT:  1      1     0.25                        adcl	$665536, %eax
 # CHECK-NEXT:  1      1     0.25                        adcl	$665536, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            adcl	$665536, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		adcl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        adcl	$7, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            adcl	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		adcl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        adcl	%esi, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            adcl	%esi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		adcl	%esi, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   adcl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.25                        adcq	$0, %rax
 # CHECK-NEXT:  1      1     0.25                        adcq	$0, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            adcq	$0, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		adcq	$0, (%rax)
 # CHECK-NEXT:  1      1     0.25                        adcq	$665536, %rax
 # CHECK-NEXT:  1      1     0.25                        adcq	$665536, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            adcq	$665536, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		adcq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        adcq	$7, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            adcq	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		adcq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        adcq	%rsi, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            adcq	%rsi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		adcq	%rsi, (%rax)
 # CHECK-NEXT:  2      5     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:  2      5     0.50    *      *            addb	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		addb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addb	%sil, %dil
 # CHECK-NEXT:  2      5     0.50    *      *            addb	%sil, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		addb	%sil, (%rax)
 # CHECK-NEXT:  2      5     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:  2      5     0.50    *      *            addw	$511, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		addw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addw	$7, %di
 # CHECK-NEXT:  2      5     0.50    *      *            addw	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		addw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addw	%si, %di
 # CHECK-NEXT:  2      5     0.50    *      *            addw	%si, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		addw	%si, (%rax)
 # CHECK-NEXT:  2      5     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:  2      5     0.50    *      *            addl	$665536, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		addl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addl	$7, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            addl	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		addl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addl	%esi, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            addl	%esi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		addl	%esi, (%rax)
 # CHECK-NEXT:  2      5     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:  2      5     0.50    *      *            addq	$665536, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		addq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addq	$7, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            addq	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		addq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        addq	%rsi, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            addq	%rsi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		addq	%rsi, (%rax)
 # CHECK-NEXT:  2      5     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:  2      5     0.50    *      *            andb	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		andb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andb	%sil, %dil
 # CHECK-NEXT:  2      5     0.50    *      *            andb	%sil, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		andb	%sil, (%rax)
 # CHECK-NEXT:  2      5     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:  2      5     0.50    *      *            andw	$511, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		andw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andw	$7, %di
 # CHECK-NEXT:  2      5     0.50    *      *            andw	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		andw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andw	%si, %di
 # CHECK-NEXT:  2      5     0.50    *      *            andw	%si, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		andw	%si, (%rax)
 # CHECK-NEXT:  2      5     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:  2      5     0.50    *      *            andl	$665536, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		andl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andl	$7, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            andl	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		andl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andl	%esi, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            andl	%esi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		andl	%esi, (%rax)
 # CHECK-NEXT:  2      5     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:  2      5     0.50    *      *            andq	$665536, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		andq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andq	$7, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            andq	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		andq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        andq	%rsi, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            andq	%rsi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		andq	%rsi, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   andq	(%rax), %rdi
 # CHECK-NEXT:  1      3     0.25                        bsfw	%si, %di
 # CHECK-NEXT:  1      3     0.25                        bsrw	%si, %di
@@ -1027,6 +1191,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      6     0.50    *      *            btcw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *      *            btrw	%si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *      *            btsw	%si, (%rax)
+# CHECK-NEXT:  2      6     0.50    *      *            lock		btcw	%si, (%rax)
+# CHECK-NEXT:  2      6     0.50    *      *            lock		btrw	%si, (%rax)
+# CHECK-NEXT:  2      6     0.50    *      *            lock		btsw	%si, (%rax)
 # CHECK-NEXT:  1      1     0.25                        btw	$7, %di
 # CHECK-NEXT:  2      2     0.25                        btcw	$7, %di
 # CHECK-NEXT:  2      2     0.25                        btrw	$7, %di
@@ -1035,6 +1202,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      6     0.50    *      *            btcw	$7, (%rax)
 # CHECK-NEXT:  2      6     0.50    *      *            btrw	$7, (%rax)
 # CHECK-NEXT:  2      6     0.50    *      *            btsw	$7, (%rax)
+# CHECK-NEXT:  2      6     0.50    *      *            lock		btcw	$7, (%rax)
+# CHECK-NEXT:  2      6     0.50    *      *            lock		btrw	$7, (%rax)
+# CHECK-NEXT:  2      6     0.50    *      *            lock		btsw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        btl	%esi, %edi
 # CHECK-NEXT:  2      2     0.25                        btcl	%esi, %edi
 # CHECK-NEXT:  2      2     0.25                        btrl	%esi, %edi
@@ -1043,6 +1213,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      6     0.50    *      *            btcl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *      *            btrl	%esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *      *            btsl	%esi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *      *            lock		btcl	%esi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *      *            lock		btrl	%esi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *      *            lock		btsl	%esi, (%rax)
 # CHECK-NEXT:  1      1     0.25                        btl	$7, %edi
 # CHECK-NEXT:  2      2     0.25                        btcl	$7, %edi
 # CHECK-NEXT:  2      2     0.25                        btrl	$7, %edi
@@ -1051,6 +1224,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      6     0.50    *      *            btcl	$7, (%rax)
 # CHECK-NEXT:  2      6     0.50    *      *            btrl	$7, (%rax)
 # CHECK-NEXT:  2      6     0.50    *      *            btsl	$7, (%rax)
+# CHECK-NEXT:  2      6     0.50    *      *            lock		btcl	$7, (%rax)
+# CHECK-NEXT:  2      6     0.50    *      *            lock		btrl	$7, (%rax)
+# CHECK-NEXT:  2      6     0.50    *      *            lock		btsl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        btq	%rsi, %rdi
 # CHECK-NEXT:  2      2     0.25                        btcq	%rsi, %rdi
 # CHECK-NEXT:  2      2     0.25                        btrq	%rsi, %rdi
@@ -1059,6 +1235,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      6     0.50    *      *            btcq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *      *            btrq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *      *            btsq	%rsi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *      *            lock		btcq	%rsi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *      *            lock		btrq	%rsi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *      *            lock		btsq	%rsi, (%rax)
 # CHECK-NEXT:  1      1     0.25                        btq	$7, %rdi
 # CHECK-NEXT:  2      2     0.25                        btcq	$7, %rdi
 # CHECK-NEXT:  2      2     0.25                        btrq	$7, %rdi
@@ -1067,6 +1246,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      6     0.50    *      *            btcq	$7, (%rax)
 # CHECK-NEXT:  2      6     0.50    *      *            btrq	$7, (%rax)
 # CHECK-NEXT:  2      6     0.50    *      *            btsq	$7, (%rax)
+# CHECK-NEXT:  2      6     0.50    *      *            lock		btcq	$7, (%rax)
+# CHECK-NEXT:  2      6     0.50    *      *            lock		btrq	$7, (%rax)
+# CHECK-NEXT:  2      6     0.50    *      *            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:  1      100   0.25                  U     cpuid
 # CHECK-NEXT:  1      1     0.25                        decb	%dil
 # CHECK-NEXT:  2      5     0.50    *      *            decb	(%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		decb	(%rax)
 # CHECK-NEXT:  1      1     0.25                        decw	%di
 # CHECK-NEXT:  2      5     0.50    *      *            decw	(%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		decw	(%rax)
 # CHECK-NEXT:  1      1     0.25                        decl	%edi
 # CHECK-NEXT:  2      5     0.50    *      *            decl	(%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		decl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        decq	%rdi
 # CHECK-NEXT:  2      5     0.50    *      *            decq	(%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		decq	(%rax)
 # CHECK-NEXT:  1      15    15.00                 U     divb	%dil
 # CHECK-NEXT:  2      19    15.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.25                  U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.25                        incb	%dil
 # CHECK-NEXT:  2      5     0.50    *      *            incb	(%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		incb	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incw	%di
 # CHECK-NEXT:  2      5     0.50    *      *            incw	(%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		incw	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incl	%edi
 # CHECK-NEXT:  2      5     0.50    *      *            incl	(%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		incl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incq	%rdi
 # CHECK-NEXT:  2      5     0.50    *      *            incq	(%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		incq	(%rax)
 # CHECK-NEXT:  1      100   0.25                  U     insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  1      100   0.25                  U     insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  1      100   0.25                  U     insl	%dx, %es:(%rdi)
@@ -1236,12 +1426,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      9     1.00    *                   mulq	(%rax)
 # CHECK-NEXT:  1      1     0.25                        negb	%dil
 # CHECK-NEXT:  2      5     0.50    *      *            negb	(%r8)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		negb	(%r8)
 # CHECK-NEXT:  1      1     0.25                        negw	%si
 # CHECK-NEXT:  2      5     0.50    *      *            negw	(%r9)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		negw	(%r9)
 # CHECK-NEXT:  1      1     0.25                        negl	%edx
 # CHECK-NEXT:  2      5     0.50    *      *            negl	(%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		negl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        negq	%rcx
 # CHECK-NEXT:  2      5     0.50    *      *            negq	(%r10)
+# CHECK-NEXT:  2      5     0.50    *      *            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:  2      5     0.50    *      *            notb	(%r8)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		notb	(%r8)
 # CHECK-NEXT:  1      1     0.25                        notw	%si
 # CHECK-NEXT:  2      5     0.50    *      *            notw	(%r9)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		notw	(%r9)
 # CHECK-NEXT:  1      1     0.25                        notl	%edx
 # CHECK-NEXT:  2      5     0.50    *      *            notl	(%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		notl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        notq	%rcx
 # CHECK-NEXT:  2      5     0.50    *      *            notq	(%r10)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		notq	(%r10)
 # CHECK-NEXT:  1      1     0.25                        orb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        orb	$7, %dil
 # CHECK-NEXT:  2      5     0.50    *      *            orb	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		orb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orb	%sil, %dil
 # CHECK-NEXT:  2      5     0.50    *      *            orb	%sil, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		orb	%sil, (%rax)
 # CHECK-NEXT:  2      5     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:  2      5     0.50    *      *            orw	$511, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		orw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orw	$7, %di
 # CHECK-NEXT:  2      5     0.50    *      *            orw	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		orw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orw	%si, %di
 # CHECK-NEXT:  2      5     0.50    *      *            orw	%si, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		orw	%si, (%rax)
 # CHECK-NEXT:  2      5     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:  2      5     0.50    *      *            orl	$665536, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		orl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orl	$7, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            orl	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		orl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orl	%esi, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            orl	%esi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		orl	%esi, (%rax)
 # CHECK-NEXT:  2      5     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:  2      5     0.50    *      *            orq	$665536, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		orq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orq	$7, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            orq	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		orq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        orq	%rsi, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            orq	%rsi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		orq	%rsi, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   orq	(%rax), %rdi
 # CHECK-NEXT:  1      100   0.25                  U     outb	%al, $7
 # CHECK-NEXT:  1      100   0.25                  U     outb	%al, %dx
@@ -1473,44 +1682,59 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        sbbb	$0, %al
 # CHECK-NEXT:  1      1     0.25                        sbbb	$0, %dil
 # CHECK-NEXT:  2      5     0.50    *      *            sbbb	$0, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		sbbb	$0, (%rax)
 # CHECK-NEXT:  1      1     0.25                        sbbb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        sbbb	$7, %dil
 # CHECK-NEXT:  2      5     0.50    *      *            sbbb	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		sbbb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        sbbb	%sil, %dil
 # CHECK-NEXT:  2      5     0.50    *      *            sbbb	%sil, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		sbbb	%sil, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   sbbb	(%rax), %dil
 # CHECK-NEXT:  1      1     0.25                        sbbw	$0, %ax
 # CHECK-NEXT:  1      1     0.25                        sbbw	$0, %di
 # CHECK-NEXT:  2      5     0.50    *      *            sbbw	$0, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		sbbw	$0, (%rax)
 # CHECK-NEXT:  1      1     0.25                        sbbw	$511, %ax
 # CHECK-NEXT:  1      1     0.25                        sbbw	$511, %di
 # CHECK-NEXT:  2      5     0.50    *      *            sbbw	$511, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		sbbw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        sbbw	$7, %di
 # CHECK-NEXT:  2      5     0.50    *      *            sbbw	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		sbbw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        sbbw	%si, %di
 # CHECK-NEXT:  2      5     0.50    *      *            sbbw	%si, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		sbbw	%si, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   sbbw	(%rax), %di
 # CHECK-NEXT:  1      1     0.25                        sbbl	$0, %eax
 # CHECK-NEXT:  1      1     0.25                        sbbl	$0, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            sbbl	$0, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		sbbl	$0, (%rax)
 # CHECK-NEXT:  1      1     0.25                        sbbl	$665536, %eax
 # CHECK-NEXT:  1      1     0.25                        sbbl	$665536, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            sbbl	$665536, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		sbbl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        sbbl	$7, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            sbbl	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		sbbl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        sbbl	%esi, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            sbbl	%esi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		sbbl	%esi, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   sbbl	(%rax), %edi
 # CHECK-NEXT:  1      1     0.25                        sbbq	$0, %rax
 # CHECK-NEXT:  1      1     0.25                        sbbq	$0, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            sbbq	$0, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		sbbq	$0, (%rax)
 # CHECK-NEXT:  1      1     0.25                        sbbq	$665536, %rax
 # CHECK-NEXT:  1      1     0.25                        sbbq	$665536, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            sbbq	$665536, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		sbbq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        sbbq	$7, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            sbbq	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		sbbq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        sbbq	%rsi, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            sbbq	%rsi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		sbbq	%rsi, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   sbbq	(%rax), %rdi
 # CHECK-NEXT:  1      100   0.25                  U     scasb	%es:(%rdi), %al
 # CHECK-NEXT:  1      100   0.25                  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:  2      5     0.50    *      *            subb	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		subb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subb	%sil, %dil
 # CHECK-NEXT:  2      5     0.50    *      *            subb	%sil, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		subb	%sil, (%rax)
 # CHECK-NEXT:  2      5     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:  2      5     0.50    *      *            subw	$511, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		subw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subw	$7, %di
 # CHECK-NEXT:  2      5     0.50    *      *            subw	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		subw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subw	%si, %di
 # CHECK-NEXT:  2      5     0.50    *      *            subw	%si, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		subw	%si, (%rax)
 # CHECK-NEXT:  2      5     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:  2      5     0.50    *      *            subl	$665536, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		subl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subl	$7, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            subl	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		subl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subl	%esi, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            subl	%esi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		subl	%esi, (%rax)
 # CHECK-NEXT:  2      5     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:  2      5     0.50    *      *            subq	$665536, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		subq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subq	$7, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            subq	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		subq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        subq	%rsi, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            subq	%rsi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		subq	%rsi, (%rax)
 # CHECK-NEXT:  2      5     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:  1      1     0.25                        xaddb	%bl, %cl
 # CHECK-NEXT:  1      100   0.25    *      *            xaddb	%bl, (%rcx)
+# CHECK-NEXT:  1      100   0.25    *      *            lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  1      1     0.25                        xaddw	%bx, %cx
 # CHECK-NEXT:  1      100   0.25    *      *            xaddw	%ax, (%rbx)
+# CHECK-NEXT:  1      100   0.25    *      *            lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  1      1     0.25                        xaddl	%ebx, %ecx
 # CHECK-NEXT:  1      100   0.25    *      *            xaddl	%eax, (%rbx)
+# CHECK-NEXT:  1      100   0.25    *      *            lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  1      1     0.25                        xaddq	%rbx, %rcx
 # CHECK-NEXT:  1      100   0.25    *      *            xaddq	%rax, (%rbx)
+# CHECK-NEXT:  1      100   0.25    *      *            lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  2      1     0.50                        xchgb	%bl, %cl
 # CHECK-NEXT:  2      5     0.50    *      *            xchgb	%bl, (%rbx)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT:  2      1     0.50                        xchgw	%bx, %ax
 # CHECK-NEXT:  2      1     0.50                        xchgw	%bx, %cx
 # CHECK-NEXT:  2      5     0.50    *      *            xchgw	%ax, (%rbx)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT:  2      1     0.50                        xchgl	%ebx, %eax
 # CHECK-NEXT:  2      1     0.50                        xchgl	%ebx, %ecx
 # CHECK-NEXT:  2      5     0.50    *      *            xchgl	%eax, (%rbx)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT:  2      1     0.50                        xchgq	%rbx, %rax
 # CHECK-NEXT:  2      1     0.50                        xchgq	%rbx, %rcx
 # CHECK-NEXT:  2      5     0.50    *      *            xchgq	%rax, (%rbx)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		xchgq	%rax, (%rbx)
 # CHECK-NEXT:  1      100   0.25    *                   xlatb
 # CHECK-NEXT:  1      1     0.25                        xorb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        xorb	$7, %dil
 # CHECK-NEXT:  2      5     0.50    *      *            xorb	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		xorb	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorb	%sil, %dil
 # CHECK-NEXT:  2      5     0.50    *      *            xorb	%sil, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		xorb	%sil, (%rax)
 # CHECK-NEXT:  2      5     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:  2      5     0.50    *      *            xorw	$511, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		xorw	$511, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorw	$7, %di
 # CHECK-NEXT:  2      5     0.50    *      *            xorw	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		xorw	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorw	%si, %di
 # CHECK-NEXT:  2      5     0.50    *      *            xorw	%si, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		xorw	%si, (%rax)
 # CHECK-NEXT:  2      5     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:  2      5     0.50    *      *            xorl	$665536, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorl	$7, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            xorl	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		xorl	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorl	%esi, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            xorl	%esi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		xorl	%esi, (%rax)
 # CHECK-NEXT:  2      5     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:  2      5     0.50    *      *            xorq	$665536, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorq	$7, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            xorq	$7, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		xorq	$7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        xorq	%rsi, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            xorq	%rsi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *            lock		xorq	%rsi, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   xorq	(%rax), %rdi
 
 # CHECK:      Resources:
@@ -1703,111 +1957,148 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]
-# CHECK-NEXT: 171.50 171.50 160.75 194.75 176.75 160.75 392.00  -      -      -      -     34.00
+# CHECK-NEXT: 233.00 233.00 191.50 225.50 207.50 191.50 392.00  -      -      -      -     34.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   Instructions:
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcb	$0, %al
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcb	$0, %dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcb	$0, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		adcb	$0, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcb	$7, %dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcb	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		adcb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcb	%sil, %dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcb	%sil, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		adcb	%sil, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcw	$0, %ax
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcw	$0, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcw	$0, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		adcw	$0, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcw	$511, %ax
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcw	$511, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcw	$511, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		adcw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcw	$7, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		adcw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcw	%si, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		adcw	%si, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcw	(%rax), %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcl	$0, %eax
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcl	$0, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcl	$0, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		adcl	$0, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcl	$665536, %eax
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcl	$665536, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcl	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		adcl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcl	$7, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		adcl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcl	%esi, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		adcl	%esi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcq	$0, %rax
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcq	$0, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcq	$0, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		adcq	$0, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcq	$665536, %rax
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcq	$665536, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcq	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		adcq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcq	$7, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		adcq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		adcq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     addb	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		addb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     addb	%sil, %dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     addb	%sil, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		addb	%sil, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     addw	$511, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		addw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     addw	$7, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     addw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		addw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     addw	%si, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     addw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		addw	%si, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     addl	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		addl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     addl	$7, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     addl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		addl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     addl	%esi, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     addl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		addl	%esi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     addq	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		addq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     addq	$7, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     addq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		addq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     addq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     addq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		addq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     andb	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		andb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     andb	%sil, %dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     andb	%sil, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		andb	%sil, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     andw	$511, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		andw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     andw	$7, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     andw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		andw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     andw	%si, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     andw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		andw	%si, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     andl	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		andl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     andl	$7, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     andl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		andl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     andl	%esi, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     andl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		andl	%esi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     andq	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		andq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     andq	$7, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     andq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		andq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     andq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     andq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		andq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     andq	(%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     bsfw	%si, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     bsrw	%si, %di
@@ -1831,6 +2122,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     btcw	%si, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     btrw	%si, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     btsw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		btcw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		btrw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		btsw	%si, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     btw	$7, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     btcw	$7, %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     btrw	$7, %di
@@ -1839,6 +2133,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     btcw	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     btrw	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     btsw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		btcw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		btrw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		btsw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     btl	%esi, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     btcl	%esi, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     btrl	%esi, %edi
@@ -1847,6 +2144,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     btcl	%esi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     btrl	%esi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     btsl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		btcl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		btrl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		btsl	%esi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     btl	$7, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     btcl	$7, %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     btrl	$7, %edi
@@ -1855,6 +2155,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     btcl	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     btrl	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     btsl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		btcl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		btrl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		btsl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     btq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     btcq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     btrq	%rsi, %rdi
@@ -1863,6 +2166,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     btcq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     btrq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     btsq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		btcq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		btrq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		btsq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     btq	$7, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     btcq	$7, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     btrq	$7, %rdi
@@ -1871,6 +2177,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     btcq	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     btrq	$7, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     btsq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		btcq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		btrq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     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
@@ -1929,12 +2238,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     cpuid
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     decb	%dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     decb	(%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		decb	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     decw	%di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     decw	(%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		decw	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     decl	%edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     decl	(%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		decl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     decq	%rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     decq	(%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		decq	(%rax)
 # CHECK-NEXT:  -      -      -      -     1.00    -     15.00   -      -      -      -      -     divb	%dil
 # CHECK-NEXT: 0.50   0.50    -      -     1.00    -     15.00   -      -      -      -      -     divb	(%rax)
 # CHECK-NEXT:  -      -      -      -     1.00    -     17.00   -      -      -      -      -     divw	%si
@@ -1986,12 +2299,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     inl	%dx, %eax
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     incb	%dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     incb	(%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		incb	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     incw	%di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     incw	(%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		incw	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     incl	%edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     incl	(%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		incl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     incq	%rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     incq	(%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		incq	(%rax)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     insb	%dx, %es:(%rdi)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     insw	%dx, %es:(%rdi)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     insl	%dx, %es:(%rdi)
@@ -2040,12 +2357,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -     1.00    -      -      -      -      -      -      -     1.00   mulq	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     negb	%dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     negb	(%r8)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		negb	(%r8)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     negw	%si
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     negw	(%r9)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		negw	(%r9)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     negl	%edx
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     negl	(%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		negl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     negq	%rcx
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     negq	(%r10)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		negq	(%r10)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     nop
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     nopw	%di
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     nopw	(%rcx)
@@ -2055,41 +2376,56 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     nopq	(%r9)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     notb	%dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     notb	(%r8)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		notb	(%r8)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     notw	%si
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     notw	(%r9)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		notw	(%r9)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     notl	%edx
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     notl	(%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		notl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     notq	%rcx
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     notq	(%r10)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     orb	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		orb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     orb	%sil, %dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     orb	%sil, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		orb	%sil, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     orw	$511, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		orw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     orw	$7, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     orw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		orw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     orw	%si, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     orw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		orw	%si, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     orl	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		orl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     orl	$7, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     orl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		orl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     orl	%esi, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     orl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		orl	%esi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     orq	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		orq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     orq	$7, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     orq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		orq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     orq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     orq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		orq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     orq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     outb	%al, $7
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     outb	%al, %dx
@@ -2277,44 +2613,59 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbb	$0, %al
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbb	$0, %dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbb	$0, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		sbbb	$0, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbb	$7, %dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbb	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		sbbb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbb	%sil, %dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbb	%sil, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		sbbb	%sil, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbb	(%rax), %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbw	$0, %ax
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbw	$0, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbw	$0, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		sbbw	$0, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbw	$511, %ax
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbw	$511, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbw	$511, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		sbbw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbw	$7, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		sbbw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbw	%si, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		sbbw	%si, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbw	(%rax), %di
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbl	$0, %eax
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbl	$0, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbl	$0, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		sbbl	$0, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbl	$665536, %eax
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbl	$665536, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbl	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		sbbl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbl	$7, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		sbbl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbl	%esi, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		sbbl	%esi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbl	(%rax), %edi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbq	$0, %rax
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbq	$0, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbq	$0, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		sbbq	$0, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbq	$665536, %rax
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbq	$665536, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbq	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		sbbq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbq	$7, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		sbbq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		sbbq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbq	(%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     scasb	%es:(%rdi), %al
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     scasw	%es:(%rdi), %ax
@@ -2385,32 +2736,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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     subb	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		subb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     subb	%sil, %dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     subb	%sil, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		subb	%sil, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     subw	$511, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		subw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     subw	$7, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     subw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		subw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     subw	%si, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     subw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		subw	%si, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     subl	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		subl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     subl	$7, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     subl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		subl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     subl	%esi, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     subl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		subl	%esi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     subq	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		subq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     subq	$7, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     subq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		subq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     subq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     subq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		subq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   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
@@ -2442,51 +2804,70 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     wrmsr
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     xaddb	%bl, %cl
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     xaddb	%bl, (%rcx)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     lock		xaddb	%bl, (%rcx)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     xaddw	%bx, %cx
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     xaddw	%ax, (%rbx)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     lock		xaddw	%ax, (%rbx)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     xaddl	%ebx, %ecx
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     xaddl	%eax, (%rbx)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     lock		xaddl	%eax, (%rbx)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     xaddq	%rbx, %rcx
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     xaddq	%rax, (%rbx)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     lock		xaddq	%rax, (%rbx)
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     xchgb	%bl, %cl
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     xchgb	%bl, (%rbx)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		xchgb	%bl, (%rbx)
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     xchgw	%bx, %ax
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     xchgw	%bx, %cx
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     xchgw	%ax, (%rbx)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		xchgw	%ax, (%rbx)
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     xchgl	%ebx, %eax
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     xchgl	%ebx, %ecx
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     xchgl	%eax, (%rbx)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		xchgl	%eax, (%rbx)
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     xchgq	%rbx, %rax
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     xchgq	%rbx, %rcx
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     xchgq	%rax, (%rbx)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorb	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		xorb	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorb	%sil, %dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorb	%sil, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		xorb	%sil, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorw	$511, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		xorw	$511, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorw	$7, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorw	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		xorw	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorw	%si, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorw	%si, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		xorw	%si, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorl	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		xorl	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorl	$7, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorl	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		xorl	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorl	%esi, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorl	%esi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		xorl	%esi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   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.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorq	$665536, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		xorq	$665536, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorq	$7, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorq	$7, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		xorq	$7, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorq	%rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     lock		xorq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorq	(%rax), %rdi




More information about the llvm-commits mailing list