[llvm-mca][x86] Add div/idiv, mul/imul and inc/dec/neg/nop instruction tests

llvm-svn: 331765
This commit is contained in:
Simon Pilgrim 2018-05-08 13:30:58 +00:00
parent e6effb199c
commit 4283924e08
9 changed files with 2295 additions and 9 deletions

View File

@ -120,6 +120,98 @@ btcq $7, (%rax)
btrq $7, (%rax)
btsq $7, (%rax)
decb %dil
decb (%rax)
decw %di
decw (%rax)
decl %edi
decl (%rax)
decq %rdi
decq (%rax)
divb %dil
divb (%rax)
divw %si
divw (%rax)
divl %edx
divl (%rax)
divq %rcx
divq (%rax)
idivb %dil
idivb (%rax)
idivw %si
idivw (%rax)
idivl %edx
idivl (%rax)
idivq %rcx
idivq (%rax)
imulb %dil
imulb (%rax)
imulw %di
imulw (%rax)
imulw %di, %di
imulw (%rax), %di
imulw $511, %di, %di
imulw $511, (%rax), %di
imulw $7, %di, %di
imulw $7, (%rax), %di
imull %edi
imull (%rax)
imull %edi, %edi
imull (%rax), %edi
imull $665536, %edi, %edi
imull $665536, (%rax), %edi
imull $7, %edi, %edi
imull $7, (%rax), %edi
imulq %rdi
imulq (%rax)
imulq %rdi, %rdi
imulq (%rax), %rdi
imulq $665536, %rdi, %rdi
imulq $665536, (%rax), %rdi
imulq $7, %rdi, %rdi
imulq $7, (%rax), %rdi
incb %dil
incb (%rax)
incw %di
incw (%rax)
incl %edi
incl (%rax)
incq %rdi
incq (%rax)
mulb %dil
mulb (%rax)
mulw %si
mulw (%rax)
mull %edx
mull (%rax)
mulq %rcx
mulq (%rax)
negb %dil
negb (%r8)
negw %si
negw (%r9)
negl %edx
negl (%rax)
negq %rcx
negq (%r10)
nop
nopw %di
nopw (%rcx)
nopl %esi
nopl (%r8)
nopq %rdx
nopq (%r9)
rclb %dil
rcrb %dil
rclb (%rax)
@ -512,6 +604,87 @@ subq (%rax), %rdi
# CHECK-NEXT: 1 2 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 1 2 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 1 2 1.00 * * btsq $7, (%rax)
# CHECK-NEXT: 1 1 0.50 decb %dil
# CHECK-NEXT: 1 1 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.50 decw %di
# CHECK-NEXT: 1 1 1.00 * * decw (%rax)
# CHECK-NEXT: 1 1 0.50 decl %edi
# CHECK-NEXT: 1 1 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.50 decq %rdi
# CHECK-NEXT: 1 1 1.00 * * decq (%rax)
# CHECK-NEXT: 1 50 25.00 * divb %dil
# CHECK-NEXT: 1 68 34.00 * * divb (%rax)
# CHECK-NEXT: 1 50 25.00 * divw %si
# CHECK-NEXT: 1 50 25.00 * * divw (%rax)
# CHECK-NEXT: 1 50 25.00 * divl %edx
# CHECK-NEXT: 1 50 25.00 * * divl (%rax)
# CHECK-NEXT: 1 130 65.00 * divq %rcx
# CHECK-NEXT: 1 130 65.00 * * divq (%rax)
# CHECK-NEXT: 1 62 31.00 * idivb %dil
# CHECK-NEXT: 1 62 31.00 * * idivb (%rax)
# CHECK-NEXT: 1 62 31.00 * idivw %si
# CHECK-NEXT: 1 62 31.00 * * idivw (%rax)
# CHECK-NEXT: 1 62 31.00 * idivl %edx
# CHECK-NEXT: 1 62 31.00 * * idivl (%rax)
# CHECK-NEXT: 1 130 65.00 * idivq %rcx
# CHECK-NEXT: 1 130 65.00 * * idivq (%rax)
# CHECK-NEXT: 1 7 3.50 imulb %dil
# CHECK-NEXT: 1 7 3.50 * imulb (%rax)
# CHECK-NEXT: 1 7 3.50 imulw %di
# CHECK-NEXT: 1 8 4.00 * imulw (%rax)
# CHECK-NEXT: 1 6 3.00 imulw %di, %di
# CHECK-NEXT: 1 7 3.50 * imulw (%rax), %di
# CHECK-NEXT: 1 6 3.00 imulw $511, %di, %di
# CHECK-NEXT: 1 7 3.50 * imulw $511, (%rax), %di
# CHECK-NEXT: 1 6 3.00 imulw $7, %di, %di
# CHECK-NEXT: 1 7 3.50 * imulw $7, (%rax), %di
# CHECK-NEXT: 1 6 3.00 imull %edi
# CHECK-NEXT: 1 7 3.50 * imull (%rax)
# CHECK-NEXT: 1 5 5.00 imull %edi, %edi
# CHECK-NEXT: 1 5 5.00 * imull (%rax), %edi
# CHECK-NEXT: 1 5 5.00 imull $665536, %edi, %edi
# CHECK-NEXT: 1 5 5.00 * imull $665536, (%rax), %edi
# CHECK-NEXT: 1 5 5.00 imull $7, %edi, %edi
# CHECK-NEXT: 1 5 5.00 * imull $7, (%rax), %edi
# CHECK-NEXT: 1 12 6.00 imulq %rdi
# CHECK-NEXT: 1 12 6.00 * imulq (%rax)
# CHECK-NEXT: 1 12 6.00 imulq %rdi, %rdi
# CHECK-NEXT: 1 12 6.00 * imulq (%rax), %rdi
# CHECK-NEXT: 1 14 7.00 imulq $665536, %rdi, %rdi
# CHECK-NEXT: 1 14 7.00 * imulq $665536, (%rax), %rdi
# CHECK-NEXT: 1 14 7.00 imulq $7, %rdi, %rdi
# CHECK-NEXT: 1 14 7.00 * imulq $7, (%rax), %rdi
# CHECK-NEXT: 1 1 0.50 incb %dil
# CHECK-NEXT: 1 1 1.00 * * incb (%rax)
# CHECK-NEXT: 1 1 0.50 incw %di
# CHECK-NEXT: 1 1 1.00 * * incw (%rax)
# CHECK-NEXT: 1 1 0.50 incl %edi
# CHECK-NEXT: 1 1 1.00 * * incl (%rax)
# CHECK-NEXT: 1 1 0.50 incq %rdi
# CHECK-NEXT: 1 1 1.00 * * incq (%rax)
# CHECK-NEXT: 1 7 3.50 mulb %dil
# CHECK-NEXT: 1 7 3.50 * mulb (%rax)
# CHECK-NEXT: 1 7 3.50 mulw %si
# CHECK-NEXT: 1 8 4.00 * mulw (%rax)
# CHECK-NEXT: 1 6 3.00 mull %edx
# CHECK-NEXT: 1 7 3.50 * mull (%rax)
# CHECK-NEXT: 1 12 6.00 mulq %rcx
# CHECK-NEXT: 1 12 6.00 * mulq (%rax)
# CHECK-NEXT: 1 1 0.50 negb %dil
# CHECK-NEXT: 1 1 1.00 * * negb (%r8)
# CHECK-NEXT: 1 1 0.50 negw %si
# CHECK-NEXT: 1 1 1.00 * * negw (%r9)
# CHECK-NEXT: 1 1 0.50 negl %edx
# CHECK-NEXT: 1 1 1.00 * * negl (%rax)
# CHECK-NEXT: 1 1 0.50 negq %rcx
# CHECK-NEXT: 1 1 1.00 * * 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)
# CHECK-NEXT: 1 1 0.50 nopl %esi
# CHECK-NEXT: 1 1 0.50 nopl (%r8)
# CHECK-NEXT: 1 1 0.50 nopq %rdx
# CHECK-NEXT: 1 1 0.50 nopq (%r9)
# CHECK-NEXT: 1 1 1.00 rclb %dil
# CHECK-NEXT: 1 1 1.00 rcrb %dil
# CHECK-NEXT: 1 1 1.00 * rclb (%rax)
@ -771,7 +944,7 @@ subq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1]
# CHECK-NEXT: 402.50 198.50
# CHECK-NEXT: 1184.50 938.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] Instructions:
@ -883,6 +1056,87 @@ subq (%rax), %rdi
# CHECK-NEXT: 1.00 1.00 btcq $7, (%rax)
# CHECK-NEXT: 1.00 1.00 btrq $7, (%rax)
# CHECK-NEXT: 1.00 1.00 btsq $7, (%rax)
# CHECK-NEXT: 0.50 0.50 decb %dil
# CHECK-NEXT: 1.00 - decb (%rax)
# CHECK-NEXT: 0.50 0.50 decw %di
# CHECK-NEXT: 1.00 - decw (%rax)
# CHECK-NEXT: 0.50 0.50 decl %edi
# CHECK-NEXT: 1.00 - decl (%rax)
# CHECK-NEXT: 0.50 0.50 decq %rdi
# CHECK-NEXT: 1.00 - decq (%rax)
# CHECK-NEXT: 25.00 25.00 divb %dil
# CHECK-NEXT: 34.00 34.00 divb (%rax)
# CHECK-NEXT: 25.00 25.00 divw %si
# CHECK-NEXT: 25.00 25.00 divw (%rax)
# CHECK-NEXT: 25.00 25.00 divl %edx
# CHECK-NEXT: 25.00 25.00 divl (%rax)
# CHECK-NEXT: 65.00 65.00 divq %rcx
# CHECK-NEXT: 65.00 65.00 divq (%rax)
# CHECK-NEXT: 31.00 31.00 idivb %dil
# CHECK-NEXT: 31.00 31.00 idivb (%rax)
# CHECK-NEXT: 31.00 31.00 idivw %si
# CHECK-NEXT: 31.00 31.00 idivw (%rax)
# CHECK-NEXT: 31.00 31.00 idivl %edx
# CHECK-NEXT: 31.00 31.00 idivl (%rax)
# CHECK-NEXT: 65.00 65.00 idivq %rcx
# CHECK-NEXT: 65.00 65.00 idivq (%rax)
# CHECK-NEXT: 3.50 3.50 imulb %dil
# CHECK-NEXT: 3.50 3.50 imulb (%rax)
# CHECK-NEXT: 3.50 3.50 imulw %di
# CHECK-NEXT: 4.00 4.00 imulw (%rax)
# CHECK-NEXT: 3.00 3.00 imulw %di, %di
# CHECK-NEXT: 3.50 3.50 imulw (%rax), %di
# CHECK-NEXT: 3.00 3.00 imulw $511, %di, %di
# CHECK-NEXT: 3.50 3.50 imulw $511, (%rax), %di
# CHECK-NEXT: 3.00 3.00 imulw $7, %di, %di
# CHECK-NEXT: 3.50 3.50 imulw $7, (%rax), %di
# CHECK-NEXT: 3.00 3.00 imull %edi
# CHECK-NEXT: 3.50 3.50 imull (%rax)
# CHECK-NEXT: 5.00 - imull %edi, %edi
# CHECK-NEXT: 5.00 - imull (%rax), %edi
# CHECK-NEXT: 5.00 - imull $665536, %edi, %edi
# CHECK-NEXT: 5.00 - imull $665536, (%rax), %edi
# CHECK-NEXT: 5.00 - imull $7, %edi, %edi
# CHECK-NEXT: 5.00 - imull $7, (%rax), %edi
# CHECK-NEXT: 6.00 6.00 imulq %rdi
# CHECK-NEXT: 6.00 6.00 imulq (%rax)
# CHECK-NEXT: 6.00 6.00 imulq %rdi, %rdi
# CHECK-NEXT: 6.00 6.00 imulq (%rax), %rdi
# CHECK-NEXT: 7.00 7.00 imulq $665536, %rdi, %rdi
# CHECK-NEXT: 7.00 7.00 imulq $665536, (%rax), %rdi
# CHECK-NEXT: 7.00 7.00 imulq $7, %rdi, %rdi
# CHECK-NEXT: 7.00 7.00 imulq $7, (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 incb %dil
# CHECK-NEXT: 1.00 - incb (%rax)
# CHECK-NEXT: 0.50 0.50 incw %di
# CHECK-NEXT: 1.00 - incw (%rax)
# CHECK-NEXT: 0.50 0.50 incl %edi
# CHECK-NEXT: 1.00 - incl (%rax)
# CHECK-NEXT: 0.50 0.50 incq %rdi
# CHECK-NEXT: 1.00 - incq (%rax)
# CHECK-NEXT: 3.50 3.50 mulb %dil
# CHECK-NEXT: 3.50 3.50 mulb (%rax)
# CHECK-NEXT: 3.50 3.50 mulw %si
# CHECK-NEXT: 4.00 4.00 mulw (%rax)
# CHECK-NEXT: 3.00 3.00 mull %edx
# CHECK-NEXT: 3.50 3.50 mull (%rax)
# CHECK-NEXT: 6.00 6.00 mulq %rcx
# CHECK-NEXT: 6.00 6.00 mulq (%rax)
# CHECK-NEXT: 0.50 0.50 negb %dil
# CHECK-NEXT: 1.00 - negb (%r8)
# CHECK-NEXT: 0.50 0.50 negw %si
# CHECK-NEXT: 1.00 - negw (%r9)
# CHECK-NEXT: 0.50 0.50 negl %edx
# CHECK-NEXT: 1.00 - negl (%rax)
# CHECK-NEXT: 0.50 0.50 negq %rcx
# CHECK-NEXT: 1.00 - negq (%r10)
# CHECK-NEXT: 0.50 0.50 nop
# CHECK-NEXT: 0.50 0.50 nopw %di
# CHECK-NEXT: 0.50 0.50 nopw (%rcx)
# CHECK-NEXT: 0.50 0.50 nopl %esi
# CHECK-NEXT: 0.50 0.50 nopl (%r8)
# CHECK-NEXT: 0.50 0.50 nopq %rdx
# CHECK-NEXT: 0.50 0.50 nopq (%r9)
# CHECK-NEXT: 1.00 - rclb %dil
# CHECK-NEXT: 1.00 - rcrb %dil
# CHECK-NEXT: 1.00 - rclb (%rax)

