OSDN Git Service

[llvm-mca][x86] Add div/idiv, mul/imul and inc/dec/neg/nop instruction tests
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 8 May 2018 13:30:58 +0000 (13:30 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 8 May 2018 13:30:58 +0000 (13:30 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@331765 91177308-0d34-0410-b5e6-96231b3b80d8

test/tools/llvm-mca/X86/Atom/resources-x86_64.s
test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
test/tools/llvm-mca/X86/SLM/resources-x86_64.s
test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
test/tools/llvm-mca/X86/Znver1/resources-x86_64.s

index d2315f8..9cc689e 100644 (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)
index 46c4400..46da90e 100644 (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)
index 865bd21..7171811 100644 (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)
index ae62d4c..4e77565 100644 (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)
index 1e9fd77..9e11a07 100644 (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)
index f08f3a4..b1e6c64 100644 (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)
index 24152f4..fe6ca2b 100644 (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)
index 5b381ca..a840013 100644 (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)
index 2da59ea..e5f6cd1 100644 (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)