From c6371020a801f1da327ec3dcdfa0818fbd6f657a Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Sat, 4 Sep 2021 12:57:15 +0100 Subject: [PATCH] [X86][SLM] RMW instructions don't require an extra uop For RMW instructions, the load and store hold the MEC for an extra cycle, but within the same single uop. This is alluded to in the Intel AOM: "The MEC also owns the MEC RSV, which is responsible for scheduling of all loads and stores. Load and store instructions go through addresses generation phase in program order to avoid on-the-fly memory ordering later in the pipeline. Therefore, an unknown address will stall younger memory instructions." Noticed while trying to get a cheap SLM test box up and running with llvm-exegesis - RMW arithmetic is always 1uop - and matches what Agner / InstLatX64 report as well. --- llvm/lib/Target/X86/X86ScheduleSLM.td | 6 +- .../test/tools/llvm-mca/X86/SLM/resources-x86_64.s | 676 ++++++++++----------- 2 files changed, 341 insertions(+), 341 deletions(-) diff --git a/llvm/lib/Target/X86/X86ScheduleSLM.td b/llvm/lib/Target/X86/X86ScheduleSLM.td index 252f512..a545f3c 100644 --- a/llvm/lib/Target/X86/X86ScheduleSLM.td +++ b/llvm/lib/Target/X86/X86ScheduleSLM.td @@ -79,9 +79,9 @@ multiclass SLMWriteResPair; +// A folded store needs a cycle on MEC_RSV for the store data (using the same uop), +// but it does not need an extra port cycle to recompute the address. +def : WriteRes { let NumMicroOps = 0; } def : WriteRes; def : WriteRes; diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s index 8a8ff76..d9cdb2c 100644 --- a/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s @@ -1032,142 +1032,142 @@ xorq (%rax), %rdi # CHECK: [1] [2] [3] [4] [5] [6] Instructions: # CHECK-NEXT: 1 1 0.50 adcb $0, %al # CHECK-NEXT: 1 1 0.50 adcb $0, %dil -# CHECK-NEXT: 2 5 2.00 * * adcb $0, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock adcb $0, (%rax) +# CHECK-NEXT: 1 5 2.00 * * adcb $0, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock adcb $0, (%rax) # CHECK-NEXT: 1 1 0.50 adcb $7, %al # CHECK-NEXT: 1 1 0.50 adcb $7, %dil -# CHECK-NEXT: 2 5 2.00 * * adcb $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock adcb $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * adcb $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock adcb $7, (%rax) # CHECK-NEXT: 1 1 0.50 adcb %sil, %dil -# CHECK-NEXT: 2 5 2.00 * * adcb %sil, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock adcb %sil, (%rax) +# CHECK-NEXT: 1 5 2.00 * * adcb %sil, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock adcb %sil, (%rax) # CHECK-NEXT: 1 4 1.00 * adcb (%rax), %dil # CHECK-NEXT: 1 1 0.50 adcw $0, %ax # CHECK-NEXT: 1 1 0.50 adcw $0, %di -# CHECK-NEXT: 2 5 2.00 * * adcw $0, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock adcw $0, (%rax) +# CHECK-NEXT: 1 5 2.00 * * adcw $0, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock adcw $0, (%rax) # CHECK-NEXT: 1 1 0.50 adcw $511, %ax # CHECK-NEXT: 1 1 0.50 adcw $511, %di -# CHECK-NEXT: 2 5 2.00 * * adcw $511, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock adcw $511, (%rax) +# CHECK-NEXT: 1 5 2.00 * * adcw $511, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock adcw $511, (%rax) # CHECK-NEXT: 1 1 0.50 adcw $7, %di -# CHECK-NEXT: 2 5 2.00 * * adcw $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock adcw $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * adcw $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock adcw $7, (%rax) # CHECK-NEXT: 1 1 0.50 adcw %si, %di -# CHECK-NEXT: 2 5 2.00 * * adcw %si, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock adcw %si, (%rax) +# CHECK-NEXT: 1 5 2.00 * * adcw %si, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock adcw %si, (%rax) # CHECK-NEXT: 1 4 1.00 * adcw (%rax), %di # CHECK-NEXT: 1 1 0.50 adcl $0, %eax # CHECK-NEXT: 1 1 0.50 adcl $0, %edi -# CHECK-NEXT: 2 5 2.00 * * adcl $0, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock adcl $0, (%rax) +# CHECK-NEXT: 1 5 2.00 * * adcl $0, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock adcl $0, (%rax) # CHECK-NEXT: 1 1 0.50 adcl $665536, %eax # CHECK-NEXT: 1 1 0.50 adcl $665536, %edi -# CHECK-NEXT: 2 5 2.00 * * adcl $665536, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock adcl $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * adcl $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock adcl $665536, (%rax) # CHECK-NEXT: 1 1 0.50 adcl $7, %edi -# CHECK-NEXT: 2 5 2.00 * * adcl $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock adcl $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * adcl $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock adcl $7, (%rax) # CHECK-NEXT: 1 1 0.50 adcl %esi, %edi -# CHECK-NEXT: 2 5 2.00 * * adcl %esi, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock adcl %esi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * adcl %esi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock adcl %esi, (%rax) # CHECK-NEXT: 1 4 1.00 * adcl (%rax), %edi # CHECK-NEXT: 1 1 0.50 adcq $0, %rax # CHECK-NEXT: 1 1 0.50 adcq $0, %rdi -# CHECK-NEXT: 2 5 2.00 * * adcq $0, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock adcq $0, (%rax) +# CHECK-NEXT: 1 5 2.00 * * adcq $0, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock adcq $0, (%rax) # CHECK-NEXT: 1 1 0.50 adcq $665536, %rax # CHECK-NEXT: 1 1 0.50 adcq $665536, %rdi -# CHECK-NEXT: 2 5 2.00 * * adcq $665536, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock adcq $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * adcq $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock adcq $665536, (%rax) # CHECK-NEXT: 1 1 0.50 adcq $7, %rdi -# CHECK-NEXT: 2 5 2.00 * * adcq $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock adcq $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * adcq $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock adcq $7, (%rax) # CHECK-NEXT: 1 1 0.50 adcq %rsi, %rdi -# CHECK-NEXT: 2 5 2.00 * * adcq %rsi, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock adcq %rsi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * adcq %rsi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock adcq %rsi, (%rax) # CHECK-NEXT: 1 4 1.00 * adcq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 addb $7, %al # CHECK-NEXT: 1 1 0.50 addb $7, %dil -# CHECK-NEXT: 2 5 2.00 * * addb $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock addb $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * addb $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock addb $7, (%rax) # CHECK-NEXT: 1 1 0.50 addb %sil, %dil -# CHECK-NEXT: 2 5 2.00 * * addb %sil, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock addb %sil, (%rax) +# CHECK-NEXT: 1 5 2.00 * * addb %sil, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock addb %sil, (%rax) # CHECK-NEXT: 1 4 1.00 * addb (%rax), %dil # CHECK-NEXT: 1 1 0.50 addw $511, %ax # CHECK-NEXT: 1 1 0.50 addw $511, %di -# CHECK-NEXT: 2 5 2.00 * * addw $511, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock addw $511, (%rax) +# CHECK-NEXT: 1 5 2.00 * * addw $511, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock addw $511, (%rax) # CHECK-NEXT: 1 1 0.50 addw $7, %di -# CHECK-NEXT: 2 5 2.00 * * addw $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock addw $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * addw $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock addw $7, (%rax) # CHECK-NEXT: 1 1 0.50 addw %si, %di -# CHECK-NEXT: 2 5 2.00 * * addw %si, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock addw %si, (%rax) +# CHECK-NEXT: 1 5 2.00 * * addw %si, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock addw %si, (%rax) # CHECK-NEXT: 1 4 1.00 * addw (%rax), %di # CHECK-NEXT: 1 1 0.50 addl $665536, %eax # CHECK-NEXT: 1 1 0.50 addl $665536, %edi -# CHECK-NEXT: 2 5 2.00 * * addl $665536, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock addl $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * addl $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock addl $665536, (%rax) # CHECK-NEXT: 1 1 0.50 addl $7, %edi -# CHECK-NEXT: 2 5 2.00 * * addl $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock addl $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * addl $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock addl $7, (%rax) # CHECK-NEXT: 1 1 0.50 addl %esi, %edi -# CHECK-NEXT: 2 5 2.00 * * addl %esi, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock addl %esi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * addl %esi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock addl %esi, (%rax) # CHECK-NEXT: 1 4 1.00 * addl (%rax), %edi # CHECK-NEXT: 1 1 0.50 addq $665536, %rax # CHECK-NEXT: 1 1 0.50 addq $665536, %rdi -# CHECK-NEXT: 2 5 2.00 * * addq $665536, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock addq $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * addq $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock addq $665536, (%rax) # CHECK-NEXT: 1 1 0.50 addq $7, %rdi -# CHECK-NEXT: 2 5 2.00 * * addq $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock addq $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * addq $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock addq $7, (%rax) # CHECK-NEXT: 1 1 0.50 addq %rsi, %rdi -# CHECK-NEXT: 2 5 2.00 * * addq %rsi, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock addq %rsi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * addq %rsi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock addq %rsi, (%rax) # CHECK-NEXT: 1 4 1.00 * addq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 andb $7, %al # CHECK-NEXT: 1 1 0.50 andb $7, %dil -# CHECK-NEXT: 2 5 2.00 * * andb $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock andb $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * andb $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock andb $7, (%rax) # CHECK-NEXT: 1 1 0.50 andb %sil, %dil -# CHECK-NEXT: 2 5 2.00 * * andb %sil, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock andb %sil, (%rax) +# CHECK-NEXT: 1 5 2.00 * * andb %sil, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock andb %sil, (%rax) # CHECK-NEXT: 1 4 1.00 * andb (%rax), %dil # CHECK-NEXT: 1 1 0.50 andw $511, %ax # CHECK-NEXT: 1 1 0.50 andw $511, %di -# CHECK-NEXT: 2 5 2.00 * * andw $511, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock andw $511, (%rax) +# CHECK-NEXT: 1 5 2.00 * * andw $511, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock andw $511, (%rax) # CHECK-NEXT: 1 1 0.50 andw $7, %di -# CHECK-NEXT: 2 5 2.00 * * andw $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock andw $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * andw $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock andw $7, (%rax) # CHECK-NEXT: 1 1 0.50 andw %si, %di -# CHECK-NEXT: 2 5 2.00 * * andw %si, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock andw %si, (%rax) +# CHECK-NEXT: 1 5 2.00 * * andw %si, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock andw %si, (%rax) # CHECK-NEXT: 1 4 1.00 * andw (%rax), %di # CHECK-NEXT: 1 1 0.50 andl $665536, %eax # CHECK-NEXT: 1 1 0.50 andl $665536, %edi -# CHECK-NEXT: 2 5 2.00 * * andl $665536, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock andl $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * andl $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock andl $665536, (%rax) # CHECK-NEXT: 1 1 0.50 andl $7, %edi -# CHECK-NEXT: 2 5 2.00 * * andl $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock andl $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * andl $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock andl $7, (%rax) # CHECK-NEXT: 1 1 0.50 andl %esi, %edi -# CHECK-NEXT: 2 5 2.00 * * andl %esi, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock andl %esi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * andl %esi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock andl %esi, (%rax) # CHECK-NEXT: 1 4 1.00 * andl (%rax), %edi # CHECK-NEXT: 1 1 0.50 andq $665536, %rax # CHECK-NEXT: 1 1 0.50 andq $665536, %rdi -# CHECK-NEXT: 2 5 2.00 * * andq $665536, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock andq $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * andq $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock andq $665536, (%rax) # CHECK-NEXT: 1 1 0.50 andq $7, %rdi -# CHECK-NEXT: 2 5 2.00 * * andq $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock andq $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * andq $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock andq $7, (%rax) # CHECK-NEXT: 1 1 0.50 andq %rsi, %rdi -# CHECK-NEXT: 2 5 2.00 * * andq %rsi, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock andq %rsi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * andq %rsi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock andq %rsi, (%rax) # CHECK-NEXT: 1 4 1.00 * andq (%rax), %rdi # CHECK-NEXT: 10 10 10.00 bsfw %si, %di # CHECK-NEXT: 10 10 10.00 bsrw %si, %di @@ -1188,67 +1188,67 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 btrw %si, %di # CHECK-NEXT: 1 1 0.50 btsw %si, %di # CHECK-NEXT: 1 4 1.00 * btw %si, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btcw %si, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btrw %si, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btsw %si, (%rax) -# CHECK-NEXT: 2 4 2.00 * * lock btcw %si, (%rax) -# CHECK-NEXT: 2 4 2.00 * * lock btrw %si, (%rax) -# CHECK-NEXT: 2 4 2.00 * * lock btsw %si, (%rax) +# CHECK-NEXT: 1 4 2.00 * * btcw %si, (%rax) +# CHECK-NEXT: 1 4 2.00 * * btrw %si, (%rax) +# CHECK-NEXT: 1 4 2.00 * * btsw %si, (%rax) +# CHECK-NEXT: 1 4 2.00 * * lock btcw %si, (%rax) +# CHECK-NEXT: 1 4 2.00 * * lock btrw %si, (%rax) +# CHECK-NEXT: 1 4 2.00 * * lock btsw %si, (%rax) # CHECK-NEXT: 1 1 0.50 btw $7, %di # CHECK-NEXT: 1 1 0.50 btcw $7, %di # CHECK-NEXT: 1 1 0.50 btrw $7, %di # CHECK-NEXT: 1 1 0.50 btsw $7, %di # CHECK-NEXT: 1 4 1.00 * btw $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btcw $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btrw $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btsw $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * lock btcw $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * lock btrw $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * lock btsw $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * btcw $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * btrw $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * btsw $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * lock btcw $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * lock btrw $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * lock btsw $7, (%rax) # CHECK-NEXT: 1 1 0.50 btl %esi, %edi # CHECK-NEXT: 1 1 0.50 btcl %esi, %edi # CHECK-NEXT: 1 1 0.50 btrl %esi, %edi # CHECK-NEXT: 1 1 0.50 btsl %esi, %edi # CHECK-NEXT: 1 4 1.00 * btl %esi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btcl %esi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btrl %esi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btsl %esi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * lock btcl %esi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * lock btrl %esi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * lock btsl %esi, (%rax) +# CHECK-NEXT: 1 4 2.00 * * btcl %esi, (%rax) +# CHECK-NEXT: 1 4 2.00 * * btrl %esi, (%rax) +# CHECK-NEXT: 1 4 2.00 * * btsl %esi, (%rax) +# CHECK-NEXT: 1 4 2.00 * * lock btcl %esi, (%rax) +# CHECK-NEXT: 1 4 2.00 * * lock btrl %esi, (%rax) +# CHECK-NEXT: 1 4 2.00 * * lock btsl %esi, (%rax) # CHECK-NEXT: 1 1 0.50 btl $7, %edi # CHECK-NEXT: 1 1 0.50 btcl $7, %edi # CHECK-NEXT: 1 1 0.50 btrl $7, %edi # CHECK-NEXT: 1 1 0.50 btsl $7, %edi # CHECK-NEXT: 1 4 1.00 * btl $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btcl $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btrl $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btsl $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * lock btcl $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * lock btrl $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * lock btsl $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * btcl $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * btrl $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * btsl $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * lock btcl $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * lock btrl $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * lock btsl $7, (%rax) # CHECK-NEXT: 1 1 0.50 btq %rsi, %rdi # CHECK-NEXT: 1 1 0.50 btcq %rsi, %rdi # CHECK-NEXT: 1 1 0.50 btrq %rsi, %rdi # CHECK-NEXT: 1 1 0.50 btsq %rsi, %rdi # CHECK-NEXT: 1 4 1.00 * btq %rsi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btcq %rsi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btrq %rsi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btsq %rsi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * lock btcq %rsi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * lock btrq %rsi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * lock btsq %rsi, (%rax) +# CHECK-NEXT: 1 4 2.00 * * btcq %rsi, (%rax) +# CHECK-NEXT: 1 4 2.00 * * btrq %rsi, (%rax) +# CHECK-NEXT: 1 4 2.00 * * btsq %rsi, (%rax) +# CHECK-NEXT: 1 4 2.00 * * lock btcq %rsi, (%rax) +# CHECK-NEXT: 1 4 2.00 * * lock btrq %rsi, (%rax) +# CHECK-NEXT: 1 4 2.00 * * lock btsq %rsi, (%rax) # CHECK-NEXT: 1 1 0.50 btq $7, %rdi # CHECK-NEXT: 1 1 0.50 btcq $7, %rdi # CHECK-NEXT: 1 1 0.50 btrq $7, %rdi # CHECK-NEXT: 1 1 0.50 btsq $7, %rdi # CHECK-NEXT: 1 4 1.00 * btq $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btcq $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btrq $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btsq $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * lock btcq $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * lock btrq $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * lock btsq $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * btcq $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * btrq $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * btsq $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * lock btcq $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * lock btrq $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * lock btsq $7, (%rax) # CHECK-NEXT: 1 1 0.50 cbtw # CHECK-NEXT: 1 1 0.50 cwtl # CHECK-NEXT: 1 1 0.50 cltq @@ -1306,17 +1306,17 @@ xorq (%rax), %rdi # CHECK-NEXT: 2 4 2.00 * * lock cmpxchgq %rcx, (%rbx) # CHECK-NEXT: 1 100 1.00 U cpuid # CHECK-NEXT: 1 1 0.50 decb %dil -# CHECK-NEXT: 2 5 2.00 * * decb (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock decb (%rax) +# CHECK-NEXT: 1 5 2.00 * * decb (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock decb (%rax) # CHECK-NEXT: 1 1 0.50 decw %di -# CHECK-NEXT: 2 5 2.00 * * decw (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock decw (%rax) +# CHECK-NEXT: 1 5 2.00 * * decw (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock decw (%rax) # CHECK-NEXT: 1 1 0.50 decl %edi -# CHECK-NEXT: 2 5 2.00 * * decl (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock decl (%rax) +# CHECK-NEXT: 1 5 2.00 * * decl (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock decl (%rax) # CHECK-NEXT: 1 1 0.50 decq %rdi -# CHECK-NEXT: 2 5 2.00 * * decq (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock decq (%rax) +# CHECK-NEXT: 1 5 2.00 * * decq (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock decq (%rax) # CHECK-NEXT: 1 25 25.00 U divb %dil # CHECK-NEXT: 1 29 25.00 * U divb (%rax) # CHECK-NEXT: 1 25 25.00 U divw %si @@ -1367,17 +1367,17 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 100 1.00 U inl $7, %eax # CHECK-NEXT: 1 100 1.00 U inl %dx, %eax # CHECK-NEXT: 1 1 0.50 incb %dil -# CHECK-NEXT: 2 5 2.00 * * incb (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock incb (%rax) +# CHECK-NEXT: 1 5 2.00 * * incb (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock incb (%rax) # CHECK-NEXT: 1 1 0.50 incw %di -# CHECK-NEXT: 2 5 2.00 * * incw (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock incw (%rax) +# CHECK-NEXT: 1 5 2.00 * * incw (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock incw (%rax) # CHECK-NEXT: 1 1 0.50 incl %edi -# CHECK-NEXT: 2 5 2.00 * * incl (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock incl (%rax) +# CHECK-NEXT: 1 5 2.00 * * incl (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock incl (%rax) # CHECK-NEXT: 1 1 0.50 incq %rdi -# CHECK-NEXT: 2 5 2.00 * * incq (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock incq (%rax) +# CHECK-NEXT: 1 5 2.00 * * incq (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock incq (%rax) # CHECK-NEXT: 1 100 1.00 U insb %dx, %es:(%rdi) # CHECK-NEXT: 1 100 1.00 U insw %dx, %es:(%rdi) # CHECK-NEXT: 1 100 1.00 U insl %dx, %es:(%rdi) @@ -1425,17 +1425,17 @@ xorq (%rax), %rdi # CHECK-NEXT: 3 7 7.00 mulq %rcx # CHECK-NEXT: 3 10 7.00 * mulq (%rax) # CHECK-NEXT: 1 1 0.50 negb %dil -# CHECK-NEXT: 2 5 2.00 * * negb (%r8) -# CHECK-NEXT: 2 5 2.00 * * lock negb (%r8) +# CHECK-NEXT: 1 5 2.00 * * negb (%r8) +# CHECK-NEXT: 1 5 2.00 * * lock negb (%r8) # CHECK-NEXT: 1 1 0.50 negw %si -# CHECK-NEXT: 2 5 2.00 * * negw (%r9) -# CHECK-NEXT: 2 5 2.00 * * lock negw (%r9) +# CHECK-NEXT: 1 5 2.00 * * negw (%r9) +# CHECK-NEXT: 1 5 2.00 * * lock negw (%r9) # CHECK-NEXT: 1 1 0.50 negl %edx -# CHECK-NEXT: 2 5 2.00 * * negl (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock negl (%rax) +# CHECK-NEXT: 1 5 2.00 * * negl (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock negl (%rax) # CHECK-NEXT: 1 1 0.50 negq %rcx -# CHECK-NEXT: 2 5 2.00 * * negq (%r10) -# CHECK-NEXT: 2 5 2.00 * * lock negq (%r10) +# CHECK-NEXT: 1 5 2.00 * * negq (%r10) +# CHECK-NEXT: 1 5 2.00 * * lock negq (%r10) # CHECK-NEXT: 1 1 0.50 nop # CHECK-NEXT: 1 1 0.50 nopw %di # CHECK-NEXT: 1 1 0.50 nopw (%rcx) @@ -1444,57 +1444,57 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 nopq %rdx # CHECK-NEXT: 1 1 0.50 nopq (%r9) # CHECK-NEXT: 1 1 0.50 notb %dil -# CHECK-NEXT: 2 5 2.00 * * notb (%r8) -# CHECK-NEXT: 2 5 2.00 * * lock notb (%r8) +# CHECK-NEXT: 1 5 2.00 * * notb (%r8) +# CHECK-NEXT: 1 5 2.00 * * lock notb (%r8) # CHECK-NEXT: 1 1 0.50 notw %si -# CHECK-NEXT: 2 5 2.00 * * notw (%r9) -# CHECK-NEXT: 2 5 2.00 * * lock notw (%r9) +# CHECK-NEXT: 1 5 2.00 * * notw (%r9) +# CHECK-NEXT: 1 5 2.00 * * lock notw (%r9) # CHECK-NEXT: 1 1 0.50 notl %edx -# CHECK-NEXT: 2 5 2.00 * * notl (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock notl (%rax) +# CHECK-NEXT: 1 5 2.00 * * notl (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock notl (%rax) # CHECK-NEXT: 1 1 0.50 notq %rcx -# CHECK-NEXT: 2 5 2.00 * * notq (%r10) -# CHECK-NEXT: 2 5 2.00 * * lock notq (%r10) +# CHECK-NEXT: 1 5 2.00 * * notq (%r10) +# CHECK-NEXT: 1 5 2.00 * * lock notq (%r10) # CHECK-NEXT: 1 1 0.50 orb $7, %al # CHECK-NEXT: 1 1 0.50 orb $7, %dil -# CHECK-NEXT: 2 5 2.00 * * orb $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock orb $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * orb $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock orb $7, (%rax) # CHECK-NEXT: 1 1 0.50 orb %sil, %dil -# CHECK-NEXT: 2 5 2.00 * * orb %sil, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock orb %sil, (%rax) +# CHECK-NEXT: 1 5 2.00 * * orb %sil, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock orb %sil, (%rax) # CHECK-NEXT: 1 4 1.00 * orb (%rax), %dil # CHECK-NEXT: 1 1 0.50 orw $511, %ax # CHECK-NEXT: 1 1 0.50 orw $511, %di -# CHECK-NEXT: 2 5 2.00 * * orw $511, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock orw $511, (%rax) +# CHECK-NEXT: 1 5 2.00 * * orw $511, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock orw $511, (%rax) # CHECK-NEXT: 1 1 0.50 orw $7, %di -# CHECK-NEXT: 2 5 2.00 * * orw $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock orw $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * orw $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock orw $7, (%rax) # CHECK-NEXT: 1 1 0.50 orw %si, %di -# CHECK-NEXT: 2 5 2.00 * * orw %si, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock orw %si, (%rax) +# CHECK-NEXT: 1 5 2.00 * * orw %si, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock orw %si, (%rax) # CHECK-NEXT: 1 4 1.00 * orw (%rax), %di # CHECK-NEXT: 1 1 0.50 orl $665536, %eax # CHECK-NEXT: 1 1 0.50 orl $665536, %edi -# CHECK-NEXT: 2 5 2.00 * * orl $665536, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock orl $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * orl $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock orl $665536, (%rax) # CHECK-NEXT: 1 1 0.50 orl $7, %edi -# CHECK-NEXT: 2 5 2.00 * * orl $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock orl $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * orl $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock orl $7, (%rax) # CHECK-NEXT: 1 1 0.50 orl %esi, %edi -# CHECK-NEXT: 2 5 2.00 * * orl %esi, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock orl %esi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * orl %esi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock orl %esi, (%rax) # CHECK-NEXT: 1 4 1.00 * orl (%rax), %edi # CHECK-NEXT: 1 1 0.50 orq $665536, %rax # CHECK-NEXT: 1 1 0.50 orq $665536, %rdi -# CHECK-NEXT: 2 5 2.00 * * orq $665536, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock orq $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * orq $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock orq $665536, (%rax) # CHECK-NEXT: 1 1 0.50 orq $7, %rdi -# CHECK-NEXT: 2 5 2.00 * * orq $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock orq $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * orq $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock orq $7, (%rax) # CHECK-NEXT: 1 1 0.50 orq %rsi, %rdi -# CHECK-NEXT: 2 5 2.00 * * orq %rsi, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock orq %rsi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * orq %rsi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock orq %rsi, (%rax) # CHECK-NEXT: 1 4 1.00 * orq (%rax), %rdi # CHECK-NEXT: 1 100 1.00 U outb %al, $7 # CHECK-NEXT: 1 100 1.00 U outb %al, %dx @@ -1508,233 +1508,233 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 * * U pause # CHECK-NEXT: 1 1 1.00 rclb %dil # CHECK-NEXT: 1 1 1.00 rcrb %dil -# CHECK-NEXT: 2 4 2.00 * rclb (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrb (%rax) +# CHECK-NEXT: 1 4 2.00 * rclb (%rax) +# CHECK-NEXT: 1 4 2.00 * rcrb (%rax) # CHECK-NEXT: 1 1 1.00 rclb $7, %dil # CHECK-NEXT: 1 1 1.00 rcrb $7, %dil -# CHECK-NEXT: 2 4 2.00 * rclb $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrb $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * rclb $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * rcrb $7, (%rax) # CHECK-NEXT: 1 1 1.00 rclb %cl, %dil # CHECK-NEXT: 1 1 1.00 rcrb %cl, %dil -# CHECK-NEXT: 2 4 2.00 * rclb %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrb %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * rclb %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * rcrb %cl, (%rax) # CHECK-NEXT: 1 1 1.00 rclw %di # CHECK-NEXT: 1 1 1.00 rcrw %di -# CHECK-NEXT: 2 4 2.00 * rclw (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrw (%rax) +# CHECK-NEXT: 1 4 2.00 * rclw (%rax) +# CHECK-NEXT: 1 4 2.00 * rcrw (%rax) # CHECK-NEXT: 1 1 1.00 rclw $7, %di # CHECK-NEXT: 1 1 1.00 rcrw $7, %di -# CHECK-NEXT: 2 4 2.00 * rclw $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrw $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * rclw $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * rcrw $7, (%rax) # CHECK-NEXT: 1 1 1.00 rclw %cl, %di # CHECK-NEXT: 1 1 1.00 rcrw %cl, %di -# CHECK-NEXT: 2 4 2.00 * rclw %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrw %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * rclw %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * rcrw %cl, (%rax) # CHECK-NEXT: 1 1 1.00 rcll %edi # CHECK-NEXT: 1 1 1.00 rcrl %edi -# CHECK-NEXT: 2 4 2.00 * rcll (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrl (%rax) +# CHECK-NEXT: 1 4 2.00 * rcll (%rax) +# CHECK-NEXT: 1 4 2.00 * rcrl (%rax) # CHECK-NEXT: 1 1 1.00 rcll $7, %edi # CHECK-NEXT: 1 1 1.00 rcrl $7, %edi -# CHECK-NEXT: 2 4 2.00 * rcll $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrl $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * rcll $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * rcrl $7, (%rax) # CHECK-NEXT: 1 1 1.00 rcll %cl, %edi # CHECK-NEXT: 1 1 1.00 rcrl %cl, %edi -# CHECK-NEXT: 2 4 2.00 * rcll %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrl %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * rcll %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * rcrl %cl, (%rax) # CHECK-NEXT: 1 1 1.00 rclq %rdi # CHECK-NEXT: 1 1 1.00 rcrq %rdi -# CHECK-NEXT: 2 4 2.00 * rclq (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrq (%rax) +# CHECK-NEXT: 1 4 2.00 * rclq (%rax) +# CHECK-NEXT: 1 4 2.00 * rcrq (%rax) # CHECK-NEXT: 1 1 1.00 rclq $7, %rdi # CHECK-NEXT: 1 1 1.00 rcrq $7, %rdi -# CHECK-NEXT: 2 4 2.00 * rclq $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrq $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * rclq $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * rcrq $7, (%rax) # CHECK-NEXT: 1 1 1.00 rclq %cl, %rdi # CHECK-NEXT: 1 1 1.00 rcrq %cl, %rdi -# CHECK-NEXT: 2 4 2.00 * rclq %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrq %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * rclq %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * rcrq %cl, (%rax) # CHECK-NEXT: 1 100 1.00 U rdmsr # CHECK-NEXT: 1 100 1.00 U rdpmc # CHECK-NEXT: 1 100 1.00 U rdtsc # CHECK-NEXT: 1 100 1.00 U rdtscp # CHECK-NEXT: 1 1 1.00 rolb %dil # CHECK-NEXT: 1 1 1.00 rorb %dil -# CHECK-NEXT: 2 4 2.00 * * rolb (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorb (%rax) +# CHECK-NEXT: 1 4 2.00 * * rolb (%rax) +# CHECK-NEXT: 1 4 2.00 * * rorb (%rax) # CHECK-NEXT: 1 1 1.00 rolb $7, %dil # CHECK-NEXT: 1 1 1.00 rorb $7, %dil -# CHECK-NEXT: 2 4 2.00 * * rolb $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorb $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * rolb $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * rorb $7, (%rax) # CHECK-NEXT: 1 1 1.00 rolb %cl, %dil # CHECK-NEXT: 1 1 1.00 rorb %cl, %dil -# CHECK-NEXT: 2 4 2.00 * * rolb %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorb %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * rolb %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * rorb %cl, (%rax) # CHECK-NEXT: 1 1 1.00 rolw %di # CHECK-NEXT: 1 1 1.00 rorw %di -# CHECK-NEXT: 2 4 2.00 * * rolw (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorw (%rax) +# CHECK-NEXT: 1 4 2.00 * * rolw (%rax) +# CHECK-NEXT: 1 4 2.00 * * rorw (%rax) # CHECK-NEXT: 1 1 1.00 rolw $7, %di # CHECK-NEXT: 1 1 1.00 rorw $7, %di -# CHECK-NEXT: 2 4 2.00 * * rolw $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorw $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * rolw $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * rorw $7, (%rax) # CHECK-NEXT: 1 1 1.00 rolw %cl, %di # CHECK-NEXT: 1 1 1.00 rorw %cl, %di -# CHECK-NEXT: 2 4 2.00 * * rolw %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorw %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * rolw %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * rorw %cl, (%rax) # CHECK-NEXT: 1 1 1.00 roll %edi # CHECK-NEXT: 1 1 1.00 rorl %edi -# CHECK-NEXT: 2 4 2.00 * * roll (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorl (%rax) +# CHECK-NEXT: 1 4 2.00 * * roll (%rax) +# CHECK-NEXT: 1 4 2.00 * * rorl (%rax) # CHECK-NEXT: 1 1 1.00 roll $7, %edi # CHECK-NEXT: 1 1 1.00 rorl $7, %edi -# CHECK-NEXT: 2 4 2.00 * * roll $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorl $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * roll $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * rorl $7, (%rax) # CHECK-NEXT: 1 1 1.00 roll %cl, %edi # CHECK-NEXT: 1 1 1.00 rorl %cl, %edi -# CHECK-NEXT: 2 4 2.00 * * roll %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorl %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * roll %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * rorl %cl, (%rax) # CHECK-NEXT: 1 1 1.00 rolq %rdi # CHECK-NEXT: 1 1 1.00 rorq %rdi -# CHECK-NEXT: 2 4 2.00 * * rolq (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorq (%rax) +# CHECK-NEXT: 1 4 2.00 * * rolq (%rax) +# CHECK-NEXT: 1 4 2.00 * * rorq (%rax) # CHECK-NEXT: 1 1 1.00 rolq $7, %rdi # CHECK-NEXT: 1 1 1.00 rorq $7, %rdi -# CHECK-NEXT: 2 4 2.00 * * rolq $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorq $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * rolq $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * rorq $7, (%rax) # CHECK-NEXT: 1 1 1.00 rolq %cl, %rdi # CHECK-NEXT: 1 1 1.00 rorq %cl, %rdi -# CHECK-NEXT: 2 4 2.00 * * rolq %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorq %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * rolq %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * rorq %cl, (%rax) # CHECK-NEXT: 1 1 0.50 sahf # CHECK-NEXT: 1 1 1.00 sarb %dil # CHECK-NEXT: 1 1 1.00 shlb %dil # CHECK-NEXT: 1 1 1.00 shrb %dil -# CHECK-NEXT: 2 4 2.00 * * sarb (%rax) -# CHECK-NEXT: 2 4 2.00 * * shlb (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrb (%rax) +# CHECK-NEXT: 1 4 2.00 * * sarb (%rax) +# CHECK-NEXT: 1 4 2.00 * * shlb (%rax) +# CHECK-NEXT: 1 4 2.00 * * shrb (%rax) # CHECK-NEXT: 1 1 1.00 sarb $7, %dil # CHECK-NEXT: 1 1 1.00 shlb $7, %dil # CHECK-NEXT: 1 1 1.00 shrb $7, %dil -# CHECK-NEXT: 2 4 2.00 * * sarb $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shlb $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrb $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * sarb $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * shlb $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * shrb $7, (%rax) # CHECK-NEXT: 1 1 1.00 sarb %cl, %dil # CHECK-NEXT: 1 1 1.00 shlb %cl, %dil # CHECK-NEXT: 1 1 1.00 shrb %cl, %dil -# CHECK-NEXT: 2 4 2.00 * * sarb %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shlb %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrb %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * sarb %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * shlb %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * shrb %cl, (%rax) # CHECK-NEXT: 1 1 1.00 sarw %di # CHECK-NEXT: 1 1 1.00 shlw %di # CHECK-NEXT: 1 1 1.00 shrw %di -# CHECK-NEXT: 2 4 2.00 * * sarw (%rax) -# CHECK-NEXT: 2 4 2.00 * * shlw (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrw (%rax) +# CHECK-NEXT: 1 4 2.00 * * sarw (%rax) +# CHECK-NEXT: 1 4 2.00 * * shlw (%rax) +# CHECK-NEXT: 1 4 2.00 * * shrw (%rax) # CHECK-NEXT: 1 1 1.00 sarw $7, %di # CHECK-NEXT: 1 1 1.00 shlw $7, %di # CHECK-NEXT: 1 1 1.00 shrw $7, %di -# CHECK-NEXT: 2 4 2.00 * * sarw $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shlw $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrw $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * sarw $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * shlw $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * shrw $7, (%rax) # CHECK-NEXT: 1 1 1.00 sarw %cl, %di # CHECK-NEXT: 1 1 1.00 shlw %cl, %di # CHECK-NEXT: 1 1 1.00 shrw %cl, %di -# CHECK-NEXT: 2 4 2.00 * * sarw %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shlw %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrw %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * sarw %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * shlw %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * shrw %cl, (%rax) # CHECK-NEXT: 1 1 1.00 sarl %edi # CHECK-NEXT: 1 1 1.00 shll %edi # CHECK-NEXT: 1 1 1.00 shrl %edi -# CHECK-NEXT: 2 4 2.00 * * sarl (%rax) -# CHECK-NEXT: 2 4 2.00 * * shll (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrl (%rax) +# CHECK-NEXT: 1 4 2.00 * * sarl (%rax) +# CHECK-NEXT: 1 4 2.00 * * shll (%rax) +# CHECK-NEXT: 1 4 2.00 * * shrl (%rax) # CHECK-NEXT: 1 1 1.00 sarl $7, %edi # CHECK-NEXT: 1 1 1.00 shll $7, %edi # CHECK-NEXT: 1 1 1.00 shrl $7, %edi -# CHECK-NEXT: 2 4 2.00 * * sarl $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shll $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrl $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * sarl $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * shll $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * shrl $7, (%rax) # CHECK-NEXT: 1 1 1.00 sarl %cl, %edi # CHECK-NEXT: 1 1 1.00 shll %cl, %edi # CHECK-NEXT: 1 1 1.00 shrl %cl, %edi -# CHECK-NEXT: 2 4 2.00 * * sarl %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shll %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrl %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * sarl %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * shll %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * shrl %cl, (%rax) # CHECK-NEXT: 1 1 1.00 sarq %rdi # CHECK-NEXT: 1 1 1.00 shlq %rdi # CHECK-NEXT: 1 1 1.00 shrq %rdi -# CHECK-NEXT: 2 4 2.00 * * sarq (%rax) -# CHECK-NEXT: 2 4 2.00 * * shlq (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrq (%rax) +# CHECK-NEXT: 1 4 2.00 * * sarq (%rax) +# CHECK-NEXT: 1 4 2.00 * * shlq (%rax) +# CHECK-NEXT: 1 4 2.00 * * shrq (%rax) # CHECK-NEXT: 1 1 1.00 sarq $7, %rdi # CHECK-NEXT: 1 1 1.00 shlq $7, %rdi # CHECK-NEXT: 1 1 1.00 shrq $7, %rdi -# CHECK-NEXT: 2 4 2.00 * * sarq $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shlq $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrq $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * sarq $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * shlq $7, (%rax) +# CHECK-NEXT: 1 4 2.00 * * shrq $7, (%rax) # CHECK-NEXT: 1 1 1.00 sarq %cl, %rdi # CHECK-NEXT: 1 1 1.00 shlq %cl, %rdi # CHECK-NEXT: 1 1 1.00 shrq %cl, %rdi -# CHECK-NEXT: 2 4 2.00 * * sarq %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shlq %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrq %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * sarq %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * shlq %cl, (%rax) +# CHECK-NEXT: 1 4 2.00 * * shrq %cl, (%rax) # CHECK-NEXT: 1 1 0.50 sbbb $0, %al # CHECK-NEXT: 1 1 0.50 sbbb $0, %dil -# CHECK-NEXT: 2 5 2.00 * * sbbb $0, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock sbbb $0, (%rax) +# CHECK-NEXT: 1 5 2.00 * * sbbb $0, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock sbbb $0, (%rax) # CHECK-NEXT: 1 1 0.50 sbbb $7, %al # CHECK-NEXT: 1 1 0.50 sbbb $7, %dil -# CHECK-NEXT: 2 5 2.00 * * sbbb $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock sbbb $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * sbbb $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock sbbb $7, (%rax) # CHECK-NEXT: 1 1 0.50 sbbb %sil, %dil -# CHECK-NEXT: 2 5 2.00 * * sbbb %sil, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock sbbb %sil, (%rax) +# CHECK-NEXT: 1 5 2.00 * * sbbb %sil, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock sbbb %sil, (%rax) # CHECK-NEXT: 1 4 1.00 * sbbb (%rax), %dil # CHECK-NEXT: 1 1 0.50 sbbw $0, %ax # CHECK-NEXT: 1 1 0.50 sbbw $0, %di -# CHECK-NEXT: 2 5 2.00 * * sbbw $0, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock sbbw $0, (%rax) +# CHECK-NEXT: 1 5 2.00 * * sbbw $0, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock sbbw $0, (%rax) # CHECK-NEXT: 1 1 0.50 sbbw $511, %ax # CHECK-NEXT: 1 1 0.50 sbbw $511, %di -# CHECK-NEXT: 2 5 2.00 * * sbbw $511, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock sbbw $511, (%rax) +# CHECK-NEXT: 1 5 2.00 * * sbbw $511, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock sbbw $511, (%rax) # CHECK-NEXT: 1 1 0.50 sbbw $7, %di -# CHECK-NEXT: 2 5 2.00 * * sbbw $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock sbbw $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * sbbw $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock sbbw $7, (%rax) # CHECK-NEXT: 1 1 0.50 sbbw %si, %di -# CHECK-NEXT: 2 5 2.00 * * sbbw %si, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock sbbw %si, (%rax) +# CHECK-NEXT: 1 5 2.00 * * sbbw %si, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock sbbw %si, (%rax) # CHECK-NEXT: 1 4 1.00 * sbbw (%rax), %di # CHECK-NEXT: 1 1 0.50 sbbl $0, %eax # CHECK-NEXT: 1 1 0.50 sbbl $0, %edi -# CHECK-NEXT: 2 5 2.00 * * sbbl $0, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock sbbl $0, (%rax) +# CHECK-NEXT: 1 5 2.00 * * sbbl $0, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock sbbl $0, (%rax) # CHECK-NEXT: 1 1 0.50 sbbl $665536, %eax # CHECK-NEXT: 1 1 0.50 sbbl $665536, %edi -# CHECK-NEXT: 2 5 2.00 * * sbbl $665536, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock sbbl $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * sbbl $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock sbbl $665536, (%rax) # CHECK-NEXT: 1 1 0.50 sbbl $7, %edi -# CHECK-NEXT: 2 5 2.00 * * sbbl $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock sbbl $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * sbbl $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock sbbl $7, (%rax) # CHECK-NEXT: 1 1 0.50 sbbl %esi, %edi -# CHECK-NEXT: 2 5 2.00 * * sbbl %esi, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock sbbl %esi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * sbbl %esi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock sbbl %esi, (%rax) # CHECK-NEXT: 1 4 1.00 * sbbl (%rax), %edi # CHECK-NEXT: 1 1 0.50 sbbq $0, %rax # CHECK-NEXT: 1 1 0.50 sbbq $0, %rdi -# CHECK-NEXT: 2 5 2.00 * * sbbq $0, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock sbbq $0, (%rax) +# CHECK-NEXT: 1 5 2.00 * * sbbq $0, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock sbbq $0, (%rax) # CHECK-NEXT: 1 1 0.50 sbbq $665536, %rax # CHECK-NEXT: 1 1 0.50 sbbq $665536, %rdi -# CHECK-NEXT: 2 5 2.00 * * sbbq $665536, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock sbbq $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * sbbq $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock sbbq $665536, (%rax) # CHECK-NEXT: 1 1 0.50 sbbq $7, %rdi -# CHECK-NEXT: 2 5 2.00 * * sbbq $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock sbbq $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * sbbq $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock sbbq $7, (%rax) # CHECK-NEXT: 1 1 0.50 sbbq %rsi, %rdi -# CHECK-NEXT: 2 5 2.00 * * sbbq %rsi, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock sbbq %rsi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * sbbq %rsi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock sbbq %rsi, (%rax) # CHECK-NEXT: 1 4 1.00 * sbbq (%rax), %rdi # CHECK-NEXT: 1 100 1.00 U scasb %es:(%rdi), %al # CHECK-NEXT: 1 100 1.00 U scasw %es:(%rdi), %ax @@ -1804,44 +1804,44 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 100 1.00 U stosq %rax, %es:(%rdi) # CHECK-NEXT: 1 1 0.50 subb $7, %al # CHECK-NEXT: 1 1 0.50 subb $7, %dil -# CHECK-NEXT: 2 5 2.00 * * subb $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock subb $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * subb $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock subb $7, (%rax) # CHECK-NEXT: 1 1 0.50 subb %sil, %dil -# CHECK-NEXT: 2 5 2.00 * * subb %sil, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock subb %sil, (%rax) +# CHECK-NEXT: 1 5 2.00 * * subb %sil, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock subb %sil, (%rax) # CHECK-NEXT: 1 4 1.00 * subb (%rax), %dil # CHECK-NEXT: 1 1 0.50 subw $511, %ax # CHECK-NEXT: 1 1 0.50 subw $511, %di -# CHECK-NEXT: 2 5 2.00 * * subw $511, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock subw $511, (%rax) +# CHECK-NEXT: 1 5 2.00 * * subw $511, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock subw $511, (%rax) # CHECK-NEXT: 1 1 0.50 subw $7, %di -# CHECK-NEXT: 2 5 2.00 * * subw $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock subw $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * subw $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock subw $7, (%rax) # CHECK-NEXT: 1 1 0.50 subw %si, %di -# CHECK-NEXT: 2 5 2.00 * * subw %si, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock subw %si, (%rax) +# CHECK-NEXT: 1 5 2.00 * * subw %si, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock subw %si, (%rax) # CHECK-NEXT: 1 4 1.00 * subw (%rax), %di # CHECK-NEXT: 1 1 0.50 subl $665536, %eax # CHECK-NEXT: 1 1 0.50 subl $665536, %edi -# CHECK-NEXT: 2 5 2.00 * * subl $665536, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock subl $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * subl $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock subl $665536, (%rax) # CHECK-NEXT: 1 1 0.50 subl $7, %edi -# CHECK-NEXT: 2 5 2.00 * * subl $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock subl $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * subl $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock subl $7, (%rax) # CHECK-NEXT: 1 1 0.50 subl %esi, %edi -# CHECK-NEXT: 2 5 2.00 * * subl %esi, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock subl %esi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * subl %esi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock subl %esi, (%rax) # CHECK-NEXT: 1 4 1.00 * subl (%rax), %edi # CHECK-NEXT: 1 1 0.50 subq $665536, %rax # CHECK-NEXT: 1 1 0.50 subq $665536, %rdi -# CHECK-NEXT: 2 5 2.00 * * subq $665536, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock subq $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * subq $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock subq $665536, (%rax) # CHECK-NEXT: 1 1 0.50 subq $7, %rdi -# CHECK-NEXT: 2 5 2.00 * * subq $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock subq $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * subq $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock subq $7, (%rax) # CHECK-NEXT: 1 1 0.50 subq %rsi, %rdi -# CHECK-NEXT: 2 5 2.00 * * subq %rsi, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock subq %rsi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * subq %rsi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock subq %rsi, (%rax) # CHECK-NEXT: 1 4 1.00 * subq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 testb $7, %al # CHECK-NEXT: 1 1 0.50 testb $7, %dil @@ -1872,73 +1872,73 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 100 1.00 * U ud2 # CHECK-NEXT: 1 100 1.00 U wrmsr # CHECK-NEXT: 1 1 0.50 xaddb %bl, %cl -# CHECK-NEXT: 2 4 2.00 * * xaddb %bl, (%rcx) -# CHECK-NEXT: 2 4 2.00 * * lock xaddb %bl, (%rcx) +# CHECK-NEXT: 1 4 2.00 * * xaddb %bl, (%rcx) +# CHECK-NEXT: 1 4 2.00 * * lock xaddb %bl, (%rcx) # CHECK-NEXT: 1 1 0.50 xaddw %bx, %cx -# CHECK-NEXT: 2 4 2.00 * * xaddw %ax, (%rbx) -# CHECK-NEXT: 2 4 2.00 * * lock xaddw %ax, (%rbx) +# CHECK-NEXT: 1 4 2.00 * * xaddw %ax, (%rbx) +# CHECK-NEXT: 1 4 2.00 * * lock xaddw %ax, (%rbx) # CHECK-NEXT: 1 1 0.50 xaddl %ebx, %ecx -# CHECK-NEXT: 2 4 2.00 * * xaddl %eax, (%rbx) -# CHECK-NEXT: 2 4 2.00 * * lock xaddl %eax, (%rbx) +# CHECK-NEXT: 1 4 2.00 * * xaddl %eax, (%rbx) +# CHECK-NEXT: 1 4 2.00 * * lock xaddl %eax, (%rbx) # CHECK-NEXT: 1 1 0.50 xaddq %rbx, %rcx -# CHECK-NEXT: 2 4 2.00 * * xaddq %rax, (%rbx) -# CHECK-NEXT: 2 4 2.00 * * lock xaddq %rax, (%rbx) +# CHECK-NEXT: 1 4 2.00 * * xaddq %rax, (%rbx) +# CHECK-NEXT: 1 4 2.00 * * lock xaddq %rax, (%rbx) # CHECK-NEXT: 1 1 0.50 xchgb %bl, %cl -# CHECK-NEXT: 2 4 2.00 * * xchgb %bl, (%rbx) -# CHECK-NEXT: 2 4 2.00 * * lock xchgb %bl, (%rbx) +# CHECK-NEXT: 1 4 2.00 * * xchgb %bl, (%rbx) +# CHECK-NEXT: 1 4 2.00 * * lock xchgb %bl, (%rbx) # CHECK-NEXT: 1 1 0.50 xchgw %bx, %ax # CHECK-NEXT: 1 1 0.50 xchgw %bx, %cx -# CHECK-NEXT: 2 4 2.00 * * xchgw %ax, (%rbx) -# CHECK-NEXT: 2 4 2.00 * * lock xchgw %ax, (%rbx) +# CHECK-NEXT: 1 4 2.00 * * xchgw %ax, (%rbx) +# CHECK-NEXT: 1 4 2.00 * * lock xchgw %ax, (%rbx) # CHECK-NEXT: 1 1 0.50 xchgl %ebx, %eax # CHECK-NEXT: 1 1 0.50 xchgl %ebx, %ecx -# CHECK-NEXT: 2 4 2.00 * * xchgl %eax, (%rbx) -# CHECK-NEXT: 2 4 2.00 * * lock xchgl %eax, (%rbx) +# CHECK-NEXT: 1 4 2.00 * * xchgl %eax, (%rbx) +# CHECK-NEXT: 1 4 2.00 * * lock xchgl %eax, (%rbx) # CHECK-NEXT: 1 1 0.50 xchgq %rbx, %rax # CHECK-NEXT: 1 1 0.50 xchgq %rbx, %rcx -# CHECK-NEXT: 2 4 2.00 * * xchgq %rax, (%rbx) -# CHECK-NEXT: 2 4 2.00 * * lock xchgq %rax, (%rbx) +# CHECK-NEXT: 1 4 2.00 * * xchgq %rax, (%rbx) +# CHECK-NEXT: 1 4 2.00 * * lock xchgq %rax, (%rbx) # CHECK-NEXT: 1 3 1.00 * xlatb # CHECK-NEXT: 1 1 0.50 xorb $7, %al # CHECK-NEXT: 1 1 0.50 xorb $7, %dil -# CHECK-NEXT: 2 5 2.00 * * xorb $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock xorb $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * xorb $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock xorb $7, (%rax) # CHECK-NEXT: 1 1 0.50 xorb %sil, %dil -# CHECK-NEXT: 2 5 2.00 * * xorb %sil, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock xorb %sil, (%rax) +# CHECK-NEXT: 1 5 2.00 * * xorb %sil, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock xorb %sil, (%rax) # CHECK-NEXT: 1 4 1.00 * xorb (%rax), %dil # CHECK-NEXT: 1 1 0.50 xorw $511, %ax # CHECK-NEXT: 1 1 0.50 xorw $511, %di -# CHECK-NEXT: 2 5 2.00 * * xorw $511, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock xorw $511, (%rax) +# CHECK-NEXT: 1 5 2.00 * * xorw $511, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock xorw $511, (%rax) # CHECK-NEXT: 1 1 0.50 xorw $7, %di -# CHECK-NEXT: 2 5 2.00 * * xorw $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock xorw $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * xorw $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock xorw $7, (%rax) # CHECK-NEXT: 1 1 0.50 xorw %si, %di -# CHECK-NEXT: 2 5 2.00 * * xorw %si, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock xorw %si, (%rax) +# CHECK-NEXT: 1 5 2.00 * * xorw %si, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock xorw %si, (%rax) # CHECK-NEXT: 1 4 1.00 * xorw (%rax), %di # CHECK-NEXT: 1 1 0.50 xorl $665536, %eax # CHECK-NEXT: 1 1 0.50 xorl $665536, %edi -# CHECK-NEXT: 2 5 2.00 * * xorl $665536, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock xorl $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * xorl $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock xorl $665536, (%rax) # CHECK-NEXT: 1 1 0.50 xorl $7, %edi -# CHECK-NEXT: 2 5 2.00 * * xorl $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock xorl $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * xorl $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock xorl $7, (%rax) # CHECK-NEXT: 1 1 0.50 xorl %esi, %edi -# CHECK-NEXT: 2 5 2.00 * * xorl %esi, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock xorl %esi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * xorl %esi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock xorl %esi, (%rax) # CHECK-NEXT: 1 4 1.00 * xorl (%rax), %edi # CHECK-NEXT: 1 1 0.50 xorq $665536, %rax # CHECK-NEXT: 1 1 0.50 xorq $665536, %rdi -# CHECK-NEXT: 2 5 2.00 * * xorq $665536, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock xorq $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * xorq $665536, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock xorq $665536, (%rax) # CHECK-NEXT: 1 1 0.50 xorq $7, %rdi -# CHECK-NEXT: 2 5 2.00 * * xorq $7, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock xorq $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * xorq $7, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock xorq $7, (%rax) # CHECK-NEXT: 1 1 0.50 xorq %rsi, %rdi -# CHECK-NEXT: 2 5 2.00 * * xorq %rsi, (%rax) -# CHECK-NEXT: 2 5 2.00 * * lock xorq %rsi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * xorq %rsi, (%rax) +# CHECK-NEXT: 1 5 2.00 * * lock xorq %rsi, (%rax) # CHECK-NEXT: 1 4 1.00 * xorq (%rax), %rdi # CHECK: Resources: -- 2.7.4