View File

@ -120,6 +120,98 @@ btcq $7, (%rax)
btrq $7, (%rax)
btsq $7, (%rax)
decb %dil
decb (%rax)
decw %di
decw (%rax)
decl %edi
decl (%rax)
decq %rdi
decq (%rax)
divb %dil
divb (%rax)
divw %si
divw (%rax)
divl %edx
divl (%rax)
divq %rcx
divq (%rax)
idivb %dil
idivb (%rax)
idivw %si
idivw (%rax)
idivl %edx
idivl (%rax)
idivq %rcx
idivq (%rax)
imulb %dil
imulb (%rax)
imulw %di
imulw (%rax)
imulw %di, %di
imulw (%rax), %di
imulw $511, %di, %di
imulw $511, (%rax), %di
imulw $7, %di, %di
imulw $7, (%rax), %di
imull %edi
imull (%rax)
imull %edi, %edi
imull (%rax), %edi
imull $665536, %edi, %edi
imull $665536, (%rax), %edi
imull $7, %edi, %edi
imull $7, (%rax), %edi
imulq %rdi
imulq (%rax)
imulq %rdi, %rdi
imulq (%rax), %rdi
imulq $665536, %rdi, %rdi
imulq $665536, (%rax), %rdi
imulq $7, %rdi, %rdi
imulq $7, (%rax), %rdi
incb %dil
incb (%rax)
incw %di
incw (%rax)
incl %edi
incl (%rax)
incq %rdi
incq (%rax)
mulb %dil
mulb (%rax)
mulw %si
mulw (%rax)
mull %edx
mull (%rax)
mulq %rcx
mulq (%rax)
negb %dil
negb (%r8)
negw %si
negw (%r9)
negl %edx
negl (%rax)
negq %rcx
negq (%r10)
nop
nopw %di
nopw (%rcx)
nopl %esi
nopl (%r8)
nopq %rdx
nopq (%r9)
rclb %dil
rcrb %dil
rclb (%rax)
@ -512,6 +604,87 @@ subq (%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: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
# CHECK-NEXT: 3 7 1.00 * * decw (%rax)
# CHECK-NEXT: 1 1 0.25 decl %edi
# CHECK-NEXT: 3 7 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.25 decq %rdi
# CHECK-NEXT: 3 7 1.00 * * decq (%rax)
# CHECK-NEXT: 1 25 10.00 * divb %dil
# CHECK-NEXT: 8 34 2.00 * * divb (%rax)
# CHECK-NEXT: 32 80 8.00 * divw %si
# CHECK-NEXT: 8 34 2.00 * * divw (%rax)
# CHECK-NEXT: 32 80 8.00 * divl %edx
# CHECK-NEXT: 8 34 2.00 * * divl (%rax)
# CHECK-NEXT: 32 80 8.00 * divq %rcx
# CHECK-NEXT: 8 34 2.00 * * divq (%rax)
# CHECK-NEXT: 1 25 10.00 * idivb %dil
# CHECK-NEXT: 8 35 2.00 * * idivb (%rax)
# CHECK-NEXT: 1 25 10.00 * idivw %si
# CHECK-NEXT: 8 35 2.00 * * idivw (%rax)
# CHECK-NEXT: 1 25 10.00 * idivl %edx
# CHECK-NEXT: 8 35 2.00 * * idivl (%rax)
# CHECK-NEXT: 1 25 10.00 * idivq %rcx
# CHECK-NEXT: 8 35 2.00 * * idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 4 4 1.00 imulw %di
# CHECK-NEXT: 5 9 1.00 * imulw (%rax)
# CHECK-NEXT: 1 3 1.00 imulw %di, %di
# CHECK-NEXT: 2 8 1.00 * imulw (%rax), %di
# CHECK-NEXT: 2 4 1.00 imulw $511, %di, %di
# CHECK-NEXT: 3 8 1.00 * imulw $511, (%rax), %di
# CHECK-NEXT: 2 4 1.00 imulw $7, %di, %di
# CHECK-NEXT: 3 8 1.00 * imulw $7, (%rax), %di
# CHECK-NEXT: 3 4 1.00 imull %edi
# CHECK-NEXT: 4 9 1.00 * imull (%rax)
# CHECK-NEXT: 1 3 1.00 imull %edi, %edi
# CHECK-NEXT: 2 8 1.00 * imull (%rax), %edi
# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi
# CHECK-NEXT: 2 8 1.00 * imull $665536, (%rax), %edi
# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi
# CHECK-NEXT: 2 8 1.00 * imull $7, (%rax), %edi
# CHECK-NEXT: 2 4 1.00 imulq %rdi
# CHECK-NEXT: 3 9 1.00 * imulq (%rax)
# CHECK-NEXT: 1 3 1.00 imulq %rdi, %rdi
# CHECK-NEXT: 2 8 1.00 * imulq (%rax), %rdi
# CHECK-NEXT: 1 3 1.00 imulq $665536, %rdi, %rdi
# CHECK-NEXT: 2 8 1.00 * imulq $665536, (%rax), %rdi
# CHECK-NEXT: 1 3 1.00 imulq $7, %rdi, %rdi
# CHECK-NEXT: 2 8 1.00 * imulq $7, (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 incb %dil
# CHECK-NEXT: 3 7 1.00 * * incb (%rax)
# CHECK-NEXT: 1 1 0.25 incw %di
# CHECK-NEXT: 3 7 1.00 * * incw (%rax)
# CHECK-NEXT: 1 1 0.25 incl %edi
# CHECK-NEXT: 3 7 1.00 * * incl (%rax)
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
# CHECK-NEXT: 1 3 1.00 mulb %dil
# CHECK-NEXT: 2 8 1.00 * mulb (%rax)
# CHECK-NEXT: 4 4 1.00 mulw %si
# CHECK-NEXT: 5 9 1.00 * mulw (%rax)
# CHECK-NEXT: 3 4 1.00 mull %edx
# CHECK-NEXT: 4 9 1.00 * mull (%rax)
# CHECK-NEXT: 2 4 1.00 mulq %rcx
# 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: 1 1 0.25 negw %si
# CHECK-NEXT: 3 7 1.00 * * negw (%r9)
# CHECK-NEXT: 1 1 0.25 negl %edx
# CHECK-NEXT: 3 7 1.00 * * negl (%rax)
# CHECK-NEXT: 1 1 0.25 negq %rcx
# CHECK-NEXT: 3 7 1.00 * * 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)
# CHECK-NEXT: 1 1 0.25 nopl %esi
# CHECK-NEXT: 1 1 0.25 nopl (%r8)
# CHECK-NEXT: 1 1 0.25 nopq %rdx
# CHECK-NEXT: 1 1 0.25 nopq (%r9)
# CHECK-NEXT: 3 3 0.75 rclb %dil
# CHECK-NEXT: 3 3 0.75 rcrb %dil
# CHECK-NEXT: 5 8 0.75 * rclb (%rax)
@ -779,7 +952,7 @@ subq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
# CHECK-NEXT: - - 269.75 125.25 142.67 142.67 118.00 74.25 269.75 52.67
# CHECK-NEXT: 50.00 - 339.25 219.75 165.17 165.17 130.00 125.25 304.75 56.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@ -891,6 +1064,87 @@ subq (%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.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.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.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.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: 10.00 - 1.00 - - - - - - - divb %dil
# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - divb (%rax)
# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divw %si
# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - divw (%rax)
# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divl %edx
# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - divl (%rax)
# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divq %rcx
# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - divq (%rax)
# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivb %dil
# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - idivb (%rax)
# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivw %si
# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - idivw (%rax)
# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivl %edx
# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - idivl (%rax)
# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivq %rcx
# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - idivq (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - imulb %dil
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulb (%rax)
# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - imulw %di
# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - imulw (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - imulw %di, %di
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulw (%rax), %di
# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $511, %di, %di
# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $511, (%rax), %di
# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $7, %di, %di
# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $7, (%rax), %di
# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - imull %edi
# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - imull (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - imull %edi, %edi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull (%rax), %edi
# CHECK-NEXT: - - - 1.00 - - - - - - imull $665536, %edi, %edi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $665536, (%rax), %edi
# CHECK-NEXT: - - - 1.00 - - - - - - imull $7, %edi, %edi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $7, (%rax), %edi
# CHECK-NEXT: - - - 1.00 - - - 1.00 - - imulq %rdi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - imulq (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - imulq %rdi, %rdi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - - - imulq $665536, %rdi, %rdi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $665536, (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - - - imulq $7, %rdi, %rdi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $7, (%rax), %rdi
# 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.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.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.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: - - - 1.00 - - - - - - mulb %dil
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax)
# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si
# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - mulw (%rax)
# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mull %edx
# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mull (%rax)
# CHECK-NEXT: - - - 1.00 - - - 1.00 - - mulq %rcx
# 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.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.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.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.25 0.25 - nop
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw %di
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw (%rcx)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl %esi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl (%r8)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq %rdx
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq (%r9)
# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb %dil
# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb %dil
# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb (%rax)

View File

@ -120,6 +120,98 @@ btcq $7, (%rax)
btrq $7, (%rax)
btsq $7, (%rax)
decb %dil
decb (%rax)
decw %di
decw (%rax)
decl %edi
decl (%rax)
decq %rdi
decq (%rax)
divb %dil
divb (%rax)
divw %si
divw (%rax)
divl %edx
divl (%rax)
divq %rcx
divq (%rax)
idivb %dil
idivb (%rax)
idivw %si
idivw (%rax)
idivl %edx
idivl (%rax)
idivq %rcx
idivq (%rax)
imulb %dil
imulb (%rax)
imulw %di
imulw (%rax)
imulw %di, %di
imulw (%rax), %di
imulw $511, %di, %di
imulw $511, (%rax), %di
imulw $7, %di, %di
imulw $7, (%rax), %di
imull %edi
imull (%rax)
imull %edi, %edi
imull (%rax), %edi
imull $665536, %edi, %edi
imull $665536, (%rax), %edi
imull $7, %edi, %edi
imull $7, (%rax), %edi
imulq %rdi
imulq (%rax)
imulq %rdi, %rdi
imulq (%rax), %rdi
imulq $665536, %rdi, %rdi
imulq $665536, (%rax), %rdi
imulq $7, %rdi, %rdi
imulq $7, (%rax), %rdi
incb %dil
incb (%rax)
incw %di
incw (%rax)
incl %edi
incl (%rax)
incq %rdi
incq (%rax)
mulb %dil
mulb (%rax)
mulw %si
mulw (%rax)
mull %edx
mull (%rax)
mulq %rcx
mulq (%rax)
negb %dil
negb (%r8)
negw %si
negw (%r9)
negl %edx
negl (%rax)
negq %rcx
negq (%r10)
nop
nopw %di
nopw (%rcx)
nopl %esi
nopl (%r8)
nopq %rdx
nopq (%r9)
rclb %dil
rcrb %dil
rclb (%rax)
@ -512,6 +604,87 @@ subq (%rax), %rdi
# CHECK-NEXT: 2 4 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 2 4 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 2 4 1.00 * * btsq $7, (%rax)
# CHECK-NEXT: 1 1 0.50 decb %dil
# CHECK-NEXT: 2 5 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.50 decw %di
# CHECK-NEXT: 2 5 1.00 * * decw (%rax)
# CHECK-NEXT: 1 1 0.50 decl %edi
# CHECK-NEXT: 2 5 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.50 decq %rdi
# CHECK-NEXT: 2 5 1.00 * * decq (%rax)
# CHECK-NEXT: 1 12 12.00 * divb %dil
# CHECK-NEXT: 1 15 12.00 * * divb (%rax)
# CHECK-NEXT: 2 17 17.00 * divw %si
# CHECK-NEXT: 2 20 17.00 * * divw (%rax)
# CHECK-NEXT: 2 25 25.00 * divl %edx
# CHECK-NEXT: 2 28 25.00 * * divl (%rax)
# CHECK-NEXT: 2 41 41.00 * divq %rcx
# CHECK-NEXT: 2 44 41.00 * * divq (%rax)
# CHECK-NEXT: 1 12 12.00 * idivb %dil
# CHECK-NEXT: 1 15 12.00 * * idivb (%rax)
# CHECK-NEXT: 2 17 17.00 * idivw %si
# CHECK-NEXT: 2 20 17.00 * * idivw (%rax)
# CHECK-NEXT: 2 25 25.00 * idivl %edx
# CHECK-NEXT: 2 28 25.00 * * idivl (%rax)
# CHECK-NEXT: 2 41 41.00 * idivq %rcx
# CHECK-NEXT: 2 44 41.00 * * idivq (%rax)
# CHECK-NEXT: 2 3 1.00 imulb %dil
# CHECK-NEXT: 2 6 1.00 * imulb (%rax)
# CHECK-NEXT: 2 3 1.00 imulw %di
# CHECK-NEXT: 2 6 1.00 * imulw (%rax)
# CHECK-NEXT: 2 3 1.00 imulw %di, %di
# CHECK-NEXT: 2 6 1.00 * imulw (%rax), %di
# CHECK-NEXT: 2 3 1.00 imulw $511, %di, %di
# CHECK-NEXT: 2 6 1.00 * imulw $511, (%rax), %di
# CHECK-NEXT: 2 3 1.00 imulw $7, %di, %di
# CHECK-NEXT: 2 6 1.00 * imulw $7, (%rax), %di
# CHECK-NEXT: 2 3 1.00 imull %edi
# CHECK-NEXT: 2 6 1.00 * imull (%rax)
# CHECK-NEXT: 2 3 1.00 imull %edi, %edi
# CHECK-NEXT: 2 6 1.00 * imull (%rax), %edi
# CHECK-NEXT: 2 3 1.00 imull $665536, %edi, %edi
# CHECK-NEXT: 2 6 1.00 * imull $665536, (%rax), %edi
# CHECK-NEXT: 2 3 1.00 imull $7, %edi, %edi
# CHECK-NEXT: 2 6 1.00 * imull $7, (%rax), %edi
# CHECK-NEXT: 2 6 4.00 imulq %rdi
# CHECK-NEXT: 2 9 4.00 * imulq (%rax)
# CHECK-NEXT: 2 3 1.00 imulq %rdi, %rdi
# CHECK-NEXT: 2 6 1.00 * imulq (%rax), %rdi
# CHECK-NEXT: 2 3 1.00 imulq $665536, %rdi, %rdi
# CHECK-NEXT: 2 6 1.00 * imulq $665536, (%rax), %rdi
# CHECK-NEXT: 2 3 1.00 imulq $7, %rdi, %rdi
# CHECK-NEXT: 2 6 1.00 * imulq $7, (%rax), %rdi
# CHECK-NEXT: 1 1 0.50 incb %dil
# CHECK-NEXT: 2 5 1.00 * * incb (%rax)
# CHECK-NEXT: 1 1 0.50 incw %di
# CHECK-NEXT: 2 5 1.00 * * incw (%rax)
# CHECK-NEXT: 1 1 0.50 incl %edi
# CHECK-NEXT: 2 5 1.00 * * incl (%rax)
# CHECK-NEXT: 1 1 0.50 incq %rdi
# CHECK-NEXT: 2 5 1.00 * * incq (%rax)
# CHECK-NEXT: 2 3 1.00 mulb %dil
# CHECK-NEXT: 2 6 1.00 * mulb (%rax)
# CHECK-NEXT: 2 3 1.00 mulw %si
# CHECK-NEXT: 2 6 1.00 * mulw (%rax)
# CHECK-NEXT: 2 3 1.00 mull %edx
# CHECK-NEXT: 2 6 1.00 * mull (%rax)
# CHECK-NEXT: 2 6 4.00 mulq %rcx
# CHECK-NEXT: 2 9 4.00 * mulq (%rax)
# CHECK-NEXT: 1 1 0.50 negb %dil
# CHECK-NEXT: 2 5 1.00 * * negb (%r8)
# CHECK-NEXT: 1 1 0.50 negw %si
# CHECK-NEXT: 2 5 1.00 * * negw (%r9)
# CHECK-NEXT: 1 1 0.50 negl %edx
# CHECK-NEXT: 2 5 1.00 * * negl (%rax)
# CHECK-NEXT: 1 1 0.50 negq %rcx
# CHECK-NEXT: 2 5 1.00 * * 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)
# CHECK-NEXT: 1 1 0.50 nopl %esi
# CHECK-NEXT: 1 1 0.50 nopl (%r8)
# CHECK-NEXT: 1 1 0.50 nopq %rdx
# CHECK-NEXT: 1 1 0.50 nopq (%r9)
# CHECK-NEXT: 1 1 0.50 rclb %dil
# CHECK-NEXT: 1 1 0.50 rcrb %dil
# CHECK-NEXT: 2 4 1.00 * rclb (%rax)
@ -783,7 +956,7 @@ subq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
# CHECK-NEXT: 342.00 342.00 - - - - - 177.00 - 146.00 - - - -
# CHECK-NEXT: 357.50 407.50 380.00 - - - - 214.00 46.00 158.00 - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
@ -895,6 +1068,87 @@ subq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btcq $7, (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btrq $7, (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btsq $7, (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - decb %dil
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - decb (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - decw %di
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - decw (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - decl %edi
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - decl (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - decq %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - decq (%rax)
# CHECK-NEXT: - 1.00 12.00 - - - - - - - - - - - divb %dil
# CHECK-NEXT: - 1.00 12.00 - - - - 1.00 - - - - - - divb (%rax)
# CHECK-NEXT: - 1.00 17.00 - - - - - - - - - - - divw %si
# CHECK-NEXT: - 1.00 17.00 - - - - 1.00 - - - - - - divw (%rax)
# CHECK-NEXT: - 1.00 25.00 - - - - - - - - - - - divl %edx
# CHECK-NEXT: - 1.00 25.00 - - - - 1.00 - - - - - - divl (%rax)
# CHECK-NEXT: - 1.00 41.00 - - - - - - - - - - - divq %rcx
# CHECK-NEXT: - 1.00 41.00 - - - - 1.00 - - - - - - divq (%rax)
# CHECK-NEXT: - 1.00 12.00 - - - - - - - - - - - idivb %dil
# CHECK-NEXT: - 1.00 12.00 - - - - 1.00 - - - - - - idivb (%rax)
# CHECK-NEXT: - 1.00 17.00 - - - - - - - - - - - idivw %si
# CHECK-NEXT: - 1.00 17.00 - - - - 1.00 - - - - - - idivw (%rax)
# CHECK-NEXT: - 1.00 25.00 - - - - - - - - - - - idivl %edx
# CHECK-NEXT: - 1.00 25.00 - - - - 1.00 - - - - - - idivl (%rax)
# CHECK-NEXT: - 1.00 41.00 - - - - - - - - - - - idivq %rcx
# CHECK-NEXT: - 1.00 41.00 - - - - 1.00 - - - - - - idivq (%rax)
# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imulb %dil
# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imulb (%rax)
# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imulw %di
# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imulw (%rax)
# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imulw %di, %di
# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imulw (%rax), %di
# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imulw $511, %di, %di
# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imulw $511, (%rax), %di
# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imulw $7, %di, %di
# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imulw $7, (%rax), %di
# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull %edi
# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imull (%rax)
# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull %edi, %edi
# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imull (%rax), %edi
# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull $665536, %edi, %edi
# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imull $665536, (%rax), %edi
# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull $7, %edi, %edi
# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imull $7, (%rax), %edi
# CHECK-NEXT: - 1.00 - - - - - - 4.00 - - - - - imulq %rdi
# CHECK-NEXT: - 1.00 - - - - - 1.00 4.00 - - - - - imulq (%rax)
# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imulq %rdi, %rdi
# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imulq (%rax), %rdi
# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imulq $665536, %rdi, %rdi
# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imulq $665536, (%rax), %rdi
# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imulq $7, %rdi, %rdi
# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imulq $7, (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - incb %dil
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - incb (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - incw %di
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - incw (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - incl %edi
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - incl (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - incq %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - incq (%rax)
# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - mulb %dil
# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - mulb (%rax)
# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - mulw %si
# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - mulw (%rax)
# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - mull %edx
# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - mull (%rax)
# CHECK-NEXT: - 1.00 - - - - - - 4.00 - - - - - mulq %rcx
# CHECK-NEXT: - 1.00 - - - - - 1.00 4.00 - - - - - mulq (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - negb %dil
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - negb (%r8)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - negw %si
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - negw (%r9)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - negl %edx
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - negl (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - negq %rcx
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - negq (%r10)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nop
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nopw %di
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nopw (%rcx)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nopl %esi
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nopl (%r8)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nopq %rdx
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nopq (%r9)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rclb %dil
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrb %dil
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclb (%rax)

View File

@ -120,6 +120,98 @@ btcq $7, (%rax)
btrq $7, (%rax)
btsq $7, (%rax)
decb %dil
decb (%rax)
decw %di
decw (%rax)
decl %edi
decl (%rax)
decq %rdi
decq (%rax)
divb %dil
divb (%rax)
divw %si
divw (%rax)
divl %edx
divl (%rax)
divq %rcx
divq (%rax)
idivb %dil
idivb (%rax)
idivw %si
idivw (%rax)
idivl %edx
idivl (%rax)
idivq %rcx
idivq (%rax)
imulb %dil
imulb (%rax)
imulw %di
imulw (%rax)
imulw %di, %di
imulw (%rax), %di
imulw $511, %di, %di
imulw $511, (%rax), %di
imulw $7, %di, %di
imulw $7, (%rax), %di
imull %edi
imull (%rax)
imull %edi, %edi
imull (%rax), %edi
imull $665536, %edi, %edi
imull $665536, (%rax), %edi
imull $7, %edi, %edi
imull $7, (%rax), %edi
imulq %rdi
imulq (%rax)
imulq %rdi, %rdi
imulq (%rax), %rdi
imulq $665536, %rdi, %rdi
imulq $665536, (%rax), %rdi
imulq $7, %rdi, %rdi
imulq $7, (%rax), %rdi
incb %dil
incb (%rax)
incw %di
incw (%rax)
incl %edi
incl (%rax)
incq %rdi
incq (%rax)
mulb %dil
mulb (%rax)
mulw %si
mulw (%rax)
mull %edx
mull (%rax)
mulq %rcx
mulq (%rax)
negb %dil
negb (%r8)
negw %si
negw (%r9)
negl %edx
negl (%rax)
negq %rcx
negq (%r10)
nop
nopw %di
nopw (%rcx)
nopl %esi
nopl (%r8)
nopq %rdx
nopq (%r9)
rclb %dil
rcrb %dil
rclb (%rax)
@ -512,6 +604,87 @@ subq (%rax), %rdi
# CHECK-NEXT: 4 7 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 4 7 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 4 7 1.00 * * btsq $7, (%rax)
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
# CHECK-NEXT: 3 7 1.00 * * decw (%rax)
# CHECK-NEXT: 1 1 0.25 decl %edi
# CHECK-NEXT: 3 7 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.25 decq %rdi
# CHECK-NEXT: 3 7 1.00 * * decq (%rax)
# CHECK-NEXT: 9 22 1.00 * divb %dil
# CHECK-NEXT: 2 29 10.00 * * divb (%rax)
# CHECK-NEXT: 32 98 8.00 * divw %si
# CHECK-NEXT: 2 29 10.00 * * divw (%rax)
# CHECK-NEXT: 32 98 8.00 * divl %edx
# CHECK-NEXT: 2 29 10.00 * * divl (%rax)
# CHECK-NEXT: 32 98 8.00 * divq %rcx
# CHECK-NEXT: 2 29 10.00 * * divq (%rax)
# CHECK-NEXT: 9 23 1.00 * idivb %dil
# CHECK-NEXT: 2 29 10.00 * * idivb (%rax)
# CHECK-NEXT: 66 112 16.50 * idivw %si
# CHECK-NEXT: 2 29 10.00 * * idivw (%rax)
# CHECK-NEXT: 66 112 16.50 * idivl %edx
# CHECK-NEXT: 2 29 10.00 * * idivl (%rax)
# CHECK-NEXT: 66 112 16.50 * idivq %rcx
# CHECK-NEXT: 2 29 10.00 * * idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 4 4 1.00 imulw %di
# CHECK-NEXT: 5 9 1.00 * imulw (%rax)
# CHECK-NEXT: 1 3 1.00 imulw %di, %di
# CHECK-NEXT: 2 8 1.00 * imulw (%rax), %di
# CHECK-NEXT: 2 4 1.00 imulw $511, %di, %di
# CHECK-NEXT: 3 8 1.00 * imulw $511, (%rax), %di
# CHECK-NEXT: 2 4 1.00 imulw $7, %di, %di
# CHECK-NEXT: 3 8 1.00 * imulw $7, (%rax), %di
# CHECK-NEXT: 3 4 1.00 imull %edi
# CHECK-NEXT: 4 9 1.00 * imull (%rax)
# CHECK-NEXT: 1 3 1.00 imull %edi, %edi
# CHECK-NEXT: 2 8 1.00 * imull (%rax), %edi
# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi
# CHECK-NEXT: 2 8 1.00 * imull $665536, (%rax), %edi
# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi
# CHECK-NEXT: 2 8 1.00 * imull $7, (%rax), %edi
# CHECK-NEXT: 2 4 1.00 imulq %rdi
# CHECK-NEXT: 3 9 1.00 * imulq (%rax)
# CHECK-NEXT: 1 3 1.00 imulq %rdi, %rdi
# CHECK-NEXT: 2 8 1.00 * imulq (%rax), %rdi
# CHECK-NEXT: 1 3 1.00 imulq $665536, %rdi, %rdi
# CHECK-NEXT: 2 8 1.00 * imulq $665536, (%rax), %rdi
# CHECK-NEXT: 1 3 1.00 imulq $7, %rdi, %rdi
# CHECK-NEXT: 2 8 1.00 * imulq $7, (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 incb %dil
# CHECK-NEXT: 3 7 1.00 * * incb (%rax)
# CHECK-NEXT: 1 1 0.25 incw %di
# CHECK-NEXT: 3 7 1.00 * * incw (%rax)
# CHECK-NEXT: 1 1 0.25 incl %edi
# CHECK-NEXT: 3 7 1.00 * * incl (%rax)
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
# CHECK-NEXT: 1 3 1.00 mulb %dil
# CHECK-NEXT: 2 8 1.00 * mulb (%rax)
# CHECK-NEXT: 4 4 1.00 mulw %si
# CHECK-NEXT: 5 9 1.00 * mulw (%rax)
# CHECK-NEXT: 3 4 1.00 mull %edx
# CHECK-NEXT: 4 9 1.00 * mull (%rax)
# CHECK-NEXT: 2 4 1.00 mulq %rcx
# 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: 1 1 0.25 negw %si
# CHECK-NEXT: 3 7 1.00 * * negw (%r9)
# CHECK-NEXT: 1 1 0.25 negl %edx
# CHECK-NEXT: 3 7 1.00 * * negl (%rax)
# CHECK-NEXT: 1 1 0.25 negq %rcx
# CHECK-NEXT: 3 7 1.00 * * 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)
# CHECK-NEXT: 1 1 0.25 nopl %esi
# CHECK-NEXT: 1 1 0.25 nopl (%r8)
# CHECK-NEXT: 1 1 0.25 nopq %rdx
# CHECK-NEXT: 1 1 0.25 nopq (%r9)
# CHECK-NEXT: 3 3 0.75 rclb %dil
# CHECK-NEXT: 3 3 0.75 rcrb %dil
# CHECK-NEXT: 5 9 0.75 * rclb (%rax)
@ -779,7 +952,7 @@ subq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
# CHECK-NEXT: - - 275.25 130.75 133.67 133.67 109.00 79.75 275.25 49.67
# CHECK-NEXT: 80.00 - 390.25 240.75 156.17 156.17 121.00 148.25 384.75 53.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@ -891,6 +1064,87 @@ subq (%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.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.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.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.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: - - 1.00 1.00 - - - 1.00 1.00 - divb %dil
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divb (%rax)
# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divw %si
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divw (%rax)
# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divl %edx
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divl (%rax)
# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divq %rcx
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divq (%rax)
# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 1.00 - idivb %dil
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - idivb (%rax)
# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivw %si
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - idivw (%rax)
# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivl %edx
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - idivl (%rax)
# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivq %rcx
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - idivq (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - imulb %dil
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulb (%rax)
# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - imulw %di
# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - imulw (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - imulw %di, %di
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulw (%rax), %di
# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $511, %di, %di
# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $511, (%rax), %di
# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $7, %di, %di
# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $7, (%rax), %di
# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - imull %edi
# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - imull (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - imull %edi, %edi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull (%rax), %edi
# CHECK-NEXT: - - - 1.00 - - - - - - imull $665536, %edi, %edi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $665536, (%rax), %edi
# CHECK-NEXT: - - - 1.00 - - - - - - imull $7, %edi, %edi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $7, (%rax), %edi
# CHECK-NEXT: - - - 1.00 - - - - 1.00 - imulq %rdi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - 1.00 - imulq (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - imulq %rdi, %rdi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - - - imulq $665536, %rdi, %rdi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $665536, (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - - - imulq $7, %rdi, %rdi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $7, (%rax), %rdi
# 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.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.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.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: - - - 1.00 - - - - - - mulb %dil
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax)
# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si
# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - mulw (%rax)
# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mull %edx
# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mull (%rax)
# CHECK-NEXT: - - - 1.00 - - - - 1.00 - mulq %rcx
# 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.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.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.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.25 0.25 - nop
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw %di
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw (%rcx)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl %esi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl (%r8)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq %rdx
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq (%r9)
# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb %dil
# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb %dil
# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb (%rax)

View File

@ -120,6 +120,98 @@ btcq $7, (%rax)
btrq $7, (%rax)
btsq $7, (%rax)
decb %dil
decb (%rax)
decw %di
decw (%rax)
decl %edi
decl (%rax)
decq %rdi
decq (%rax)
divb %dil
divb (%rax)
divw %si
divw (%rax)
divl %edx
divl (%rax)
divq %rcx
divq (%rax)
idivb %dil
idivb (%rax)
idivw %si
idivw (%rax)
idivl %edx
idivl (%rax)
idivq %rcx
idivq (%rax)
imulb %dil
imulb (%rax)
imulw %di
imulw (%rax)
imulw %di, %di
imulw (%rax), %di
imulw $511, %di, %di
imulw $511, (%rax), %di
imulw $7, %di, %di
imulw $7, (%rax), %di
imull %edi
imull (%rax)
imull %edi, %edi
imull (%rax), %edi
imull $665536, %edi, %edi
imull $665536, (%rax), %edi
imull $7, %edi, %edi
imull $7, (%rax), %edi
imulq %rdi
imulq (%rax)
imulq %rdi, %rdi
imulq (%rax), %rdi
imulq $665536, %rdi, %rdi
imulq $665536, (%rax), %rdi
imulq $7, %rdi, %rdi
imulq $7, (%rax), %rdi
incb %dil
incb (%rax)
incw %di
incw (%rax)
incl %edi
incl (%rax)
incq %rdi
incq (%rax)
mulb %dil
mulb (%rax)
mulw %si
mulw (%rax)
mull %edx
mull (%rax)
mulq %rcx
mulq (%rax)
negb %dil
negb (%r8)
negw %si
negw (%r9)
negl %edx
negl (%rax)
negq %rcx
negq (%r10)
nop
nopw %di
nopw (%rcx)
nopl %esi
nopl (%r8)
nopq %rdx
nopq (%r9)
rclb %dil
rcrb %dil
rclb (%rax)
@ -512,6 +604,87 @@ subq (%rax), %rdi
# CHECK-NEXT: 2 4 2.00 * * btcq $7, (%rax)
# CHECK-NEXT: 2 4 2.00 * * btrq $7, (%rax)
# CHECK-NEXT: 2 4 2.00 * * btsq $7, (%rax)
# CHECK-NEXT: 1 1 0.50 decb %dil
# CHECK-NEXT: 2 5 2.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.50 decw %di
# CHECK-NEXT: 2 5 2.00 * * decw (%rax)
# CHECK-NEXT: 1 1 0.50 decl %edi
# CHECK-NEXT: 2 5 2.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.50 decq %rdi
# CHECK-NEXT: 2 5 2.00 * * decq (%rax)
# CHECK-NEXT: 1 25 25.00 * divb %dil
# CHECK-NEXT: 1 29 25.00 * * divb (%rax)
# CHECK-NEXT: 1 25 25.00 * divw %si
# CHECK-NEXT: 1 29 25.00 * * divw (%rax)
# CHECK-NEXT: 1 25 25.00 * divl %edx
# CHECK-NEXT: 1 29 25.00 * * divl (%rax)
# CHECK-NEXT: 1 25 25.00 * divq %rcx
# CHECK-NEXT: 1 29 25.00 * * divq (%rax)
# CHECK-NEXT: 1 25 25.00 * idivb %dil
# CHECK-NEXT: 1 29 25.00 * * idivb (%rax)
# CHECK-NEXT: 1 25 25.00 * idivw %si
# CHECK-NEXT: 1 29 25.00 * * idivw (%rax)
# CHECK-NEXT: 1 25 25.00 * idivl %edx
# CHECK-NEXT: 1 29 25.00 * * idivl (%rax)
# CHECK-NEXT: 1 25 25.00 * idivq %rcx
# CHECK-NEXT: 1 29 25.00 * * idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 1 6 1.00 * imulb (%rax)
# CHECK-NEXT: 1 3 1.00 imulw %di
# CHECK-NEXT: 1 6 1.00 * imulw (%rax)
# CHECK-NEXT: 1 3 1.00 imulw %di, %di
# CHECK-NEXT: 1 6 1.00 * imulw (%rax), %di
# CHECK-NEXT: 1 3 1.00 imulw $511, %di, %di
# CHECK-NEXT: 1 6 1.00 * imulw $511, (%rax), %di
# CHECK-NEXT: 1 3 1.00 imulw $7, %di, %di
# CHECK-NEXT: 1 6 1.00 * imulw $7, (%rax), %di
# CHECK-NEXT: 1 3 1.00 imull %edi
# CHECK-NEXT: 1 6 1.00 * imull (%rax)
# CHECK-NEXT: 1 3 1.00 imull %edi, %edi
# CHECK-NEXT: 1 6 1.00 * imull (%rax), %edi
# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi
# CHECK-NEXT: 1 6 1.00 * imull $665536, (%rax), %edi
# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi
# CHECK-NEXT: 1 6 1.00 * imull $7, (%rax), %edi
# CHECK-NEXT: 1 3 1.00 imulq %rdi
# CHECK-NEXT: 1 6 1.00 * imulq (%rax)
# CHECK-NEXT: 1 3 1.00 imulq %rdi, %rdi
# CHECK-NEXT: 1 6 1.00 * imulq (%rax), %rdi
# CHECK-NEXT: 1 3 1.00 imulq $665536, %rdi, %rdi
# CHECK-NEXT: 1 6 1.00 * imulq $665536, (%rax), %rdi
# CHECK-NEXT: 1 3 1.00 imulq $7, %rdi, %rdi
# CHECK-NEXT: 1 6 1.00 * imulq $7, (%rax), %rdi
# CHECK-NEXT: 1 1 0.50 incb %dil
# CHECK-NEXT: 2 5 2.00 * * incb (%rax)
# CHECK-NEXT: 1 1 0.50 incw %di
# CHECK-NEXT: 2 5 2.00 * * incw (%rax)
# CHECK-NEXT: 1 1 0.50 incl %edi
# CHECK-NEXT: 2 5 2.00 * * incl (%rax)
# CHECK-NEXT: 1 1 0.50 incq %rdi
# CHECK-NEXT: 2 5 2.00 * * incq (%rax)
# CHECK-NEXT: 1 3 1.00 mulb %dil
# CHECK-NEXT: 1 6 1.00 * mulb (%rax)
# CHECK-NEXT: 1 3 1.00 mulw %si
# CHECK-NEXT: 1 6 1.00 * mulw (%rax)
# CHECK-NEXT: 1 3 1.00 mull %edx
# CHECK-NEXT: 1 6 1.00 * mull (%rax)
# CHECK-NEXT: 1 3 1.00 mulq %rcx
# CHECK-NEXT: 1 6 1.00 * mulq (%rax)
# CHECK-NEXT: 1 1 0.50 negb %dil
# CHECK-NEXT: 2 5 2.00 * * negb (%r8)
# CHECK-NEXT: 1 1 0.50 negw %si
# CHECK-NEXT: 2 5 2.00 * * negw (%r9)
# CHECK-NEXT: 1 1 0.50 negl %edx
# CHECK-NEXT: 2 5 2.00 * * negl (%rax)
# CHECK-NEXT: 1 1 0.50 negq %rcx
# CHECK-NEXT: 2 5 2.00 * * negq (%r10)
# CHECK-NEXT: 1 1 - nop
# CHECK-NEXT: 1 1 - nopw %di
# CHECK-NEXT: 1 1 - nopw (%rcx)
# CHECK-NEXT: 1 1 - nopl %esi
# CHECK-NEXT: 1 1 - nopl (%r8)
# CHECK-NEXT: 1 1 - nopq %rdx
# CHECK-NEXT: 1 1 - nopq (%r9)
# CHECK-NEXT: 1 1 1.00 rclb %dil
# CHECK-NEXT: 1 1 1.00 rcrb %dil
# CHECK-NEXT: 2 4 2.00 * rclb (%rax)
@ -777,7 +950,7 @@ subq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7]
# CHECK-NEXT: - - - - - 298.00 106.00 335.00
# CHECK-NEXT: 400.00 - - - - 324.00 166.00 384.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions:
@ -889,6 +1062,87 @@ subq (%rax), %rdi
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btcq $7, (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btrq $7, (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btsq $7, (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - decb %dil
# CHECK-NEXT: - - - - - 1.00 1.00 2.00 decb (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - decw %di
# CHECK-NEXT: - - - - - 1.00 1.00 2.00 decw (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - decl %edi
# CHECK-NEXT: - - - - - 1.00 1.00 2.00 decl (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - decq %rdi
# CHECK-NEXT: - - - - - 1.00 1.00 2.00 decq (%rax)
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - divb %dil
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 divb (%rax)
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - divw %si
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 divw (%rax)
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - divl %edx
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 divl (%rax)
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - divq %rcx
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 divq (%rax)
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - idivb %dil
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 idivb (%rax)
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - idivw %si
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 idivw (%rax)
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - idivl %edx
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 idivl (%rax)
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - idivq %rcx
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 idivq (%rax)
# CHECK-NEXT: - - - - - - 1.00 - imulb %dil
# CHECK-NEXT: - - - - - - 1.00 1.00 imulb (%rax)
# CHECK-NEXT: - - - - - - 1.00 - imulw %di
# CHECK-NEXT: - - - - - - 1.00 1.00 imulw (%rax)
# CHECK-NEXT: - - - - - - 1.00 - imulw %di, %di
# CHECK-NEXT: - - - - - - 1.00 1.00 imulw (%rax), %di
# CHECK-NEXT: - - - - - - 1.00 - imulw $511, %di, %di
# CHECK-NEXT: - - - - - - 1.00 1.00 imulw $511, (%rax), %di
# CHECK-NEXT: - - - - - - 1.00 - imulw $7, %di, %di
# CHECK-NEXT: - - - - - - 1.00 1.00 imulw $7, (%rax), %di
# CHECK-NEXT: - - - - - - 1.00 - imull %edi
# CHECK-NEXT: - - - - - - 1.00 1.00 imull (%rax)
# CHECK-NEXT: - - - - - - 1.00 - imull %edi, %edi
# CHECK-NEXT: - - - - - - 1.00 1.00 imull (%rax), %edi
# CHECK-NEXT: - - - - - - 1.00 - imull $665536, %edi, %edi
# CHECK-NEXT: - - - - - - 1.00 1.00 imull $665536, (%rax), %edi
# CHECK-NEXT: - - - - - - 1.00 - imull $7, %edi, %edi
# CHECK-NEXT: - - - - - - 1.00 1.00 imull $7, (%rax), %edi
# CHECK-NEXT: - - - - - - 1.00 - imulq %rdi
# CHECK-NEXT: - - - - - - 1.00 1.00 imulq (%rax)
# CHECK-NEXT: - - - - - - 1.00 - imulq %rdi, %rdi
# CHECK-NEXT: - - - - - - 1.00 1.00 imulq (%rax), %rdi
# CHECK-NEXT: - - - - - - 1.00 - imulq $665536, %rdi, %rdi
# CHECK-NEXT: - - - - - - 1.00 1.00 imulq $665536, (%rax), %rdi
# CHECK-NEXT: - - - - - - 1.00 - imulq $7, %rdi, %rdi
# CHECK-NEXT: - - - - - - 1.00 1.00 imulq $7, (%rax), %rdi
# CHECK-NEXT: - - - - - 0.50 0.50 - incb %dil
# CHECK-NEXT: - - - - - 1.00 1.00 2.00 incb (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - incw %di
# CHECK-NEXT: - - - - - 1.00 1.00 2.00 incw (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - incl %edi
# CHECK-NEXT: - - - - - 1.00 1.00 2.00 incl (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - incq %rdi
# CHECK-NEXT: - - - - - 1.00 1.00 2.00 incq (%rax)
# CHECK-NEXT: - - - - - - 1.00 - mulb %dil
# CHECK-NEXT: - - - - - - 1.00 1.00 mulb (%rax)
# CHECK-NEXT: - - - - - - 1.00 - mulw %si
# CHECK-NEXT: - - - - - - 1.00 1.00 mulw (%rax)
# CHECK-NEXT: - - - - - - 1.00 - mull %edx
# CHECK-NEXT: - - - - - - 1.00 1.00 mull (%rax)
# CHECK-NEXT: - - - - - - 1.00 - mulq %rcx
# CHECK-NEXT: - - - - - - 1.00 1.00 mulq (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - negb %dil
# CHECK-NEXT: - - - - - 1.00 1.00 2.00 negb (%r8)
# CHECK-NEXT: - - - - - 0.50 0.50 - negw %si
# CHECK-NEXT: - - - - - 1.00 1.00 2.00 negw (%r9)
# CHECK-NEXT: - - - - - 0.50 0.50 - negl %edx
# CHECK-NEXT: - - - - - 1.00 1.00 2.00 negl (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - negq %rcx
# CHECK-NEXT: - - - - - 1.00 1.00 2.00 negq (%r10)
# CHECK-NEXT: - - - - - - - - nop
# CHECK-NEXT: - - - - - - - - nopw %di
# CHECK-NEXT: - - - - - - - - nopw (%rcx)
# CHECK-NEXT: - - - - - - - - nopl %esi
# CHECK-NEXT: - - - - - - - - nopl (%r8)
# CHECK-NEXT: - - - - - - - - nopq %rdx
# CHECK-NEXT: - - - - - - - - nopq (%r9)
# CHECK-NEXT: - - - - - 1.00 - - rclb %dil
# CHECK-NEXT: - - - - - 1.00 - - rcrb %dil
# CHECK-NEXT: - - - - - 1.00 - 2.00 rclb (%rax)

View File

@ -120,6 +120,98 @@ btcq $7, (%rax)
btrq $7, (%rax)
btsq $7, (%rax)
decb %dil
decb (%rax)
decw %di
decw (%rax)
decl %edi
decl (%rax)
decq %rdi
decq (%rax)
divb %dil
divb (%rax)
divw %si
divw (%rax)
divl %edx
divl (%rax)
divq %rcx
divq (%rax)
idivb %dil
idivb (%rax)
idivw %si
idivw (%rax)
idivl %edx
idivl (%rax)
idivq %rcx
idivq (%rax)
imulb %dil
imulb (%rax)
imulw %di
imulw (%rax)
imulw %di, %di
imulw (%rax), %di
imulw $511, %di, %di
imulw $511, (%rax), %di
imulw $7, %di, %di
imulw $7, (%rax), %di
imull %edi
imull (%rax)
imull %edi, %edi
imull (%rax), %edi
imull $665536, %edi, %edi
imull $665536, (%rax), %edi
imull $7, %edi, %edi
imull $7, (%rax), %edi
imulq %rdi
imulq (%rax)
imulq %rdi, %rdi
imulq (%rax), %rdi
imulq $665536, %rdi, %rdi
imulq $665536, (%rax), %rdi
imulq $7, %rdi, %rdi
imulq $7, (%rax), %rdi
incb %dil
incb (%rax)
incw %di
incw (%rax)
incl %edi
incl (%rax)
incq %rdi
incq (%rax)
mulb %dil
mulb (%rax)
mulw %si
mulw (%rax)
mull %edx
mull (%rax)
mulq %rcx
mulq (%rax)
negb %dil
negb (%r8)
negw %si
negw (%r9)
negl %edx
negl (%rax)
negq %rcx
negq (%r10)
nop
nopw %di
nopw (%rcx)
nopl %esi
nopl (%r8)
nopq %rdx
nopq (%r9)
rclb %dil
rcrb %dil
rclb (%rax)
@ -512,6 +604,87 @@ subq (%rax), %rdi
# CHECK-NEXT: 4 7 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 4 7 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 4 7 1.00 * * btsq $7, (%rax)
# CHECK-NEXT: 1 1 0.33 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.33 decw %di
# CHECK-NEXT: 3 7 1.00 * * decw (%rax)
# CHECK-NEXT: 1 1 0.33 decl %edi
# CHECK-NEXT: 3 7 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.33 decq %rdi
# CHECK-NEXT: 3 7 1.00 * * decq (%rax)
# CHECK-NEXT: 1 25 10.00 * divb %dil
# CHECK-NEXT: 2 30 10.00 * * divb (%rax)
# CHECK-NEXT: 1 25 10.00 * divw %si
# CHECK-NEXT: 2 30 10.00 * * divw (%rax)
# CHECK-NEXT: 1 25 10.00 * divl %edx
# CHECK-NEXT: 2 30 10.00 * * divl (%rax)
# CHECK-NEXT: 1 25 10.00 * divq %rcx
# CHECK-NEXT: 2 30 10.00 * * divq (%rax)
# CHECK-NEXT: 1 25 10.00 * idivb %dil
# CHECK-NEXT: 2 30 10.00 * * idivb (%rax)
# CHECK-NEXT: 1 25 10.00 * idivw %si
# CHECK-NEXT: 2 30 10.00 * * idivw (%rax)
# CHECK-NEXT: 1 25 10.00 * idivl %edx
# CHECK-NEXT: 2 30 10.00 * * idivl (%rax)
# CHECK-NEXT: 1 25 10.00 * idivq %rcx
# CHECK-NEXT: 2 30 10.00 * * idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 4 4 1.33 imulw %di
# CHECK-NEXT: 5 9 1.33 * imulw (%rax)
# CHECK-NEXT: 1 3 1.00 imulw %di, %di
# CHECK-NEXT: 2 8 1.00 * imulw (%rax), %di
# CHECK-NEXT: 2 4 1.00 imulw $511, %di, %di
# CHECK-NEXT: 3 8 1.00 * imulw $511, (%rax), %di
# CHECK-NEXT: 2 4 1.00 imulw $7, %di, %di
# CHECK-NEXT: 3 8 1.00 * imulw $7, (%rax), %di
# CHECK-NEXT: 3 4 1.00 imull %edi
# CHECK-NEXT: 4 9 1.00 * imull (%rax)
# CHECK-NEXT: 1 3 1.00 imull %edi, %edi
# CHECK-NEXT: 2 8 1.00 * imull (%rax), %edi
# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi
# CHECK-NEXT: 2 8 1.00 * imull $665536, (%rax), %edi
# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi
# CHECK-NEXT: 2 8 1.00 * imull $7, (%rax), %edi
# CHECK-NEXT: 2 4 1.00 imulq %rdi
# CHECK-NEXT: 3 9 1.00 * imulq (%rax)
# CHECK-NEXT: 1 3 1.00 imulq %rdi, %rdi
# CHECK-NEXT: 2 8 1.00 * imulq (%rax), %rdi
# CHECK-NEXT: 1 3 1.00 imulq $665536, %rdi, %rdi
# CHECK-NEXT: 2 8 1.00 * imulq $665536, (%rax), %rdi
# CHECK-NEXT: 1 3 1.00 imulq $7, %rdi, %rdi
# CHECK-NEXT: 2 8 1.00 * imulq $7, (%rax), %rdi
# CHECK-NEXT: 1 1 0.33 incb %dil
# CHECK-NEXT: 3 7 1.00 * * incb (%rax)
# CHECK-NEXT: 1 1 0.33 incw %di
# CHECK-NEXT: 3 7 1.00 * * incw (%rax)
# CHECK-NEXT: 1 1 0.33 incl %edi
# CHECK-NEXT: 3 7 1.00 * * incl (%rax)
# CHECK-NEXT: 1 1 0.33 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
# CHECK-NEXT: 1 3 1.00 mulb %dil
# CHECK-NEXT: 2 8 1.00 * mulb (%rax)
# CHECK-NEXT: 4 4 1.33 mulw %si
# CHECK-NEXT: 5 9 1.33 * mulw (%rax)
# CHECK-NEXT: 3 4 1.00 mull %edx
# CHECK-NEXT: 4 9 1.00 * mull (%rax)
# CHECK-NEXT: 2 4 1.00 mulq %rcx
# CHECK-NEXT: 3 9 1.00 * mulq (%rax)
# CHECK-NEXT: 1 1 0.33 negb %dil
# CHECK-NEXT: 3 7 1.00 * * negb (%r8)
# CHECK-NEXT: 1 1 0.33 negw %si
# CHECK-NEXT: 3 7 1.00 * * negw (%r9)
# CHECK-NEXT: 1 1 0.33 negl %edx
# CHECK-NEXT: 3 7 1.00 * * negl (%rax)
# CHECK-NEXT: 1 1 0.33 negq %rcx
# CHECK-NEXT: 3 7 1.00 * * negq (%r10)
# CHECK-NEXT: 1 1 - nop
# CHECK-NEXT: 1 1 - nopw %di
# CHECK-NEXT: 1 1 - nopw (%rcx)
# CHECK-NEXT: 1 1 - nopl %esi
# CHECK-NEXT: 1 1 - nopl (%r8)
# CHECK-NEXT: 1 1 - nopq %rdx
# CHECK-NEXT: 1 1 - nopq (%r9)
# CHECK-NEXT: 1 1 0.50 rclb %dil
# CHECK-NEXT: 1 1 0.50 rcrb %dil
# CHECK-NEXT: 3 6 1.00 * rclb (%rax)
@ -777,7 +950,7 @@ subq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
# CHECK-NEXT: - - 276.33 61.33 161.00 288.33 170.50 170.50
# CHECK-NEXT: 160.00 - 313.67 108.67 173.00 305.67 195.00 195.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@ -889,6 +1062,87 @@ subq (%rax), %rdi
# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btcq $7, (%rax)
# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btrq $7, (%rax)
# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btsq $7, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decb %dil
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 decb (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decw %di
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 decw (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decl %edi
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 decl (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decq %rdi
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 decq (%rax)
# CHECK-NEXT: 10.00 - 1.00 - - - - - divb %dil
# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 divb (%rax)
# CHECK-NEXT: 10.00 - 1.00 - - - - - divw %si
# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 divw (%rax)
# CHECK-NEXT: 10.00 - 1.00 - - - - - divl %edx
# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 divl (%rax)
# CHECK-NEXT: 10.00 - 1.00 - - - - - divq %rcx
# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 divq (%rax)
# CHECK-NEXT: 10.00 - 1.00 - - - - - idivb %dil
# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 idivb (%rax)
# CHECK-NEXT: 10.00 - 1.00 - - - - - idivw %si
# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 idivw (%rax)
# CHECK-NEXT: 10.00 - 1.00 - - - - - idivl %edx
# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 idivl (%rax)
# CHECK-NEXT: 10.00 - 1.00 - - - - - idivq %rcx
# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 idivq (%rax)
# CHECK-NEXT: - - - 1.00 - - - - imulb %dil
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imulb (%rax)
# CHECK-NEXT: - - 1.17 1.67 - 1.17 - - imulw %di
# CHECK-NEXT: - - 1.17 1.67 - 1.17 0.50 0.50 imulw (%rax)
# CHECK-NEXT: - - - 1.00 - - - - imulw %di, %di
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imulw (%rax), %di
# CHECK-NEXT: - - 0.33 1.33 - 0.33 - - imulw $511, %di, %di
# CHECK-NEXT: - - 0.33 1.33 - 0.33 0.50 0.50 imulw $511, (%rax), %di
# CHECK-NEXT: - - 0.33 1.33 - 0.33 - - imulw $7, %di, %di
# CHECK-NEXT: - - 0.33 1.33 - 0.33 0.50 0.50 imulw $7, (%rax), %di
# CHECK-NEXT: - - 0.83 1.33 - 0.83 - - imull %edi
# CHECK-NEXT: - - 0.83 1.33 - 0.83 0.50 0.50 imull (%rax)
# CHECK-NEXT: - - - 1.00 - - - - imull %edi, %edi
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imull (%rax), %edi
# CHECK-NEXT: - - - 1.00 - - - - imull $665536, %edi, %edi
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imull $665536, (%rax), %edi
# CHECK-NEXT: - - - 1.00 - - - - imull $7, %edi, %edi
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imull $7, (%rax), %edi
# CHECK-NEXT: - - 1.00 1.00 - - - - imulq %rdi
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 imulq (%rax)
# CHECK-NEXT: - - - 1.00 - - - - imulq %rdi, %rdi
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imulq (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - imulq $665536, %rdi, %rdi
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imulq $665536, (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - imulq $7, %rdi, %rdi
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imulq $7, (%rax), %rdi
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - incb %dil
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 incb (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - incw %di
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 incw (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - incl %edi
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 incl (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - incq %rdi
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 incq (%rax)
# CHECK-NEXT: - - - 1.00 - - - - mulb %dil
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 mulb (%rax)
# CHECK-NEXT: - - 1.17 1.67 - 1.17 - - mulw %si
# CHECK-NEXT: - - 1.17 1.67 - 1.17 0.50 0.50 mulw (%rax)
# CHECK-NEXT: - - 0.83 1.33 - 0.83 - - mull %edx
# CHECK-NEXT: - - 0.83 1.33 - 0.83 0.50 0.50 mull (%rax)
# CHECK-NEXT: - - 1.00 1.00 - - - - mulq %rcx
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 mulq (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - negb %dil
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 negb (%r8)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - negw %si
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 negw (%r9)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - negl %edx
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 negl (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - negq %rcx
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 negq (%r10)
# CHECK-NEXT: - - - - - - - - nop
# CHECK-NEXT: - - - - - - - - nopw %di
# CHECK-NEXT: - - - - - - - - nopw (%rcx)
# CHECK-NEXT: - - - - - - - - nopl %esi
# CHECK-NEXT: - - - - - - - - nopl (%r8)
# CHECK-NEXT: - - - - - - - - nopq %rdx
# CHECK-NEXT: - - - - - - - - nopq (%r9)
# CHECK-NEXT: - - 0.50 - - 0.50 - - rclb %dil
# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrb %dil
# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rclb (%rax)

View File

@ -120,6 +120,98 @@ btcq $7, (%rax)
btrq $7, (%rax)
btsq $7, (%rax)
decb %dil
decb (%rax)
decw %di
decw (%rax)
decl %edi
decl (%rax)
decq %rdi
decq (%rax)
divb %dil
divb (%rax)
divw %si
divw (%rax)
divl %edx
divl (%rax)
divq %rcx
divq (%rax)
idivb %dil
idivb (%rax)
idivw %si
idivw (%rax)
idivl %edx
idivl (%rax)
idivq %rcx
idivq (%rax)
imulb %dil
imulb (%rax)
imulw %di
imulw (%rax)
imulw %di, %di
imulw (%rax), %di
imulw $511, %di, %di
imulw $511, (%rax), %di
imulw $7, %di, %di
imulw $7, (%rax), %di
imull %edi
imull (%rax)
imull %edi, %edi
imull (%rax), %edi
imull $665536, %edi, %edi
imull $665536, (%rax), %edi
imull $7, %edi, %edi
imull $7, (%rax), %edi
imulq %rdi
imulq (%rax)
imulq %rdi, %rdi
imulq (%rax), %rdi
imulq $665536, %rdi, %rdi
imulq $665536, (%rax), %rdi
imulq $7, %rdi, %rdi
imulq $7, (%rax), %rdi
incb %dil
incb (%rax)
incw %di
incw (%rax)
incl %edi
incl (%rax)
incq %rdi
incq (%rax)
mulb %dil
mulb (%rax)
mulw %si
mulw (%rax)
mull %edx
mull (%rax)
mulq %rcx
mulq (%rax)
negb %dil
negb (%r8)
negw %si
negw (%r9)
negl %edx
negl (%rax)
negq %rcx
negq (%r10)
nop
nopw %di
nopw (%rcx)
nopl %esi
nopl (%r8)
nopq %rdx
nopq (%r9)
rclb %dil
rcrb %dil
rclb (%rax)
@ -512,6 +604,87 @@ subq (%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: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
# CHECK-NEXT: 3 7 1.00 * * decw (%rax)
# CHECK-NEXT: 1 1 0.25 decl %edi
# CHECK-NEXT: 3 7 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.25 decq %rdi
# CHECK-NEXT: 3 7 1.00 * * decq (%rax)
# CHECK-NEXT: 1 25 10.00 * divb %dil
# CHECK-NEXT: 2 29 10.00 * * divb (%rax)
# CHECK-NEXT: 32 76 8.00 * divw %si
# CHECK-NEXT: 2 29 10.00 * * divw (%rax)
# CHECK-NEXT: 32 76 8.00 * divl %edx
# CHECK-NEXT: 2 29 10.00 * * divl (%rax)
# CHECK-NEXT: 32 76 8.00 * divq %rcx
# CHECK-NEXT: 2 29 10.00 * * divq (%rax)
# CHECK-NEXT: 1 25 10.00 * idivb %dil
# CHECK-NEXT: 8 28 4.00 * * idivb (%rax)
# CHECK-NEXT: 66 102 16.50 * idivw %si
# CHECK-NEXT: 8 28 4.00 * * idivw (%rax)
# CHECK-NEXT: 66 102 16.50 * idivl %edx
# CHECK-NEXT: 8 28 4.00 * * idivl (%rax)
# CHECK-NEXT: 66 102 16.50 * idivq %rcx
# CHECK-NEXT: 8 28 4.00 * * idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 4 4 1.00 imulw %di
# CHECK-NEXT: 5 9 1.00 * imulw (%rax)
# CHECK-NEXT: 1 3 1.00 imulw %di, %di
# CHECK-NEXT: 2 8 1.00 * imulw (%rax), %di
# CHECK-NEXT: 2 4 1.00 imulw $511, %di, %di
# CHECK-NEXT: 3 8 1.00 * imulw $511, (%rax), %di
# CHECK-NEXT: 2 4 1.00 imulw $7, %di, %di
# CHECK-NEXT: 3 8 1.00 * imulw $7, (%rax), %di
# CHECK-NEXT: 3 4 1.00 imull %edi
# CHECK-NEXT: 4 9 1.00 * imull (%rax)
# CHECK-NEXT: 1 3 1.00 imull %edi, %edi
# CHECK-NEXT: 2 8 1.00 * imull (%rax), %edi
# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi
# CHECK-NEXT: 2 8 1.00 * imull $665536, (%rax), %edi
# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi
# CHECK-NEXT: 2 8 1.00 * imull $7, (%rax), %edi
# CHECK-NEXT: 2 4 1.00 imulq %rdi
# CHECK-NEXT: 3 9 1.00 * imulq (%rax)
# CHECK-NEXT: 1 3 1.00 imulq %rdi, %rdi
# CHECK-NEXT: 2 8 1.00 * imulq (%rax), %rdi
# CHECK-NEXT: 1 3 1.00 imulq $665536, %rdi, %rdi
# CHECK-NEXT: 2 8 1.00 * imulq $665536, (%rax), %rdi
# CHECK-NEXT: 1 3 1.00 imulq $7, %rdi, %rdi
# CHECK-NEXT: 2 8 1.00 * imulq $7, (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 incb %dil
# CHECK-NEXT: 3 7 1.00 * * incb (%rax)
# CHECK-NEXT: 1 1 0.25 incw %di
# CHECK-NEXT: 3 7 1.00 * * incw (%rax)
# CHECK-NEXT: 1 1 0.25 incl %edi
# CHECK-NEXT: 3 7 1.00 * * incl (%rax)
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
# CHECK-NEXT: 1 3 1.00 mulb %dil
# CHECK-NEXT: 2 8 1.00 * mulb (%rax)
# CHECK-NEXT: 4 4 1.00 mulw %si
# CHECK-NEXT: 5 9 1.00 * mulw (%rax)
# CHECK-NEXT: 3 4 1.00 mull %edx
# CHECK-NEXT: 4 9 1.00 * mull (%rax)
# CHECK-NEXT: 2 4 1.00 mulq %rcx
# 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: 1 1 0.25 negw %si
# CHECK-NEXT: 3 7 1.00 * * negw (%r9)
# CHECK-NEXT: 1 1 0.25 negl %edx
# CHECK-NEXT: 3 7 1.00 * * negl (%rax)
# CHECK-NEXT: 1 1 0.25 negq %rcx
# CHECK-NEXT: 3 7 1.00 * * 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)
# CHECK-NEXT: 1 1 0.25 nopl %esi
# CHECK-NEXT: 1 1 0.25 nopl (%r8)
# CHECK-NEXT: 1 1 0.25 nopq %rdx
# CHECK-NEXT: 1 1 0.25 nopq (%r9)
# CHECK-NEXT: 3 3 0.75 rclb %dil
# CHECK-NEXT: 3 3 0.75 rcrb %dil
# CHECK-NEXT: 5 8 0.75 * rclb (%rax)
@ -779,7 +952,7 @@ subq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
# CHECK-NEXT: - - 286.75 108.25 142.67 142.67 118.00 57.25 286.75 52.67
# CHECK-NEXT: 60.00 - 406.75 200.75 165.17 165.17 130.00 161.25 391.25 56.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@ -891,6 +1064,87 @@ subq (%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.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.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.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.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: 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
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divw (%rax)
# CHECK-NEXT: - - 10.25 4.75 - - - 11.25 5.75 - divl %edx
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divl (%rax)
# CHECK-NEXT: - - 10.25 4.75 - - - 11.25 5.75 - divq %rcx
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divq (%rax)
# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivb %dil
# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivb (%rax)
# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivw %si
# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivw (%rax)
# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivl %edx
# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivl (%rax)
# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivq %rcx
# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivq (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - imulb %dil
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulb (%rax)
# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - imulw %di
# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - imulw (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - imulw %di, %di
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulw (%rax), %di
# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $511, %di, %di
# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $511, (%rax), %di
# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $7, %di, %di
# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $7, (%rax), %di
# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - imull %edi
# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - imull (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - imull %edi, %edi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull (%rax), %edi
# CHECK-NEXT: - - - 1.00 - - - - - - imull $665536, %edi, %edi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $665536, (%rax), %edi
# CHECK-NEXT: - - - 1.00 - - - - - - imull $7, %edi, %edi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $7, (%rax), %edi
# CHECK-NEXT: - - - 1.00 - - - 1.00 - - imulq %rdi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - imulq (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - imulq %rdi, %rdi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - - - imulq $665536, %rdi, %rdi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $665536, (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - - - imulq $7, %rdi, %rdi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $7, (%rax), %rdi
# 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.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.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.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: - - - 1.00 - - - - - - mulb %dil
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax)
# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si
# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - mulw (%rax)
# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mull %edx
# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mull (%rax)
# CHECK-NEXT: - - - 1.00 - - - 1.00 - - mulq %rcx
# 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.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.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.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.25 0.25 - nop
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw %di
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw (%rcx)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl %esi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl (%r8)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq %rdx
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq (%r9)
# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb %dil
# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb %dil
# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb (%rax)

View File

@ -120,6 +120,98 @@ btcq $7, (%rax)
btrq $7, (%rax)
btsq $7, (%rax)
decb %dil
decb (%rax)
decw %di
decw (%rax)
decl %edi
decl (%rax)
decq %rdi
decq (%rax)
divb %dil
divb (%rax)
divw %si
divw (%rax)
divl %edx
divl (%rax)
divq %rcx
divq (%rax)
idivb %dil
idivb (%rax)
idivw %si
idivw (%rax)
idivl %edx
idivl (%rax)
idivq %rcx
idivq (%rax)
imulb %dil
imulb (%rax)
imulw %di
imulw (%rax)
imulw %di, %di
imulw (%rax), %di
imulw $511, %di, %di
imulw $511, (%rax), %di
imulw $7, %di, %di
imulw $7, (%rax), %di
imull %edi
imull (%rax)
imull %edi, %edi
imull (%rax), %edi
imull $665536, %edi, %edi
imull $665536, (%rax), %edi
imull $7, %edi, %edi
imull $7, (%rax), %edi
imulq %rdi
imulq (%rax)
imulq %rdi, %rdi
imulq (%rax), %rdi
imulq $665536, %rdi, %rdi
imulq $665536, (%rax), %rdi
imulq $7, %rdi, %rdi
imulq $7, (%rax), %rdi
incb %dil
incb (%rax)
incw %di
incw (%rax)
incl %edi
incl (%rax)
incq %rdi
incq (%rax)
mulb %dil
mulb (%rax)
mulw %si
mulw (%rax)
mull %edx
mull (%rax)
mulq %rcx
mulq (%rax)
negb %dil
negb (%r8)
negw %si
negw (%r9)
negl %edx
negl (%rax)
negq %rcx
negq (%r10)
nop
nopw %di
nopw (%rcx)
nopl %esi
nopl (%r8)
nopq %rdx
nopq (%r9)
rclb %dil
rcrb %dil
rclb (%rax)
@ -512,6 +604,87 @@ subq (%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: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
# CHECK-NEXT: 3 7 1.00 * * decw (%rax)
# CHECK-NEXT: 1 1 0.25 decl %edi
# CHECK-NEXT: 3 7 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.25 decq %rdi
# CHECK-NEXT: 3 7 1.00 * * decq (%rax)
# CHECK-NEXT: 1 25 10.00 * divb %dil
# CHECK-NEXT: 2 29 10.00 * * divb (%rax)
# CHECK-NEXT: 32 76 8.00 * divw %si
# CHECK-NEXT: 2 29 10.00 * * divw (%rax)
# CHECK-NEXT: 32 76 8.00 * divl %edx
# CHECK-NEXT: 2 29 10.00 * * divl (%rax)
# CHECK-NEXT: 32 76 8.00 * divq %rcx
# CHECK-NEXT: 2 29 10.00 * * divq (%rax)
# CHECK-NEXT: 1 25 10.00 * idivb %dil
# CHECK-NEXT: 8 28 4.00 * * idivb (%rax)
# CHECK-NEXT: 66 102 16.50 * idivw %si
# CHECK-NEXT: 8 28 4.00 * * idivw (%rax)
# CHECK-NEXT: 66 102 16.50 * idivl %edx
# CHECK-NEXT: 8 28 4.00 * * idivl (%rax)
# CHECK-NEXT: 66 102 16.50 * idivq %rcx
# CHECK-NEXT: 8 28 4.00 * * idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 4 4 1.00 imulw %di
# CHECK-NEXT: 5 9 1.00 * imulw (%rax)
# CHECK-NEXT: 1 3 1.00 imulw %di, %di
# CHECK-NEXT: 3 8 1.00 * imulw (%rax), %di
# CHECK-NEXT: 2 4 1.00 imulw $511, %di, %di
# CHECK-NEXT: 3 8 1.00 * imulw $511, (%rax), %di
# CHECK-NEXT: 2 4 1.00 imulw $7, %di, %di
# CHECK-NEXT: 3 8 1.00 * imulw $7, (%rax), %di
# CHECK-NEXT: 3 4 1.00 imull %edi
# CHECK-NEXT: 4 9 1.00 * imull (%rax)
# CHECK-NEXT: 1 3 1.00 imull %edi, %edi
# CHECK-NEXT: 2 8 1.00 * imull (%rax), %edi
# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi
# CHECK-NEXT: 2 8 1.00 * imull $665536, (%rax), %edi
# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi
# CHECK-NEXT: 2 8 1.00 * imull $7, (%rax), %edi
# CHECK-NEXT: 2 4 1.00 imulq %rdi
# CHECK-NEXT: 3 9 1.00 * imulq (%rax)
# CHECK-NEXT: 1 3 1.00 imulq %rdi, %rdi
# CHECK-NEXT: 2 8 1.00 * imulq (%rax), %rdi
# CHECK-NEXT: 1 3 1.00 imulq $665536, %rdi, %rdi
# CHECK-NEXT: 2 8 1.00 * imulq $665536, (%rax), %rdi
# CHECK-NEXT: 1 3 1.00 imulq $7, %rdi, %rdi
# CHECK-NEXT: 2 8 1.00 * imulq $7, (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 incb %dil
# CHECK-NEXT: 3 7 1.00 * * incb (%rax)
# CHECK-NEXT: 1 1 0.25 incw %di
# CHECK-NEXT: 3 7 1.00 * * incw (%rax)
# CHECK-NEXT: 1 1 0.25 incl %edi
# CHECK-NEXT: 3 7 1.00 * * incl (%rax)
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
# CHECK-NEXT: 1 3 1.00 mulb %dil
# CHECK-NEXT: 2 8 1.00 * mulb (%rax)
# CHECK-NEXT: 4 4 1.00 mulw %si
# CHECK-NEXT: 5 9 1.00 * mulw (%rax)
# CHECK-NEXT: 3 4 1.00 mull %edx
# CHECK-NEXT: 4 9 1.00 * mull (%rax)
# CHECK-NEXT: 2 4 1.00 mulq %rcx
# 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: 1 1 0.25 negw %si
# CHECK-NEXT: 3 7 1.00 * * negw (%r9)
# CHECK-NEXT: 1 1 0.25 negl %edx
# CHECK-NEXT: 3 7 1.00 * * negl (%rax)
# CHECK-NEXT: 1 1 0.25 negq %rcx
# CHECK-NEXT: 3 7 1.00 * * 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)
# CHECK-NEXT: 1 1 0.25 nopl %esi
# CHECK-NEXT: 1 1 0.25 nopl (%r8)
# CHECK-NEXT: 1 1 0.25 nopq %rdx
# CHECK-NEXT: 1 1 0.25 nopq (%r9)
# CHECK-NEXT: 3 3 0.75 rclb %dil
# CHECK-NEXT: 3 3 0.75 rcrb %dil
# CHECK-NEXT: 5 8 0.75 * rclb (%rax)
@ -779,7 +952,7 @@ subq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
# CHECK-NEXT: - - 286.75 108.25 142.67 142.67 118.00 57.25 286.75 52.67
# CHECK-NEXT: 60.00 - 407.00 201.00 165.17 165.17 130.00 161.50 391.50 56.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@ -891,6 +1064,87 @@ subq (%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.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.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.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.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: 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
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divw (%rax)
# CHECK-NEXT: - - 10.25 4.75 - - - 11.25 5.75 - divl %edx
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divl (%rax)
# CHECK-NEXT: - - 10.25 4.75 - - - 11.25 5.75 - divq %rcx
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divq (%rax)
# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivb %dil
# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivb (%rax)
# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivw %si
# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivw (%rax)
# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivl %edx
# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivl (%rax)
# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivq %rcx
# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivq (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - imulb %dil
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulb (%rax)
# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - imulw %di
# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - imulw (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - imulw %di, %di
# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw (%rax), %di
# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $511, %di, %di
# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $511, (%rax), %di
# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $7, %di, %di
# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $7, (%rax), %di
# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - imull %edi
# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - imull (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - imull %edi, %edi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull (%rax), %edi
# CHECK-NEXT: - - - 1.00 - - - - - - imull $665536, %edi, %edi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $665536, (%rax), %edi
# CHECK-NEXT: - - - 1.00 - - - - - - imull $7, %edi, %edi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $7, (%rax), %edi
# CHECK-NEXT: - - - 1.00 - - - 1.00 - - imulq %rdi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - imulq (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - imulq %rdi, %rdi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - - - imulq $665536, %rdi, %rdi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $665536, (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - - - imulq $7, %rdi, %rdi
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $7, (%rax), %rdi
# 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.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.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.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: - - - 1.00 - - - - - - mulb %dil
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax)
# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si
# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - mulw (%rax)
# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mull %edx
# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mull (%rax)
# CHECK-NEXT: - - - 1.00 - - - 1.00 - - mulq %rcx
# 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.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.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.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.25 0.25 - nop
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw %di
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw (%rcx)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl %esi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl (%r8)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq %rdx
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq (%r9)
# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb %dil
# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb %dil
# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb (%rax)

View File

@ -120,6 +120,98 @@ btcq $7, (%rax)
btrq $7, (%rax)
btsq $7, (%rax)
decb %dil
decb (%rax)
decw %di
decw (%rax)
decl %edi
decl (%rax)
decq %rdi
decq (%rax)
divb %dil
divb (%rax)
divw %si
divw (%rax)
divl %edx
divl (%rax)
divq %rcx
divq (%rax)
idivb %dil
idivb (%rax)
idivw %si
idivw (%rax)
idivl %edx
idivl (%rax)
idivq %rcx
idivq (%rax)
imulb %dil
imulb (%rax)
imulw %di
imulw (%rax)
imulw %di, %di
imulw (%rax), %di
imulw $511, %di, %di
imulw $511, (%rax), %di
imulw $7, %di, %di
imulw $7, (%rax), %di
imull %edi
imull (%rax)
imull %edi, %edi
imull (%rax), %edi
imull $665536, %edi, %edi
imull $665536, (%rax), %edi
imull $7, %edi, %edi
imull $7, (%rax), %edi
imulq %rdi
imulq (%rax)
imulq %rdi, %rdi
imulq (%rax), %rdi
imulq $665536, %rdi, %rdi
imulq $665536, (%rax), %rdi
imulq $7, %rdi, %rdi
imulq $7, (%rax), %rdi
incb %dil
incb (%rax)
incw %di
incw (%rax)
incl %edi
incl (%rax)
incq %rdi
incq (%rax)
mulb %dil
mulb (%rax)
mulw %si
mulw (%rax)
mull %edx
mull (%rax)
mulq %rcx
mulq (%rax)
negb %dil
negb (%r8)
negw %si
negw (%r9)
negl %edx
negl (%rax)
negq %rcx
negq (%r10)
nop
nopw %di
nopw (%rcx)
nopl %esi
nopl (%r8)
nopq %rdx
nopq (%r9)
rclb %dil
rcrb %dil
rclb (%rax)
@ -512,6 +604,87 @@ subq (%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: 1 1 0.25 decb %dil
# CHECK-NEXT: 2 5 0.50 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
# CHECK-NEXT: 2 5 0.50 * * decw (%rax)
# CHECK-NEXT: 1 1 0.25 decl %edi
# CHECK-NEXT: 2 5 0.50 * * decl (%rax)
# CHECK-NEXT: 1 1 0.25 decq %rdi
# CHECK-NEXT: 2 5 0.50 * * decq (%rax)
# CHECK-NEXT: 1 15 1.00 * divb %dil
# CHECK-NEXT: 1 45 41.00 * * divb (%rax)
# CHECK-NEXT: 2 17 1.00 * divw %si
# CHECK-NEXT: 1 45 41.00 * * divw (%rax)
# CHECK-NEXT: 2 25 1.00 * divl %edx
# CHECK-NEXT: 1 45 41.00 * * divl (%rax)
# CHECK-NEXT: 2 41 1.00 * divq %rcx
# CHECK-NEXT: 1 45 41.00 * * divq (%rax)
# CHECK-NEXT: 1 15 1.00 * idivb %dil
# CHECK-NEXT: 1 45 41.00 * * idivb (%rax)
# CHECK-NEXT: 2 17 1.00 * idivw %si
# CHECK-NEXT: 1 45 41.00 * * idivw (%rax)
# CHECK-NEXT: 2 25 1.00 * idivl %edx
# CHECK-NEXT: 1 45 41.00 * * idivl (%rax)
# CHECK-NEXT: 2 41 1.00 * idivq %rcx
# CHECK-NEXT: 1 45 41.00 * * idivq (%rax)
# CHECK-NEXT: 1 4 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 1 3 1.00 imulw %di
# CHECK-NEXT: 1 8 1.00 * imulw (%rax)
# CHECK-NEXT: 1 3 1.00 imulw %di, %di
# CHECK-NEXT: 1 3 1.00 * imulw (%rax), %di
# CHECK-NEXT: 1 3 1.00 imulw $511, %di, %di
# CHECK-NEXT: 1 3 1.00 * imulw $511, (%rax), %di
# CHECK-NEXT: 1 3 1.00 imulw $7, %di, %di
# CHECK-NEXT: 1 3 1.00 * imulw $7, (%rax), %di
# CHECK-NEXT: 1 3 1.00 imull %edi
# CHECK-NEXT: 1 8 1.00 * imull (%rax)
# CHECK-NEXT: 1 3 1.00 imull %edi, %edi
# CHECK-NEXT: 1 3 1.00 * imull (%rax), %edi
# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi
# CHECK-NEXT: 1 3 1.00 * imull $665536, (%rax), %edi
# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi
# CHECK-NEXT: 1 3 1.00 * imull $7, (%rax), %edi
# CHECK-NEXT: 2 4 1.00 imulq %rdi
# CHECK-NEXT: 2 9 1.00 * imulq (%rax)
# CHECK-NEXT: 2 4 1.00 imulq %rdi, %rdi
# CHECK-NEXT: 2 4 1.00 * imulq (%rax), %rdi
# CHECK-NEXT: 2 4 1.00 imulq $665536, %rdi, %rdi
# CHECK-NEXT: 2 4 1.00 * imulq $665536, (%rax), %rdi
# CHECK-NEXT: 2 4 1.00 imulq $7, %rdi, %rdi
# CHECK-NEXT: 2 4 1.00 * imulq $7, (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 incb %dil
# CHECK-NEXT: 2 5 0.50 * * incb (%rax)
# CHECK-NEXT: 1 1 0.25 incw %di
# CHECK-NEXT: 2 5 0.50 * * incw (%rax)
# CHECK-NEXT: 1 1 0.25 incl %edi
# CHECK-NEXT: 2 5 0.50 * * incl (%rax)
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 2 5 0.50 * * incq (%rax)
# CHECK-NEXT: 1 4 1.00 mulb %dil
# CHECK-NEXT: 2 8 1.00 * mulb (%rax)
# CHECK-NEXT: 1 3 1.00 mulw %si
# CHECK-NEXT: 1 8 1.00 * mulw (%rax)
# CHECK-NEXT: 1 3 1.00 mull %edx
# CHECK-NEXT: 1 8 1.00 * mull (%rax)
# CHECK-NEXT: 2 4 1.00 mulq %rcx
# 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: 1 1 0.25 negw %si
# CHECK-NEXT: 2 5 0.50 * * negw (%r9)
# CHECK-NEXT: 1 1 0.25 negl %edx
# CHECK-NEXT: 2 5 0.50 * * negl (%rax)
# CHECK-NEXT: 1 1 0.25 negq %rcx
# CHECK-NEXT: 2 5 0.50 * * negq (%r10)
# CHECK-NEXT: 1 1 - nop
# CHECK-NEXT: 1 1 - nopw %di
# CHECK-NEXT: 1 1 - nopw (%rcx)
# CHECK-NEXT: 1 1 - nopl %esi
# CHECK-NEXT: 1 1 - nopl (%r8)
# CHECK-NEXT: 1 1 - nopq %rdx
# CHECK-NEXT: 1 1 - nopq (%r9)
# CHECK-NEXT: 1 1 0.25 rclb %dil
# CHECK-NEXT: 1 1 0.25 rcrb %dil
# CHECK-NEXT: 1 100 - * rclb (%rax)
@ -781,7 +954,7 @@ subq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
# CHECK-NEXT: 93.00 93.00 81.00 81.00 81.00 81.00 - - - - - -
# CHECK-NEXT: 119.00 119.00 87.00 121.00 103.00 87.00 336.00 - - - - 34.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@ -893,6 +1066,87 @@ subq (%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.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.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.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.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: - - - - 1.00 - 1.00 - - - - - divb %dil
# CHECK-NEXT: 2.00 2.00 - - 1.00 - 41.00 - - - - - divb (%rax)
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - divw %si
# CHECK-NEXT: 2.00 2.00 - - 1.00 - 41.00 - - - - - divw (%rax)
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - divl %edx
# CHECK-NEXT: 2.00 2.00 - - 1.00 - 41.00 - - - - - divl (%rax)
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - divq %rcx
# CHECK-NEXT: 2.00 2.00 - - 1.00 - 41.00 - - - - - divq (%rax)
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - idivb %dil
# CHECK-NEXT: 2.00 2.00 - - 1.00 - 41.00 - - - - - idivb (%rax)
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - idivw %si
# CHECK-NEXT: 2.00 2.00 - - 1.00 - 41.00 - - - - - idivw (%rax)
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - idivl %edx
# CHECK-NEXT: 2.00 2.00 - - 1.00 - 41.00 - - - - - idivl (%rax)
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - idivq %rcx
# CHECK-NEXT: 2.00 2.00 - - 1.00 - 41.00 - - - - - idivq (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulb %dil
# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 imulb (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw %di
# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 imulw (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw %di, %di
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw (%rax), %di
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw $511, %di, %di
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw $511, (%rax), %di
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw $7, %di, %di
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw $7, (%rax), %di
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull %edi
# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 imull (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull %edi, %edi
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull (%rax), %edi
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull $665536, %edi, %edi
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull $665536, (%rax), %edi
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull $7, %edi, %edi
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull $7, (%rax), %edi
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq %rdi
# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 imulq (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq %rdi, %rdi
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq $665536, %rdi, %rdi
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq $665536, (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq $7, %rdi, %rdi
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq $7, (%rax), %rdi
# 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.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.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.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: - - - 1.00 - - - - - - - 1.00 mulb %dil
# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 mulb (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 mulw %si
# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 mulw (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 mull %edx
# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 mull (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 mulq %rcx
# 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.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.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.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: - - - - - - - - - - - - nop
# CHECK-NEXT: - - - - - - - - - - - - nopw %di
# CHECK-NEXT: - - - - - - - - - - - - nopw (%rcx)
# CHECK-NEXT: - - - - - - - - - - - - nopl %esi
# CHECK-NEXT: - - - - - - - - - - - - nopl (%r8)
# CHECK-NEXT: - - - - - - - - - - - - nopq %rdx
# CHECK-NEXT: - - - - - - - - - - - - nopq (%r9)
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rclb %dil
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrb %dil
# CHECK-NEXT: - - - - - - - - - - - - rclb (%rax)