OSDN Git Service

[llvm-mca][X86] Add add/adc + sub/sbb resource tests to all models
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 29 Apr 2018 11:03:25 +0000 (11:03 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 29 Apr 2018 11:03:25 +0000 (11:03 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@331140 91177308-0d34-0410-b5e6-96231b3b80d8

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 df3f78b..11f8795 100644 (file)
@@ -1,6 +1,74 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=broadwell -instruction-tables < %s | FileCheck %s
 
+adcb $7, %al
+adcb $7, %dil
+adcb $7, (%rax)
+adcb %dil, %dil
+adcb %dil, (%rax)
+adcb (%rax), %dil
+
+adcw $511, %ax
+adcw $511, %di
+adcw $511, (%rax)
+adcw $7, %di
+adcw $7, (%rax)
+adcw %di, %di
+adcw %di, (%rax)
+adcw (%rax), %di
+
+adcl $665536, %eax
+adcl $665536, %edi
+adcl $665536, (%rax)
+adcl $7, %edi
+adcl $7, (%rax)
+adcl %edi, %edi
+adcl %edi, (%rax)
+adcl (%rax), %edi
+
+adcq $665536, %rax
+adcq $665536, %rdi
+adcq $665536, (%rax)
+adcq $7, %rdi
+adcq $7, (%rax)
+adcq %rdi, %rdi
+adcq %rdi, (%rax)
+adcq (%rax), %rdi
+
+addb $7, %al
+addb $7, %dil
+addb $7, (%rax)
+addb %dil, %dil
+addb %dil, (%rax)
+addb (%rax), %dil
+
+addw $511, %ax
+addw $511, %di
+addw $511, (%rax)
+addw $7, %di
+addw $7, (%rax)
+addw %di, %di
+addw %di, (%rax)
+addw (%rax), %di
+
+addl $665536, %eax
+addl $665536, %edi
+addl $665536, (%rax)
+addl $7, %edi
+addl $7, (%rax)
+addl %edi, %edi
+addl %edi, (%rax)
+addl (%rax), %edi
+
+addq $665536, %rax
+addq $665536, %rdi
+addq $665536, (%rax)
+addq $7, %rdi
+addq $7, (%rax)
+addq %rdi, %rdi
+addq %rdi, (%rax)
+addq (%rax), %rdi
+
 rclb %dil
 rcrb %dil
 rclb (%rax)
@@ -181,6 +249,40 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+sbbb $7, %al
+sbbb $7, %dil
+sbbb $7, (%rax)
+sbbb %dil, %dil
+sbbb %dil, (%rax)
+sbbb (%rax), %dil
+
+sbbw $511, %ax
+sbbw $511, %di
+sbbw $511, (%rax)
+sbbw $7, %di
+sbbw $7, (%rax)
+sbbw %di, %di
+sbbw %di, (%rax)
+sbbw (%rax), %di
+
+sbbl $665536, %eax
+sbbl $665536, %edi
+sbbl $665536, (%rax)
+sbbl $7, %edi
+sbbl $7, (%rax)
+sbbl %edi, %edi
+sbbl %edi, (%rax)
+sbbl (%rax), %edi
+
+sbbq $665536, %rax
+sbbq $665536, %rdi
+sbbq $665536, (%rax)
+sbbq $7, %rdi
+sbbq $7, (%rax)
+sbbq %rdi, %rdi
+sbbq %rdi, (%rax)
+sbbq (%rax), %rdi
+
 shldw %cl, %si, %di
 shrdw %cl, %si, %di
 shldw %cl, %si, (%rax)
@@ -208,6 +310,40 @@ shrdq $7, %rsi, %rdi
 shldq $7, %rsi, (%rax)
 shrdq $7, %rsi, (%rax)
 
+subb $7, %al
+subb $7, %dil
+subb $7, (%rax)
+subb %dil, %dil
+subb %dil, (%rax)
+subb (%rax), %dil
+
+subw $511, %ax
+subw $511, %di
+subw $511, (%rax)
+subw $7, %di
+subw $7, (%rax)
+subw %di, %di
+subw %di, (%rax)
+subw (%rax), %di
+
+subl $665536, %eax
+subl $665536, %edi
+subl $665536, (%rax)
+subl $7, %edi
+subl $7, (%rax)
+subl %edi, %edi
+subl %edi, (%rax)
+subl (%rax), %edi
+
+subq $665536, %rax
+subq $665536, %rdi
+subq $665536, (%rax)
+subq $7, %rdi
+subq $7, (%rax)
+subq %rdi, %rdi
+subq %rdi, (%rax)
+subq (%rax), %rdi
+
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -217,6 +353,66 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT: [6]: HasSideEffects
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]   Instructions:
+# CHECK-NEXT:  2      2     0.50                       adcb    $7, %al
+# CHECK-NEXT:  2      2     0.50                       adcb    $7, %dil
+# CHECK-NEXT:  6      8     1.00    *      *           adcb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcb    %dil, %dil
+# CHECK-NEXT:  6      8     1.00    *      *           adcb    %dil, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  adcb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                       adcw    $511, %ax
+# CHECK-NEXT:  1      1     0.50                       adcw    $511, %di
+# CHECK-NEXT:  6      8     1.00    *      *           adcw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcw    $7, %di
+# CHECK-NEXT:  6      8     1.00    *      *           adcw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcw    %di, %di
+# CHECK-NEXT:  6      8     1.00    *      *           adcw    %di, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  adcw    (%rax), %di
+# CHECK-NEXT:  1      1     0.50                       adcl    $665536, %eax
+# CHECK-NEXT:  1      1     0.50                       adcl    $665536, %edi
+# CHECK-NEXT:  6      8     1.00    *      *           adcl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcl    $7, %edi
+# CHECK-NEXT:  6      8     1.00    *      *           adcl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcl    %edi, %edi
+# CHECK-NEXT:  6      8     1.00    *      *           adcl    %edi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  adcl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                       adcq    $665536, %rax
+# CHECK-NEXT:  1      1     0.50                       adcq    $665536, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *           adcq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcq    $7, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *           adcq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcq    %rdi, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *           adcq    %rdi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  adcq    (%rax), %rdi
+# CHECK-NEXT:  1      1     0.25                       addb    $7, %al
+# CHECK-NEXT:  1      1     0.25                       addb    $7, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           addb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addb    %dil, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           addb    %dil, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.25                       addw    $511, %ax
+# CHECK-NEXT:  1      1     0.25                       addw    $511, %di
+# CHECK-NEXT:  3      7     1.00    *      *           addw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addw    $7, %di
+# CHECK-NEXT:  3      7     1.00    *      *           addw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addw    %di, %di
+# CHECK-NEXT:  3      7     1.00    *      *           addw    %di, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addw    (%rax), %di
+# CHECK-NEXT:  1      1     0.25                       addl    $665536, %eax
+# CHECK-NEXT:  1      1     0.25                       addl    $665536, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           addl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addl    $7, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           addl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addl    %edi, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           addl    %edi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.25                       addq    $665536, %rax
+# CHECK-NEXT:  1      1     0.25                       addq    $665536, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           addq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addq    $7, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           addq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addq    %rdi, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           addq    %rdi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addq    (%rax), %rdi
 # CHECK-NEXT:  3      3     0.75                       rclb    %dil
 # CHECK-NEXT:  3      3     0.75                       rcrb    %dil
 # CHECK-NEXT:  5      8     0.75           *           rclb    (%rax)
@@ -385,6 +581,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  6      8     1.00    *      *           sarq    %cl, (%rax)
 # CHECK-NEXT:  6      8     1.00    *      *           shlq    %cl, (%rax)
 # CHECK-NEXT:  6      8     1.00    *      *           shrq    %cl, (%rax)
+# CHECK-NEXT:  2      2     0.50                       sbbb    $7, %al
+# CHECK-NEXT:  2      2     0.50                       sbbb    $7, %dil
+# CHECK-NEXT:  6      8     1.00    *      *           sbbb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbb    %dil, %dil
+# CHECK-NEXT:  6      8     1.00    *      *           sbbb    %dil, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  sbbb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                       sbbw    $511, %ax
+# CHECK-NEXT:  1      1     0.50                       sbbw    $511, %di
+# CHECK-NEXT:  6      8     1.00    *      *           sbbw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbw    $7, %di
+# CHECK-NEXT:  6      8     1.00    *      *           sbbw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbw    %di, %di
+# CHECK-NEXT:  6      8     1.00    *      *           sbbw    %di, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  sbbw    (%rax), %di
+# CHECK-NEXT:  1      1     0.50                       sbbl    $665536, %eax
+# CHECK-NEXT:  1      1     0.50                       sbbl    $665536, %edi
+# CHECK-NEXT:  6      8     1.00    *      *           sbbl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbl    $7, %edi
+# CHECK-NEXT:  6      8     1.00    *      *           sbbl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbl    %edi, %edi
+# CHECK-NEXT:  6      8     1.00    *      *           sbbl    %edi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  sbbl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                       sbbq    $665536, %rax
+# CHECK-NEXT:  1      1     0.50                       sbbq    $665536, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *           sbbq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbq    $7, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *           sbbq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbq    %rdi, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *           sbbq    %rdi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  sbbq    (%rax), %rdi
 # CHECK-NEXT:  4      6     1.00                       shldw   %cl, %si, %di
 # CHECK-NEXT:  4      6     1.00                       shrdw   %cl, %si, %di
 # CHECK-NEXT:  6      11    1.00    *      *           shldw   %cl, %si, (%rax)
@@ -409,6 +635,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  1      3     1.00                       shrdq   $7, %rsi, %rdi
 # CHECK-NEXT:  4      9     1.00    *      *           shldq   $7, %rsi, (%rax)
 # CHECK-NEXT:  4      9     1.00    *      *           shrdq   $7, %rsi, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subb    $7, %al
+# CHECK-NEXT:  1      1     0.25                       subb    $7, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           subb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subb    %dil, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           subb    %dil, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.25                       subw    $511, %ax
+# CHECK-NEXT:  1      1     0.25                       subw    $511, %di
+# CHECK-NEXT:  3      7     1.00    *      *           subw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subw    $7, %di
+# CHECK-NEXT:  3      7     1.00    *      *           subw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subw    %di, %di
+# CHECK-NEXT:  3      7     1.00    *      *           subw    %di, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subw    (%rax), %di
+# CHECK-NEXT:  1      1     0.25                       subl    $665536, %eax
+# CHECK-NEXT:  1      1     0.25                       subl    $665536, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           subl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subl    $7, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           subl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subl    %edi, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           subl    %edi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.25                       subq    $665536, %rax
+# CHECK-NEXT:  1      1     0.25                       subq    $665536, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           subq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subq    $7, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           subq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subq    %rdi, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           subq    %rdi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subq    (%rax), %rdi
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0] - BWDivider
@@ -424,10 +680,70 @@ shrdq $7, %rsi, (%rax)
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -      -     186.25 100.75 80.00  80.00  56.00  49.75  186.25 32.00
+# CHECK-NEXT:  -      -     248.75 122.25 124.67 124.67 100.00 71.25  248.75 46.67
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]       Instructions:
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcb    $7, %al
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcb    $7, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcb    %dil, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        adcb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcw    $511, %ax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcw    $511, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcw    $7, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcw    %di, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        adcw    (%rax), %di
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcl    $665536, %eax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcl    $665536, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcl    $7, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcl    %edi, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        adcl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcq    $665536, %rax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcq    $665536, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcq    $7, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcq    %rdi, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        adcq    (%rax), %rdi
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addb    $7, %al
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addb    $7, %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addb    %dil, %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        addb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addw    $511, %ax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addw    $511, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addw    $7, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addw    %di, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        addw    (%rax), %di
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addl    $665536, %eax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addl    $665536, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addl    $7, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addl    %edi, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        addl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addq    $665536, %rax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addq    $665536, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addq    $7, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addq    %rdi, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        addq    (%rax), %rdi
 # 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)
@@ -596,6 +912,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sarq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      shlq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      shrq    %cl, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbb    $7, %al
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbb    $7, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbb    %dil, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        sbbb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbw    $511, %ax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbw    $511, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbw    $7, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbw    %di, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        sbbw    (%rax), %di
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbl    $665536, %eax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbl    $665536, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbl    $7, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbl    %edi, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        sbbl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbq    $665536, %rax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbq    $665536, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbq    $7, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbq    %rdi, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        sbbq    (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -        shldw   %cl, %si, %di
 # CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -        shrdw   %cl, %si, %di
 # CHECK-NEXT:  -      -     1.00   1.50   0.83   0.83    -     0.50   1.00   0.33      shldw   %cl, %si, (%rax)
@@ -620,4 +966,34 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shrdq   $7, %rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shldq   $7, %rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shrdq   $7, %rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subb    $7, %al
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subb    $7, %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subb    %dil, %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        subb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subw    $511, %ax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subw    $511, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subw    $7, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subw    %di, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        subw    (%rax), %di
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subl    $665536, %eax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subl    $665536, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subl    $7, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subl    %edi, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        subl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subq    $665536, %rax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subq    $665536, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subq    $7, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subq    %rdi, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        subq    (%rax), %rdi
 
index 0ebec87..613e2b3 100644 (file)
@@ -1,6 +1,74 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -instruction-tables < %s | FileCheck %s
 
+adcb $7, %al
+adcb $7, %dil
+adcb $7, (%rax)
+adcb %dil, %dil
+adcb %dil, (%rax)
+adcb (%rax), %dil
+
+adcw $511, %ax
+adcw $511, %di
+adcw $511, (%rax)
+adcw $7, %di
+adcw $7, (%rax)
+adcw %di, %di
+adcw %di, (%rax)
+adcw (%rax), %di
+
+adcl $665536, %eax
+adcl $665536, %edi
+adcl $665536, (%rax)
+adcl $7, %edi
+adcl $7, (%rax)
+adcl %edi, %edi
+adcl %edi, (%rax)
+adcl (%rax), %edi
+
+adcq $665536, %rax
+adcq $665536, %rdi
+adcq $665536, (%rax)
+adcq $7, %rdi
+adcq $7, (%rax)
+adcq %rdi, %rdi
+adcq %rdi, (%rax)
+adcq (%rax), %rdi
+
+addb $7, %al
+addb $7, %dil
+addb $7, (%rax)
+addb %dil, %dil
+addb %dil, (%rax)
+addb (%rax), %dil
+
+addw $511, %ax
+addw $511, %di
+addw $511, (%rax)
+addw $7, %di
+addw $7, (%rax)
+addw %di, %di
+addw %di, (%rax)
+addw (%rax), %di
+
+addl $665536, %eax
+addl $665536, %edi
+addl $665536, (%rax)
+addl $7, %edi
+addl $7, (%rax)
+addl %edi, %edi
+addl %edi, (%rax)
+addl (%rax), %edi
+
+addq $665536, %rax
+addq $665536, %rdi
+addq $665536, (%rax)
+addq $7, %rdi
+addq $7, (%rax)
+addq %rdi, %rdi
+addq %rdi, (%rax)
+addq (%rax), %rdi
+
 rclb %dil
 rcrb %dil
 rclb (%rax)
@@ -181,6 +249,40 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+sbbb $7, %al
+sbbb $7, %dil
+sbbb $7, (%rax)
+sbbb %dil, %dil
+sbbb %dil, (%rax)
+sbbb (%rax), %dil
+
+sbbw $511, %ax
+sbbw $511, %di
+sbbw $511, (%rax)
+sbbw $7, %di
+sbbw $7, (%rax)
+sbbw %di, %di
+sbbw %di, (%rax)
+sbbw (%rax), %di
+
+sbbl $665536, %eax
+sbbl $665536, %edi
+sbbl $665536, (%rax)
+sbbl $7, %edi
+sbbl $7, (%rax)
+sbbl %edi, %edi
+sbbl %edi, (%rax)
+sbbl (%rax), %edi
+
+sbbq $665536, %rax
+sbbq $665536, %rdi
+sbbq $665536, (%rax)
+sbbq $7, %rdi
+sbbq $7, (%rax)
+sbbq %rdi, %rdi
+sbbq %rdi, (%rax)
+sbbq (%rax), %rdi
+
 shldw %cl, %si, %di
 shrdw %cl, %si, %di
 shldw %cl, %si, (%rax)
@@ -208,6 +310,40 @@ shrdq $7, %rsi, %rdi
 shldq $7, %rsi, (%rax)
 shrdq $7, %rsi, (%rax)
 
+subb $7, %al
+subb $7, %dil
+subb $7, (%rax)
+subb %dil, %dil
+subb %dil, (%rax)
+subb (%rax), %dil
+
+subw $511, %ax
+subw $511, %di
+subw $511, (%rax)
+subw $7, %di
+subw $7, (%rax)
+subw %di, %di
+subw %di, (%rax)
+subw (%rax), %di
+
+subl $665536, %eax
+subl $665536, %edi
+subl $665536, (%rax)
+subl $7, %edi
+subl $7, (%rax)
+subl %edi, %edi
+subl %edi, (%rax)
+subl (%rax), %edi
+
+subq $665536, %rax
+subq $665536, %rdi
+subq $665536, (%rax)
+subq $7, %rdi
+subq $7, (%rax)
+subq %rdi, %rdi
+subq %rdi, (%rax)
+subq (%rax), %rdi
+
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -217,6 +353,66 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT: [6]: HasSideEffects
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]   Instructions:
+# CHECK-NEXT:  1      1     0.50                       adcb    $7, %al
+# CHECK-NEXT:  1      1     0.50                       adcb    $7, %dil
+# CHECK-NEXT:  2      5     1.00    *      *           adcb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcb    %dil, %dil
+# CHECK-NEXT:  2      5     1.00    *      *           adcb    %dil, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  adcb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                       adcw    $511, %ax
+# CHECK-NEXT:  1      1     0.50                       adcw    $511, %di
+# CHECK-NEXT:  2      5     1.00    *      *           adcw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcw    $7, %di
+# CHECK-NEXT:  2      5     1.00    *      *           adcw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcw    %di, %di
+# CHECK-NEXT:  2      5     1.00    *      *           adcw    %di, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  adcw    (%rax), %di
+# CHECK-NEXT:  1      1     0.50                       adcl    $665536, %eax
+# CHECK-NEXT:  1      1     0.50                       adcl    $665536, %edi
+# CHECK-NEXT:  2      5     1.00    *      *           adcl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcl    $7, %edi
+# CHECK-NEXT:  2      5     1.00    *      *           adcl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcl    %edi, %edi
+# CHECK-NEXT:  2      5     1.00    *      *           adcl    %edi, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  adcl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                       adcq    $665536, %rax
+# CHECK-NEXT:  1      1     0.50                       adcq    $665536, %rdi
+# CHECK-NEXT:  2      5     1.00    *      *           adcq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcq    $7, %rdi
+# CHECK-NEXT:  2      5     1.00    *      *           adcq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcq    %rdi, %rdi
+# CHECK-NEXT:  2      5     1.00    *      *           adcq    %rdi, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  adcq    (%rax), %rdi
+# CHECK-NEXT:  1      1     0.50                       addb    $7, %al
+# CHECK-NEXT:  1      1     0.50                       addb    $7, %dil
+# CHECK-NEXT:  2      5     1.00    *      *           addb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       addb    %dil, %dil
+# CHECK-NEXT:  2      5     1.00    *      *           addb    %dil, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  addb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                       addw    $511, %ax
+# CHECK-NEXT:  1      1     0.50                       addw    $511, %di
+# CHECK-NEXT:  2      5     1.00    *      *           addw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.50                       addw    $7, %di
+# CHECK-NEXT:  2      5     1.00    *      *           addw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       addw    %di, %di
+# CHECK-NEXT:  2      5     1.00    *      *           addw    %di, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  addw    (%rax), %di
+# CHECK-NEXT:  1      1     0.50                       addl    $665536, %eax
+# CHECK-NEXT:  1      1     0.50                       addl    $665536, %edi
+# CHECK-NEXT:  2      5     1.00    *      *           addl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       addl    $7, %edi
+# CHECK-NEXT:  2      5     1.00    *      *           addl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       addl    %edi, %edi
+# CHECK-NEXT:  2      5     1.00    *      *           addl    %edi, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  addl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                       addq    $665536, %rax
+# CHECK-NEXT:  1      1     0.50                       addq    $665536, %rdi
+# CHECK-NEXT:  2      5     1.00    *      *           addq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       addq    $7, %rdi
+# CHECK-NEXT:  2      5     1.00    *      *           addq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       addq    %rdi, %rdi
+# CHECK-NEXT:  2      5     1.00    *      *           addq    %rdi, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  addq    (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                       rclb    %dil
 # CHECK-NEXT:  1      1     0.50                       rcrb    %dil
 # CHECK-NEXT:  2      4     1.00           *           rclb    (%rax)
@@ -385,6 +581,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *           sarq    %cl, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *           shlq    %cl, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *           shrq    %cl, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbb    $7, %al
+# CHECK-NEXT:  1      1     0.50                       sbbb    $7, %dil
+# CHECK-NEXT:  2      5     1.00    *      *           sbbb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbb    %dil, %dil
+# CHECK-NEXT:  2      5     1.00    *      *           sbbb    %dil, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  sbbb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                       sbbw    $511, %ax
+# CHECK-NEXT:  1      1     0.50                       sbbw    $511, %di
+# CHECK-NEXT:  2      5     1.00    *      *           sbbw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbw    $7, %di
+# CHECK-NEXT:  2      5     1.00    *      *           sbbw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbw    %di, %di
+# CHECK-NEXT:  2      5     1.00    *      *           sbbw    %di, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  sbbw    (%rax), %di
+# CHECK-NEXT:  1      1     0.50                       sbbl    $665536, %eax
+# CHECK-NEXT:  1      1     0.50                       sbbl    $665536, %edi
+# CHECK-NEXT:  2      5     1.00    *      *           sbbl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbl    $7, %edi
+# CHECK-NEXT:  2      5     1.00    *      *           sbbl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbl    %edi, %edi
+# CHECK-NEXT:  2      5     1.00    *      *           sbbl    %edi, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  sbbl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                       sbbq    $665536, %rax
+# CHECK-NEXT:  1      1     0.50                       sbbq    $665536, %rdi
+# CHECK-NEXT:  2      5     1.00    *      *           sbbq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbq    $7, %rdi
+# CHECK-NEXT:  2      5     1.00    *      *           sbbq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbq    %rdi, %rdi
+# CHECK-NEXT:  2      5     1.00    *      *           sbbq    %rdi, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  sbbq    (%rax), %rdi
 # CHECK-NEXT:  7      4     4.00                       shldw   %cl, %si, %di
 # CHECK-NEXT:  7      4     4.00                       shrdw   %cl, %si, %di
 # CHECK-NEXT:  8      9     11.00   *      *           shldw   %cl, %si, (%rax)
@@ -409,6 +635,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  6      3     3.00                       shrdq   $7, %rsi, %rdi
 # CHECK-NEXT:  8      9     11.00   *      *           shldq   $7, %rsi, (%rax)
 # CHECK-NEXT:  8      9     11.00   *      *           shrdq   $7, %rsi, (%rax)
+# CHECK-NEXT:  1      1     0.50                       subb    $7, %al
+# CHECK-NEXT:  1      1     0.50                       subb    $7, %dil
+# CHECK-NEXT:  2      5     1.00    *      *           subb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       subb    %dil, %dil
+# CHECK-NEXT:  2      5     1.00    *      *           subb    %dil, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  subb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                       subw    $511, %ax
+# CHECK-NEXT:  1      1     0.50                       subw    $511, %di
+# CHECK-NEXT:  2      5     1.00    *      *           subw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.50                       subw    $7, %di
+# CHECK-NEXT:  2      5     1.00    *      *           subw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       subw    %di, %di
+# CHECK-NEXT:  2      5     1.00    *      *           subw    %di, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  subw    (%rax), %di
+# CHECK-NEXT:  1      1     0.50                       subl    $665536, %eax
+# CHECK-NEXT:  1      1     0.50                       subl    $665536, %edi
+# CHECK-NEXT:  2      5     1.00    *      *           subl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       subl    $7, %edi
+# CHECK-NEXT:  2      5     1.00    *      *           subl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       subl    %edi, %edi
+# CHECK-NEXT:  2      5     1.00    *      *           subl    %edi, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  subl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                       subq    $665536, %rax
+# CHECK-NEXT:  1      1     0.50                       subq    $665536, %rdi
+# CHECK-NEXT:  2      5     1.00    *      *           subq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       subq    $7, %rdi
+# CHECK-NEXT:  2      5     1.00    *      *           subq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       subq    %rdi, %rdi
+# CHECK-NEXT:  2      5     1.00    *      *           subq    %rdi, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  subq    (%rax), %rdi
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0] - JALU0
@@ -428,10 +684,70 @@ shrdq $7, %rsi, (%rax)
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]
-# CHECK-NEXT: 258.00 258.00  -      -      -      -      -     96.00   -     84.00   -      -      -      -
+# CHECK-NEXT: 318.00 318.00  -      -      -      -      -     156.00  -     128.00  -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]          Instructions:
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            adcb    $7, %al
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            adcb    $7, %dil
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            adcb    $7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            adcb    %dil, %dil
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            adcb    %dil, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -            adcb    (%rax), %dil
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            adcw    $511, %ax
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            adcw    $511, %di
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            adcw    $511, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            adcw    $7, %di
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            adcw    $7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            adcw    %di, %di
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            adcw    %di, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -            adcw    (%rax), %di
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            adcl    $665536, %eax
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            adcl    $665536, %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            adcl    $665536, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            adcl    $7, %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            adcl    $7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            adcl    %edi, %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            adcl    %edi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -            adcl    (%rax), %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            adcq    $665536, %rax
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            adcq    $665536, %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            adcq    $665536, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            adcq    $7, %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            adcq    $7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            adcq    %rdi, %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            adcq    %rdi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -            adcq    (%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            addb    $7, %al
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            addb    $7, %dil
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            addb    $7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            addb    %dil, %dil
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            addb    %dil, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -            addb    (%rax), %dil
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            addw    $511, %ax
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            addw    $511, %di
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            addw    $511, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            addw    $7, %di
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            addw    $7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            addw    %di, %di
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            addw    %di, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -            addw    (%rax), %di
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            addl    $665536, %eax
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            addl    $665536, %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            addl    $665536, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            addl    $7, %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            addl    $7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            addl    %edi, %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            addl    %edi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -            addl    (%rax), %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            addq    $665536, %rax
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            addq    $665536, %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            addq    $665536, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            addq    $7, %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            addq    $7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            addq    %rdi, %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            addq    %rdi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -            addq    (%rax), %rdi
 # 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)
@@ -600,6 +916,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            sarq    %cl, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            shlq    %cl, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            shrq    %cl, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            sbbb    $7, %al
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            sbbb    $7, %dil
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            sbbb    $7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            sbbb    %dil, %dil
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            sbbb    %dil, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -            sbbb    (%rax), %dil
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            sbbw    $511, %ax
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            sbbw    $511, %di
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            sbbw    $511, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            sbbw    $7, %di
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            sbbw    $7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            sbbw    %di, %di
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            sbbw    %di, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -            sbbw    (%rax), %di
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            sbbl    $665536, %eax
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            sbbl    $665536, %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            sbbl    $665536, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            sbbl    $7, %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            sbbl    $7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            sbbl    %edi, %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            sbbl    %edi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -            sbbl    (%rax), %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            sbbq    $665536, %rax
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            sbbq    $665536, %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            sbbq    $665536, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            sbbq    $7, %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            sbbq    $7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            sbbq    %rdi, %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            sbbq    %rdi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -            sbbq    (%rax), %rdi
 # CHECK-NEXT: 4.00   4.00    -      -      -      -      -      -      -      -      -      -      -      -            shldw   %cl, %si, %di
 # CHECK-NEXT: 4.00   4.00    -      -      -      -      -      -      -      -      -      -      -      -            shrdw   %cl, %si, %di
 # CHECK-NEXT: 11.00  11.00   -      -      -      -      -     1.00    -      -      -      -      -      -            shldw   %cl, %si, (%rax)
@@ -624,4 +970,34 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT: 3.00   3.00    -      -      -      -      -      -      -      -      -      -      -      -            shrdq   $7, %rsi, %rdi
 # CHECK-NEXT: 11.00  11.00   -      -      -      -      -     1.00    -      -      -      -      -      -            shldq   $7, %rsi, (%rax)
 # CHECK-NEXT: 11.00  11.00   -      -      -      -      -     1.00    -      -      -      -      -      -            shrdq   $7, %rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            subb    $7, %al
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            subb    $7, %dil
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            subb    $7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            subb    %dil, %dil
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            subb    %dil, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -            subb    (%rax), %dil
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            subw    $511, %ax
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            subw    $511, %di
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            subw    $511, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            subw    $7, %di
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            subw    $7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            subw    %di, %di
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            subw    %di, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -            subw    (%rax), %di
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            subl    $665536, %eax
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            subl    $665536, %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            subl    $665536, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            subl    $7, %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            subl    $7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            subl    %edi, %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            subl    %edi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -            subl    (%rax), %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            subq    $665536, %rax
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            subq    $665536, %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            subq    $665536, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            subq    $7, %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            subq    $7, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -            subq    %rdi, %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            subq    %rdi, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -            subq    (%rax), %rdi
 
index 8058f1f..765ef75 100644 (file)
@@ -1,6 +1,74 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=haswell -instruction-tables < %s | FileCheck %s
 
+adcb $7, %al
+adcb $7, %dil
+adcb $7, (%rax)
+adcb %dil, %dil
+adcb %dil, (%rax)
+adcb (%rax), %dil
+
+adcw $511, %ax
+adcw $511, %di
+adcw $511, (%rax)
+adcw $7, %di
+adcw $7, (%rax)
+adcw %di, %di
+adcw %di, (%rax)
+adcw (%rax), %di
+
+adcl $665536, %eax
+adcl $665536, %edi
+adcl $665536, (%rax)
+adcl $7, %edi
+adcl $7, (%rax)
+adcl %edi, %edi
+adcl %edi, (%rax)
+adcl (%rax), %edi
+
+adcq $665536, %rax
+adcq $665536, %rdi
+adcq $665536, (%rax)
+adcq $7, %rdi
+adcq $7, (%rax)
+adcq %rdi, %rdi
+adcq %rdi, (%rax)
+adcq (%rax), %rdi
+
+addb $7, %al
+addb $7, %dil
+addb $7, (%rax)
+addb %dil, %dil
+addb %dil, (%rax)
+addb (%rax), %dil
+
+addw $511, %ax
+addw $511, %di
+addw $511, (%rax)
+addw $7, %di
+addw $7, (%rax)
+addw %di, %di
+addw %di, (%rax)
+addw (%rax), %di
+
+addl $665536, %eax
+addl $665536, %edi
+addl $665536, (%rax)
+addl $7, %edi
+addl $7, (%rax)
+addl %edi, %edi
+addl %edi, (%rax)
+addl (%rax), %edi
+
+addq $665536, %rax
+addq $665536, %rdi
+addq $665536, (%rax)
+addq $7, %rdi
+addq $7, (%rax)
+addq %rdi, %rdi
+addq %rdi, (%rax)
+addq (%rax), %rdi
+
 rclb %dil
 rcrb %dil
 rclb (%rax)
@@ -181,6 +249,40 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+sbbb $7, %al
+sbbb $7, %dil
+sbbb $7, (%rax)
+sbbb %dil, %dil
+sbbb %dil, (%rax)
+sbbb (%rax), %dil
+
+sbbw $511, %ax
+sbbw $511, %di
+sbbw $511, (%rax)
+sbbw $7, %di
+sbbw $7, (%rax)
+sbbw %di, %di
+sbbw %di, (%rax)
+sbbw (%rax), %di
+
+sbbl $665536, %eax
+sbbl $665536, %edi
+sbbl $665536, (%rax)
+sbbl $7, %edi
+sbbl $7, (%rax)
+sbbl %edi, %edi
+sbbl %edi, (%rax)
+sbbl (%rax), %edi
+
+sbbq $665536, %rax
+sbbq $665536, %rdi
+sbbq $665536, (%rax)
+sbbq $7, %rdi
+sbbq $7, (%rax)
+sbbq %rdi, %rdi
+sbbq %rdi, (%rax)
+sbbq (%rax), %rdi
+
 shldw %cl, %si, %di
 shrdw %cl, %si, %di
 shldw %cl, %si, (%rax)
@@ -208,6 +310,40 @@ shrdq $7, %rsi, %rdi
 shldq $7, %rsi, (%rax)
 shrdq $7, %rsi, (%rax)
 
+subb $7, %al
+subb $7, %dil
+subb $7, (%rax)
+subb %dil, %dil
+subb %dil, (%rax)
+subb (%rax), %dil
+
+subw $511, %ax
+subw $511, %di
+subw $511, (%rax)
+subw $7, %di
+subw $7, (%rax)
+subw %di, %di
+subw %di, (%rax)
+subw (%rax), %di
+
+subl $665536, %eax
+subl $665536, %edi
+subl $665536, (%rax)
+subl $7, %edi
+subl $7, (%rax)
+subl %edi, %edi
+subl %edi, (%rax)
+subl (%rax), %edi
+
+subq $665536, %rax
+subq $665536, %rdi
+subq $665536, (%rax)
+subq $7, %rdi
+subq $7, (%rax)
+subq %rdi, %rdi
+subq %rdi, (%rax)
+subq (%rax), %rdi
+
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -217,6 +353,66 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT: [6]: HasSideEffects
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]   Instructions:
+# CHECK-NEXT:  2      2     0.50                       adcb    $7, %al
+# CHECK-NEXT:  2      2     0.50                       adcb    $7, %dil
+# CHECK-NEXT:  6      9     1.00    *      *           adcb    $7, (%rax)
+# CHECK-NEXT:  2      2     0.50                       adcb    %dil, %dil
+# CHECK-NEXT:  6      9     1.00    *      *           adcb    %dil, (%rax)
+# CHECK-NEXT:  3      7     0.50    *                  adcb    (%rax), %dil
+# CHECK-NEXT:  2      2     0.50                       adcw    $511, %ax
+# CHECK-NEXT:  2      2     0.50                       adcw    $511, %di
+# CHECK-NEXT:  6      9     1.00    *      *           adcw    $511, (%rax)
+# CHECK-NEXT:  2      2     0.50                       adcw    $7, %di
+# CHECK-NEXT:  6      9     1.00    *      *           adcw    $7, (%rax)
+# CHECK-NEXT:  2      2     0.50                       adcw    %di, %di
+# CHECK-NEXT:  6      9     1.00    *      *           adcw    %di, (%rax)
+# CHECK-NEXT:  3      7     0.50    *                  adcw    (%rax), %di
+# CHECK-NEXT:  2      2     0.50                       adcl    $665536, %eax
+# CHECK-NEXT:  2      2     0.50                       adcl    $665536, %edi
+# CHECK-NEXT:  6      9     1.00    *      *           adcl    $665536, (%rax)
+# CHECK-NEXT:  2      2     0.50                       adcl    $7, %edi
+# CHECK-NEXT:  6      9     1.00    *      *           adcl    $7, (%rax)
+# CHECK-NEXT:  2      2     0.50                       adcl    %edi, %edi
+# CHECK-NEXT:  6      9     1.00    *      *           adcl    %edi, (%rax)
+# CHECK-NEXT:  3      7     0.50    *                  adcl    (%rax), %edi
+# CHECK-NEXT:  2      2     0.50                       adcq    $665536, %rax
+# CHECK-NEXT:  2      2     0.50                       adcq    $665536, %rdi
+# CHECK-NEXT:  6      9     1.00    *      *           adcq    $665536, (%rax)
+# CHECK-NEXT:  2      2     0.50                       adcq    $7, %rdi
+# CHECK-NEXT:  6      9     1.00    *      *           adcq    $7, (%rax)
+# CHECK-NEXT:  2      2     0.50                       adcq    %rdi, %rdi
+# CHECK-NEXT:  6      9     1.00    *      *           adcq    %rdi, (%rax)
+# CHECK-NEXT:  3      7     0.50    *                  adcq    (%rax), %rdi
+# CHECK-NEXT:  1      1     0.25                       addb    $7, %al
+# CHECK-NEXT:  1      1     0.25                       addb    $7, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           addb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addb    %dil, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           addb    %dil, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.25                       addw    $511, %ax
+# CHECK-NEXT:  1      1     0.25                       addw    $511, %di
+# CHECK-NEXT:  3      7     1.00    *      *           addw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addw    $7, %di
+# CHECK-NEXT:  3      7     1.00    *      *           addw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addw    %di, %di
+# CHECK-NEXT:  3      7     1.00    *      *           addw    %di, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addw    (%rax), %di
+# CHECK-NEXT:  1      1     0.25                       addl    $665536, %eax
+# CHECK-NEXT:  1      1     0.25                       addl    $665536, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           addl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addl    $7, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           addl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addl    %edi, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           addl    %edi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.25                       addq    $665536, %rax
+# CHECK-NEXT:  1      1     0.25                       addq    $665536, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           addq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addq    $7, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           addq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addq    %rdi, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           addq    %rdi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addq    (%rax), %rdi
 # CHECK-NEXT:  3      3     0.75                       rclb    %dil
 # CHECK-NEXT:  3      3     0.75                       rcrb    %dil
 # CHECK-NEXT:  5      9     0.75           *           rclb    (%rax)
@@ -385,6 +581,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *           sarq    %cl, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *           shlq    %cl, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *           shrq    %cl, (%rax)
+# CHECK-NEXT:  2      2     0.50                       sbbb    $7, %al
+# CHECK-NEXT:  2      2     0.50                       sbbb    $7, %dil
+# CHECK-NEXT:  6      9     1.00    *      *           sbbb    $7, (%rax)
+# CHECK-NEXT:  2      2     0.50                       sbbb    %dil, %dil
+# CHECK-NEXT:  6      9     1.00    *      *           sbbb    %dil, (%rax)
+# CHECK-NEXT:  3      7     0.50    *                  sbbb    (%rax), %dil
+# CHECK-NEXT:  2      2     0.50                       sbbw    $511, %ax
+# CHECK-NEXT:  2      2     0.50                       sbbw    $511, %di
+# CHECK-NEXT:  6      9     1.00    *      *           sbbw    $511, (%rax)
+# CHECK-NEXT:  2      2     0.50                       sbbw    $7, %di
+# CHECK-NEXT:  6      9     1.00    *      *           sbbw    $7, (%rax)
+# CHECK-NEXT:  2      2     0.50                       sbbw    %di, %di
+# CHECK-NEXT:  6      9     1.00    *      *           sbbw    %di, (%rax)
+# CHECK-NEXT:  3      7     0.50    *                  sbbw    (%rax), %di
+# CHECK-NEXT:  2      2     0.50                       sbbl    $665536, %eax
+# CHECK-NEXT:  2      2     0.50                       sbbl    $665536, %edi
+# CHECK-NEXT:  6      9     1.00    *      *           sbbl    $665536, (%rax)
+# CHECK-NEXT:  2      2     0.50                       sbbl    $7, %edi
+# CHECK-NEXT:  6      9     1.00    *      *           sbbl    $7, (%rax)
+# CHECK-NEXT:  2      2     0.50                       sbbl    %edi, %edi
+# CHECK-NEXT:  6      9     1.00    *      *           sbbl    %edi, (%rax)
+# CHECK-NEXT:  3      7     0.50    *                  sbbl    (%rax), %edi
+# CHECK-NEXT:  2      2     0.50                       sbbq    $665536, %rax
+# CHECK-NEXT:  2      2     0.50                       sbbq    $665536, %rdi
+# CHECK-NEXT:  6      9     1.00    *      *           sbbq    $665536, (%rax)
+# CHECK-NEXT:  2      2     0.50                       sbbq    $7, %rdi
+# CHECK-NEXT:  6      9     1.00    *      *           sbbq    $7, (%rax)
+# CHECK-NEXT:  2      2     0.50                       sbbq    %rdi, %rdi
+# CHECK-NEXT:  6      9     1.00    *      *           sbbq    %rdi, (%rax)
+# CHECK-NEXT:  3      7     0.50    *                  sbbq    (%rax), %rdi
 # CHECK-NEXT:  4      6     1.00                       shldw   %cl, %si, %di
 # CHECK-NEXT:  4      6     1.00                       shrdw   %cl, %si, %di
 # CHECK-NEXT:  6      12    1.00    *      *           shldw   %cl, %si, (%rax)
@@ -409,6 +635,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  1      3     1.00                       shrdq   $7, %rsi, %rdi
 # CHECK-NEXT:  4      10    1.00    *      *           shldq   $7, %rsi, (%rax)
 # CHECK-NEXT:  4      10    1.00    *      *           shrdq   $7, %rsi, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subb    $7, %al
+# CHECK-NEXT:  1      1     0.25                       subb    $7, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           subb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subb    %dil, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           subb    %dil, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.25                       subw    $511, %ax
+# CHECK-NEXT:  1      1     0.25                       subw    $511, %di
+# CHECK-NEXT:  3      7     1.00    *      *           subw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subw    $7, %di
+# CHECK-NEXT:  3      7     1.00    *      *           subw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subw    %di, %di
+# CHECK-NEXT:  3      7     1.00    *      *           subw    %di, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subw    (%rax), %di
+# CHECK-NEXT:  1      1     0.25                       subl    $665536, %eax
+# CHECK-NEXT:  1      1     0.25                       subl    $665536, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           subl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subl    $7, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           subl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subl    %edi, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           subl    %edi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.25                       subq    $665536, %rax
+# CHECK-NEXT:  1      1     0.25                       subq    $665536, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           subq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subq    $7, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           subq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subq    %rdi, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           subq    %rdi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subq    (%rax), %rdi
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0] - HWDivider
@@ -424,10 +680,70 @@ shrdq $7, %rsi, (%rax)
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -      -     186.25 100.75 80.00  80.00  56.00  49.75  186.25 32.00
+# CHECK-NEXT:  -      -     257.25 130.75 124.67 124.67 100.00 79.75  257.25 46.67
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]       Instructions:
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcb    $7, %al
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcb    $7, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcb    %dil, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25   0.50   0.50    -     0.25   0.75    -        adcb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcw    $511, %ax
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcw    $511, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcw    $7, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcw    %di, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25   0.50   0.50    -     0.25   0.75    -        adcw    (%rax), %di
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcl    $665536, %eax
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcl    $665536, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcl    $7, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcl    %edi, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25   0.50   0.50    -     0.25   0.75    -        adcl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcq    $665536, %rax
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcq    $665536, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcq    $7, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcq    %rdi, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25   0.50   0.50    -     0.25   0.75    -        adcq    (%rax), %rdi
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addb    $7, %al
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addb    $7, %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addb    %dil, %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        addb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addw    $511, %ax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addw    $511, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addw    $7, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addw    %di, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        addw    (%rax), %di
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addl    $665536, %eax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addl    $665536, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addl    $7, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addl    %edi, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        addl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addq    $665536, %rax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addq    $665536, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addq    $7, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addq    %rdi, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        addq    (%rax), %rdi
 # 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)
@@ -596,6 +912,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sarq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      shlq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      shrq    %cl, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbb    $7, %al
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbb    $7, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbb    %dil, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25   0.50   0.50    -     0.25   0.75    -        sbbb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbw    $511, %ax
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbw    $511, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbw    $7, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbw    %di, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25   0.50   0.50    -     0.25   0.75    -        sbbw    (%rax), %di
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbl    $665536, %eax
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbl    $665536, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbl    $7, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbl    %edi, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25   0.50   0.50    -     0.25   0.75    -        sbbl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbq    $665536, %rax
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbq    $665536, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbq    $7, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbq    %rdi, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25   0.50   0.50    -     0.25   0.75    -        sbbq    (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -        shldw   %cl, %si, %di
 # CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -        shrdw   %cl, %si, %di
 # CHECK-NEXT:  -      -     1.00   1.50   0.83   0.83    -     0.50   1.00   0.33      shldw   %cl, %si, (%rax)
@@ -620,4 +966,34 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shrdq   $7, %rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shldq   $7, %rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shrdq   $7, %rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subb    $7, %al
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subb    $7, %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subb    %dil, %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        subb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subw    $511, %ax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subw    $511, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subw    $7, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subw    %di, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        subw    (%rax), %di
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subl    $665536, %eax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subl    $665536, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subl    $7, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subl    %edi, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        subl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subq    $665536, %rax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subq    $665536, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subq    $7, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subq    %rdi, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        subq    (%rax), %rdi
 
index a69e7dc..a502219 100644 (file)
@@ -1,6 +1,74 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=slm -instruction-tables < %s | FileCheck %s
 
+adcb $7, %al
+adcb $7, %dil
+adcb $7, (%rax)
+adcb %dil, %dil
+adcb %dil, (%rax)
+adcb (%rax), %dil
+
+adcw $511, %ax
+adcw $511, %di
+adcw $511, (%rax)
+adcw $7, %di
+adcw $7, (%rax)
+adcw %di, %di
+adcw %di, (%rax)
+adcw (%rax), %di
+
+adcl $665536, %eax
+adcl $665536, %edi
+adcl $665536, (%rax)
+adcl $7, %edi
+adcl $7, (%rax)
+adcl %edi, %edi
+adcl %edi, (%rax)
+adcl (%rax), %edi
+
+adcq $665536, %rax
+adcq $665536, %rdi
+adcq $665536, (%rax)
+adcq $7, %rdi
+adcq $7, (%rax)
+adcq %rdi, %rdi
+adcq %rdi, (%rax)
+adcq (%rax), %rdi
+
+addb $7, %al
+addb $7, %dil
+addb $7, (%rax)
+addb %dil, %dil
+addb %dil, (%rax)
+addb (%rax), %dil
+
+addw $511, %ax
+addw $511, %di
+addw $511, (%rax)
+addw $7, %di
+addw $7, (%rax)
+addw %di, %di
+addw %di, (%rax)
+addw (%rax), %di
+
+addl $665536, %eax
+addl $665536, %edi
+addl $665536, (%rax)
+addl $7, %edi
+addl $7, (%rax)
+addl %edi, %edi
+addl %edi, (%rax)
+addl (%rax), %edi
+
+addq $665536, %rax
+addq $665536, %rdi
+addq $665536, (%rax)
+addq $7, %rdi
+addq $7, (%rax)
+addq %rdi, %rdi
+addq %rdi, (%rax)
+addq (%rax), %rdi
+
 rclb %dil
 rcrb %dil
 rclb (%rax)
@@ -181,6 +249,40 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+sbbb $7, %al
+sbbb $7, %dil
+sbbb $7, (%rax)
+sbbb %dil, %dil
+sbbb %dil, (%rax)
+sbbb (%rax), %dil
+
+sbbw $511, %ax
+sbbw $511, %di
+sbbw $511, (%rax)
+sbbw $7, %di
+sbbw $7, (%rax)
+sbbw %di, %di
+sbbw %di, (%rax)
+sbbw (%rax), %di
+
+sbbl $665536, %eax
+sbbl $665536, %edi
+sbbl $665536, (%rax)
+sbbl $7, %edi
+sbbl $7, (%rax)
+sbbl %edi, %edi
+sbbl %edi, (%rax)
+sbbl (%rax), %edi
+
+sbbq $665536, %rax
+sbbq $665536, %rdi
+sbbq $665536, (%rax)
+sbbq $7, %rdi
+sbbq $7, (%rax)
+sbbq %rdi, %rdi
+sbbq %rdi, (%rax)
+sbbq (%rax), %rdi
+
 shldw %cl, %si, %di
 shrdw %cl, %si, %di
 shldw %cl, %si, (%rax)
@@ -208,6 +310,40 @@ shrdq $7, %rsi, %rdi
 shldq $7, %rsi, (%rax)
 shrdq $7, %rsi, (%rax)
 
+subb $7, %al
+subb $7, %dil
+subb $7, (%rax)
+subb %dil, %dil
+subb %dil, (%rax)
+subb (%rax), %dil
+
+subw $511, %ax
+subw $511, %di
+subw $511, (%rax)
+subw $7, %di
+subw $7, (%rax)
+subw %di, %di
+subw %di, (%rax)
+subw (%rax), %di
+
+subl $665536, %eax
+subl $665536, %edi
+subl $665536, (%rax)
+subl $7, %edi
+subl $7, (%rax)
+subl %edi, %edi
+subl %edi, (%rax)
+subl (%rax), %edi
+
+subq $665536, %rax
+subq $665536, %rdi
+subq $665536, (%rax)
+subq $7, %rdi
+subq $7, (%rax)
+subq %rdi, %rdi
+subq %rdi, (%rax)
+subq (%rax), %rdi
+
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -217,6 +353,66 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT: [6]: HasSideEffects
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]   Instructions:
+# CHECK-NEXT:  1      1     0.50                       adcb    $7, %al
+# CHECK-NEXT:  1      1     0.50                       adcb    $7, %dil
+# CHECK-NEXT:  2      5     2.00    *      *           adcb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcb    %dil, %dil
+# CHECK-NEXT:  2      5     2.00    *      *           adcb    %dil, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  adcb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                       adcw    $511, %ax
+# CHECK-NEXT:  1      1     0.50                       adcw    $511, %di
+# CHECK-NEXT:  2      5     2.00    *      *           adcw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcw    $7, %di
+# CHECK-NEXT:  2      5     2.00    *      *           adcw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcw    %di, %di
+# CHECK-NEXT:  2      5     2.00    *      *           adcw    %di, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  adcw    (%rax), %di
+# CHECK-NEXT:  1      1     0.50                       adcl    $665536, %eax
+# CHECK-NEXT:  1      1     0.50                       adcl    $665536, %edi
+# CHECK-NEXT:  2      5     2.00    *      *           adcl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcl    $7, %edi
+# CHECK-NEXT:  2      5     2.00    *      *           adcl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcl    %edi, %edi
+# CHECK-NEXT:  2      5     2.00    *      *           adcl    %edi, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  adcl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                       adcq    $665536, %rax
+# CHECK-NEXT:  1      1     0.50                       adcq    $665536, %rdi
+# CHECK-NEXT:  2      5     2.00    *      *           adcq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcq    $7, %rdi
+# CHECK-NEXT:  2      5     2.00    *      *           adcq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcq    %rdi, %rdi
+# CHECK-NEXT:  2      5     2.00    *      *           adcq    %rdi, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  adcq    (%rax), %rdi
+# CHECK-NEXT:  1      1     0.50                       addb    $7, %al
+# CHECK-NEXT:  1      1     0.50                       addb    $7, %dil
+# CHECK-NEXT:  2      5     2.00    *      *           addb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       addb    %dil, %dil
+# CHECK-NEXT:  2      5     2.00    *      *           addb    %dil, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  addb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                       addw    $511, %ax
+# CHECK-NEXT:  1      1     0.50                       addw    $511, %di
+# CHECK-NEXT:  2      5     2.00    *      *           addw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.50                       addw    $7, %di
+# CHECK-NEXT:  2      5     2.00    *      *           addw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       addw    %di, %di
+# CHECK-NEXT:  2      5     2.00    *      *           addw    %di, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  addw    (%rax), %di
+# CHECK-NEXT:  1      1     0.50                       addl    $665536, %eax
+# CHECK-NEXT:  1      1     0.50                       addl    $665536, %edi
+# CHECK-NEXT:  2      5     2.00    *      *           addl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       addl    $7, %edi
+# CHECK-NEXT:  2      5     2.00    *      *           addl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       addl    %edi, %edi
+# CHECK-NEXT:  2      5     2.00    *      *           addl    %edi, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  addl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                       addq    $665536, %rax
+# CHECK-NEXT:  1      1     0.50                       addq    $665536, %rdi
+# CHECK-NEXT:  2      5     2.00    *      *           addq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       addq    $7, %rdi
+# CHECK-NEXT:  2      5     2.00    *      *           addq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       addq    %rdi, %rdi
+# CHECK-NEXT:  2      5     2.00    *      *           addq    %rdi, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  addq    (%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                       rclb    %dil
 # CHECK-NEXT:  1      1     1.00                       rcrb    %dil
 # CHECK-NEXT:  2      4     2.00           *           rclb    (%rax)
@@ -385,6 +581,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  2      4     2.00    *      *           sarq    %cl, (%rax)
 # CHECK-NEXT:  2      4     2.00    *      *           shlq    %cl, (%rax)
 # CHECK-NEXT:  2      4     2.00    *      *           shrq    %cl, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbb    $7, %al
+# CHECK-NEXT:  1      1     0.50                       sbbb    $7, %dil
+# CHECK-NEXT:  2      5     2.00    *      *           sbbb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbb    %dil, %dil
+# CHECK-NEXT:  2      5     2.00    *      *           sbbb    %dil, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  sbbb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                       sbbw    $511, %ax
+# CHECK-NEXT:  1      1     0.50                       sbbw    $511, %di
+# CHECK-NEXT:  2      5     2.00    *      *           sbbw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbw    $7, %di
+# CHECK-NEXT:  2      5     2.00    *      *           sbbw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbw    %di, %di
+# CHECK-NEXT:  2      5     2.00    *      *           sbbw    %di, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  sbbw    (%rax), %di
+# CHECK-NEXT:  1      1     0.50                       sbbl    $665536, %eax
+# CHECK-NEXT:  1      1     0.50                       sbbl    $665536, %edi
+# CHECK-NEXT:  2      5     2.00    *      *           sbbl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbl    $7, %edi
+# CHECK-NEXT:  2      5     2.00    *      *           sbbl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbl    %edi, %edi
+# CHECK-NEXT:  2      5     2.00    *      *           sbbl    %edi, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  sbbl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                       sbbq    $665536, %rax
+# CHECK-NEXT:  1      1     0.50                       sbbq    $665536, %rdi
+# CHECK-NEXT:  2      5     2.00    *      *           sbbq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbq    $7, %rdi
+# CHECK-NEXT:  2      5     2.00    *      *           sbbq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbq    %rdi, %rdi
+# CHECK-NEXT:  2      5     2.00    *      *           sbbq    %rdi, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  sbbq    (%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                       shldw   %cl, %si, %di
 # CHECK-NEXT:  1      1     1.00                       shrdw   %cl, %si, %di
 # CHECK-NEXT:  2      4     2.00    *      *           shldw   %cl, %si, (%rax)
@@ -409,6 +635,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  1      1     1.00                       shrdq   $7, %rsi, %rdi
 # CHECK-NEXT:  2      4     2.00    *      *           shldq   $7, %rsi, (%rax)
 # CHECK-NEXT:  2      4     2.00    *      *           shrdq   $7, %rsi, (%rax)
+# CHECK-NEXT:  1      1     0.50                       subb    $7, %al
+# CHECK-NEXT:  1      1     0.50                       subb    $7, %dil
+# CHECK-NEXT:  2      5     2.00    *      *           subb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       subb    %dil, %dil
+# CHECK-NEXT:  2      5     2.00    *      *           subb    %dil, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  subb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                       subw    $511, %ax
+# CHECK-NEXT:  1      1     0.50                       subw    $511, %di
+# CHECK-NEXT:  2      5     2.00    *      *           subw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.50                       subw    $7, %di
+# CHECK-NEXT:  2      5     2.00    *      *           subw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       subw    %di, %di
+# CHECK-NEXT:  2      5     2.00    *      *           subw    %di, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  subw    (%rax), %di
+# CHECK-NEXT:  1      1     0.50                       subl    $665536, %eax
+# CHECK-NEXT:  1      1     0.50                       subl    $665536, %edi
+# CHECK-NEXT:  2      5     2.00    *      *           subl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       subl    $7, %edi
+# CHECK-NEXT:  2      5     2.00    *      *           subl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       subl    %edi, %edi
+# CHECK-NEXT:  2      5     2.00    *      *           subl    %edi, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  subl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                       subq    $665536, %rax
+# CHECK-NEXT:  1      1     0.50                       subq    $665536, %rdi
+# CHECK-NEXT:  2      5     2.00    *      *           subq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       subq    $7, %rdi
+# CHECK-NEXT:  2      5     2.00    *      *           subq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       subq    %rdi, %rdi
+# CHECK-NEXT:  2      5     2.00    *      *           subq    %rdi, (%rax)
+# CHECK-NEXT:  1      4     1.00    *                  subq    (%rax), %rdi
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0] - SLMDivider
@@ -422,10 +678,70 @@ shrdq $7, %rsi, (%rax)
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]
-# CHECK-NEXT:  -      -      -      -      -     192.00  -     192.00
+# CHECK-NEXT:  -      -      -      -      -     274.00 82.00  296.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]     Instructions:
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      adcb    $7, %al
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      adcb    $7, %dil
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    adcb    $7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      adcb    %dil, %dil
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    adcb    %dil, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    adcb    (%rax), %dil
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      adcw    $511, %ax
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      adcw    $511, %di
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    adcw    $511, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      adcw    $7, %di
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    adcw    $7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      adcw    %di, %di
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    adcw    %di, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    adcw    (%rax), %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      adcl    $665536, %eax
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      adcl    $665536, %edi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    adcl    $665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      adcl    $7, %edi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    adcl    $7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      adcl    %edi, %edi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    adcl    %edi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    adcl    (%rax), %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      adcq    $665536, %rax
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      adcq    $665536, %rdi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    adcq    $665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      adcq    $7, %rdi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    adcq    $7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      adcq    %rdi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    adcq    %rdi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    adcq    (%rax), %rdi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      addb    $7, %al
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      addb    $7, %dil
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    addb    $7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      addb    %dil, %dil
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    addb    %dil, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    addb    (%rax), %dil
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      addw    $511, %ax
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      addw    $511, %di
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    addw    $511, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      addw    $7, %di
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    addw    $7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      addw    %di, %di
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    addw    %di, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    addw    (%rax), %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      addl    $665536, %eax
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      addl    $665536, %edi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    addl    $665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      addl    $7, %edi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    addl    $7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      addl    %edi, %edi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    addl    %edi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    addl    (%rax), %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      addq    $665536, %rax
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      addq    $665536, %rdi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    addq    $665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      addq    $7, %rdi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    addq    $7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      addq    %rdi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    addq    %rdi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    addq    (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -      rclb    %dil
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -      rcrb    %dil
 # CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    rclb    (%rax)
@@ -594,6 +910,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    sarq    %cl, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    shlq    %cl, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    shrq    %cl, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      sbbb    $7, %al
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      sbbb    $7, %dil
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    sbbb    $7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      sbbb    %dil, %dil
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    sbbb    %dil, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    sbbb    (%rax), %dil
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      sbbw    $511, %ax
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      sbbw    $511, %di
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    sbbw    $511, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      sbbw    $7, %di
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    sbbw    $7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      sbbw    %di, %di
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    sbbw    %di, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    sbbw    (%rax), %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      sbbl    $665536, %eax
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      sbbl    $665536, %edi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    sbbl    $665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      sbbl    $7, %edi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    sbbl    $7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      sbbl    %edi, %edi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    sbbl    %edi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    sbbl    (%rax), %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      sbbq    $665536, %rax
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      sbbq    $665536, %rdi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    sbbq    $665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      sbbq    $7, %rdi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    sbbq    $7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      sbbq    %rdi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    sbbq    %rdi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    sbbq    (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -      shldw   %cl, %si, %di
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -      shrdw   %cl, %si, %di
 # CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    shldw   %cl, %si, (%rax)
@@ -618,4 +964,34 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -      shrdq   $7, %rsi, %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    shldq   $7, %rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    shrdq   $7, %rsi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      subb    $7, %al
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      subb    $7, %dil
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    subb    $7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      subb    %dil, %dil
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    subb    %dil, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    subb    (%rax), %dil
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      subw    $511, %ax
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      subw    $511, %di
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    subw    $511, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      subw    $7, %di
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    subw    $7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      subw    %di, %di
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    subw    %di, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    subw    (%rax), %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      subl    $665536, %eax
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      subl    $665536, %edi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    subl    $665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      subl    $7, %edi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    subl    $7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      subl    %edi, %edi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    subl    %edi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    subl    (%rax), %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      subq    $665536, %rax
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      subq    $665536, %rdi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    subq    $665536, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      subq    $7, %rdi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    subq    $7, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      subq    %rdi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00    subq    %rdi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    subq    (%rax), %rdi
 
index 3b2a068..d11d2b8 100644 (file)
@@ -1,6 +1,74 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=sandybridge -instruction-tables < %s | FileCheck %s
 
+adcb $7, %al
+adcb $7, %dil
+adcb $7, (%rax)
+adcb %dil, %dil
+adcb %dil, (%rax)
+adcb (%rax), %dil
+
+adcw $511, %ax
+adcw $511, %di
+adcw $511, (%rax)
+adcw $7, %di
+adcw $7, (%rax)
+adcw %di, %di
+adcw %di, (%rax)
+adcw (%rax), %di
+
+adcl $665536, %eax
+adcl $665536, %edi
+adcl $665536, (%rax)
+adcl $7, %edi
+adcl $7, (%rax)
+adcl %edi, %edi
+adcl %edi, (%rax)
+adcl (%rax), %edi
+
+adcq $665536, %rax
+adcq $665536, %rdi
+adcq $665536, (%rax)
+adcq $7, %rdi
+adcq $7, (%rax)
+adcq %rdi, %rdi
+adcq %rdi, (%rax)
+adcq (%rax), %rdi
+
+addb $7, %al
+addb $7, %dil
+addb $7, (%rax)
+addb %dil, %dil
+addb %dil, (%rax)
+addb (%rax), %dil
+
+addw $511, %ax
+addw $511, %di
+addw $511, (%rax)
+addw $7, %di
+addw $7, (%rax)
+addw %di, %di
+addw %di, (%rax)
+addw (%rax), %di
+
+addl $665536, %eax
+addl $665536, %edi
+addl $665536, (%rax)
+addl $7, %edi
+addl $7, (%rax)
+addl %edi, %edi
+addl %edi, (%rax)
+addl (%rax), %edi
+
+addq $665536, %rax
+addq $665536, %rdi
+addq $665536, (%rax)
+addq $7, %rdi
+addq $7, (%rax)
+addq %rdi, %rdi
+addq %rdi, (%rax)
+addq (%rax), %rdi
+
 rclb %dil
 rcrb %dil
 rclb (%rax)
@@ -181,6 +249,40 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+sbbb $7, %al
+sbbb $7, %dil
+sbbb $7, (%rax)
+sbbb %dil, %dil
+sbbb %dil, (%rax)
+sbbb (%rax), %dil
+
+sbbw $511, %ax
+sbbw $511, %di
+sbbw $511, (%rax)
+sbbw $7, %di
+sbbw $7, (%rax)
+sbbw %di, %di
+sbbw %di, (%rax)
+sbbw (%rax), %di
+
+sbbl $665536, %eax
+sbbl $665536, %edi
+sbbl $665536, (%rax)
+sbbl $7, %edi
+sbbl $7, (%rax)
+sbbl %edi, %edi
+sbbl %edi, (%rax)
+sbbl (%rax), %edi
+
+sbbq $665536, %rax
+sbbq $665536, %rdi
+sbbq $665536, (%rax)
+sbbq $7, %rdi
+sbbq $7, (%rax)
+sbbq %rdi, %rdi
+sbbq %rdi, (%rax)
+sbbq (%rax), %rdi
+
 shldw %cl, %si, %di
 shrdw %cl, %si, %di
 shldw %cl, %si, (%rax)
@@ -208,6 +310,40 @@ shrdq $7, %rsi, %rdi
 shldq $7, %rsi, (%rax)
 shrdq $7, %rsi, (%rax)
 
+subb $7, %al
+subb $7, %dil
+subb $7, (%rax)
+subb %dil, %dil
+subb %dil, (%rax)
+subb (%rax), %dil
+
+subw $511, %ax
+subw $511, %di
+subw $511, (%rax)
+subw $7, %di
+subw $7, (%rax)
+subw %di, %di
+subw %di, (%rax)
+subw (%rax), %di
+
+subl $665536, %eax
+subl $665536, %edi
+subl $665536, (%rax)
+subl $7, %edi
+subl $7, (%rax)
+subl %edi, %edi
+subl %edi, (%rax)
+subl (%rax), %edi
+
+subq $665536, %rax
+subq $665536, %rdi
+subq $665536, (%rax)
+subq $7, %rdi
+subq $7, (%rax)
+subq %rdi, %rdi
+subq %rdi, (%rax)
+subq (%rax), %rdi
+
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -217,6 +353,66 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT: [6]: HasSideEffects
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]   Instructions:
+# CHECK-NEXT:  2      2     0.67                       adcb    $7, %al
+# CHECK-NEXT:  2      2     0.67                       adcb    $7, %dil
+# CHECK-NEXT:  6      9     1.00    *      *           adcb    $7, (%rax)
+# CHECK-NEXT:  2      2     0.67                       adcb    %dil, %dil
+# CHECK-NEXT:  6      9     1.00    *      *           adcb    %dil, (%rax)
+# CHECK-NEXT:  3      7     0.67    *                  adcb    (%rax), %dil
+# CHECK-NEXT:  2      2     0.67                       adcw    $511, %ax
+# CHECK-NEXT:  2      2     0.67                       adcw    $511, %di
+# CHECK-NEXT:  6      9     1.00    *      *           adcw    $511, (%rax)
+# CHECK-NEXT:  2      2     0.67                       adcw    $7, %di
+# CHECK-NEXT:  6      9     1.00    *      *           adcw    $7, (%rax)
+# CHECK-NEXT:  2      2     0.67                       adcw    %di, %di
+# CHECK-NEXT:  6      9     1.00    *      *           adcw    %di, (%rax)
+# CHECK-NEXT:  3      7     0.67    *                  adcw    (%rax), %di
+# CHECK-NEXT:  2      2     0.67                       adcl    $665536, %eax
+# CHECK-NEXT:  2      2     0.67                       adcl    $665536, %edi
+# CHECK-NEXT:  6      9     1.00    *      *           adcl    $665536, (%rax)
+# CHECK-NEXT:  2      2     0.67                       adcl    $7, %edi
+# CHECK-NEXT:  6      9     1.00    *      *           adcl    $7, (%rax)
+# CHECK-NEXT:  2      2     0.67                       adcl    %edi, %edi
+# CHECK-NEXT:  6      9     1.00    *      *           adcl    %edi, (%rax)
+# CHECK-NEXT:  3      7     0.67    *                  adcl    (%rax), %edi
+# CHECK-NEXT:  2      2     0.67                       adcq    $665536, %rax
+# CHECK-NEXT:  2      2     0.67                       adcq    $665536, %rdi
+# CHECK-NEXT:  6      9     1.00    *      *           adcq    $665536, (%rax)
+# CHECK-NEXT:  2      2     0.67                       adcq    $7, %rdi
+# CHECK-NEXT:  6      9     1.00    *      *           adcq    $7, (%rax)
+# CHECK-NEXT:  2      2     0.67                       adcq    %rdi, %rdi
+# CHECK-NEXT:  6      9     1.00    *      *           adcq    %rdi, (%rax)
+# CHECK-NEXT:  3      7     0.67    *                  adcq    (%rax), %rdi
+# CHECK-NEXT:  1      1     0.33                       addb    $7, %al
+# CHECK-NEXT:  1      1     0.33                       addb    $7, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           addb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.33                       addb    %dil, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           addb    %dil, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.33                       addw    $511, %ax
+# CHECK-NEXT:  1      1     0.33                       addw    $511, %di
+# CHECK-NEXT:  3      7     1.00    *      *           addw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.33                       addw    $7, %di
+# CHECK-NEXT:  3      7     1.00    *      *           addw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.33                       addw    %di, %di
+# CHECK-NEXT:  3      7     1.00    *      *           addw    %di, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addw    (%rax), %di
+# CHECK-NEXT:  1      1     0.33                       addl    $665536, %eax
+# CHECK-NEXT:  1      1     0.33                       addl    $665536, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           addl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.33                       addl    $7, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           addl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.33                       addl    %edi, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           addl    %edi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.33                       addq    $665536, %rax
+# CHECK-NEXT:  1      1     0.33                       addq    $665536, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           addq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.33                       addq    $7, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           addq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.33                       addq    %rdi, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           addq    %rdi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addq    (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                       rclb    %dil
 # CHECK-NEXT:  1      1     0.50                       rcrb    %dil
 # CHECK-NEXT:  3      6     1.00           *           rclb    (%rax)
@@ -385,6 +581,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  6      9     1.50    *      *           sarq    %cl, (%rax)
 # CHECK-NEXT:  6      9     1.50    *      *           shlq    %cl, (%rax)
 # CHECK-NEXT:  6      9     1.50    *      *           shrq    %cl, (%rax)
+# CHECK-NEXT:  2      2     0.67                       sbbb    $7, %al
+# CHECK-NEXT:  2      2     0.67                       sbbb    $7, %dil
+# CHECK-NEXT:  6      9     1.00    *      *           sbbb    $7, (%rax)
+# CHECK-NEXT:  2      2     0.67                       sbbb    %dil, %dil
+# CHECK-NEXT:  6      9     1.00    *      *           sbbb    %dil, (%rax)
+# CHECK-NEXT:  3      7     0.67    *                  sbbb    (%rax), %dil
+# CHECK-NEXT:  2      2     0.67                       sbbw    $511, %ax
+# CHECK-NEXT:  2      2     0.67                       sbbw    $511, %di
+# CHECK-NEXT:  6      9     1.00    *      *           sbbw    $511, (%rax)
+# CHECK-NEXT:  2      2     0.67                       sbbw    $7, %di
+# CHECK-NEXT:  6      9     1.00    *      *           sbbw    $7, (%rax)
+# CHECK-NEXT:  2      2     0.67                       sbbw    %di, %di
+# CHECK-NEXT:  6      9     1.00    *      *           sbbw    %di, (%rax)
+# CHECK-NEXT:  3      7     0.67    *                  sbbw    (%rax), %di
+# CHECK-NEXT:  2      2     0.67                       sbbl    $665536, %eax
+# CHECK-NEXT:  2      2     0.67                       sbbl    $665536, %edi
+# CHECK-NEXT:  6      9     1.00    *      *           sbbl    $665536, (%rax)
+# CHECK-NEXT:  2      2     0.67                       sbbl    $7, %edi
+# CHECK-NEXT:  6      9     1.00    *      *           sbbl    $7, (%rax)
+# CHECK-NEXT:  2      2     0.67                       sbbl    %edi, %edi
+# CHECK-NEXT:  6      9     1.00    *      *           sbbl    %edi, (%rax)
+# CHECK-NEXT:  3      7     0.67    *                  sbbl    (%rax), %edi
+# CHECK-NEXT:  2      2     0.67                       sbbq    $665536, %rax
+# CHECK-NEXT:  2      2     0.67                       sbbq    $665536, %rdi
+# CHECK-NEXT:  6      9     1.00    *      *           sbbq    $665536, (%rax)
+# CHECK-NEXT:  2      2     0.67                       sbbq    $7, %rdi
+# CHECK-NEXT:  6      9     1.00    *      *           sbbq    $7, (%rax)
+# CHECK-NEXT:  2      2     0.67                       sbbq    %rdi, %rdi
+# CHECK-NEXT:  6      9     1.00    *      *           sbbq    %rdi, (%rax)
+# CHECK-NEXT:  3      7     0.67    *                  sbbq    (%rax), %rdi
 # CHECK-NEXT:  4      4     1.50                       shldw   %cl, %si, %di
 # CHECK-NEXT:  4      4     1.50                       shrdw   %cl, %si, %di
 # CHECK-NEXT:  7      10    1.50    *      *           shldw   %cl, %si, (%rax)
@@ -409,6 +635,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  2      2     0.67                       shrdq   $7, %rsi, %rdi
 # CHECK-NEXT:  5      8     1.00    *      *           shldq   $7, %rsi, (%rax)
 # CHECK-NEXT:  5      8     1.00    *      *           shrdq   $7, %rsi, (%rax)
+# CHECK-NEXT:  1      1     0.33                       subb    $7, %al
+# CHECK-NEXT:  1      1     0.33                       subb    $7, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           subb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.33                       subb    %dil, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           subb    %dil, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.33                       subw    $511, %ax
+# CHECK-NEXT:  1      1     0.33                       subw    $511, %di
+# CHECK-NEXT:  3      7     1.00    *      *           subw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.33                       subw    $7, %di
+# CHECK-NEXT:  3      7     1.00    *      *           subw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.33                       subw    %di, %di
+# CHECK-NEXT:  3      7     1.00    *      *           subw    %di, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subw    (%rax), %di
+# CHECK-NEXT:  1      1     0.33                       subl    $665536, %eax
+# CHECK-NEXT:  1      1     0.33                       subl    $665536, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           subl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.33                       subl    $7, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           subl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.33                       subl    %edi, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           subl    %edi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.33                       subq    $665536, %rax
+# CHECK-NEXT:  1      1     0.33                       subq    $665536, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           subq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.33                       subq    $7, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           subq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.33                       subq    %rdi, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           subq    %rdi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subq    (%rax), %rdi
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0] - SBDivider
@@ -422,10 +678,70 @@ shrdq $7, %rsi, (%rax)
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     172.00 8.00   96.00  172.00 96.00  96.00
+# CHECK-NEXT:  -      -     248.33 57.33  140.00 248.33 148.00 148.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]   Instructions:
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      adcb    $7, %al
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      adcb    $7, %dil
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00    adcb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      adcb    %dil, %dil
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00    adcb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50    adcb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      adcw    $511, %ax
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      adcw    $511, %di
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00    adcw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      adcw    $7, %di
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00    adcw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      adcw    %di, %di
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00    adcw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50    adcw    (%rax), %di
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      adcl    $665536, %eax
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      adcl    $665536, %edi
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00    adcl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      adcl    $7, %edi
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00    adcl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      adcl    %edi, %edi
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00    adcl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50    adcl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      adcq    $665536, %rax
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      adcq    $665536, %rdi
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00    adcq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      adcq    $7, %rdi
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00    adcq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      adcq    %rdi, %rdi
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00    adcq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50    adcq    (%rax), %rdi
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      addb    $7, %al
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      addb    $7, %dil
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    addb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      addb    %dil, %dil
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    addb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50    addb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      addw    $511, %ax
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      addw    $511, %di
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    addw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      addw    $7, %di
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    addw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      addw    %di, %di
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    addw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50    addw    (%rax), %di
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      addl    $665536, %eax
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      addl    $665536, %edi
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    addl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      addl    $7, %edi
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    addl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      addl    %edi, %edi
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    addl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50    addl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      addq    $665536, %rax
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      addq    $665536, %rdi
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    addq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      addq    $7, %rdi
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    addq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      addq    %rdi, %rdi
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    addq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50    addq    (%rax), %rdi
 # 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)
@@ -594,6 +910,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     1.00   1.50   1.00   1.00    sarq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     1.00   1.50   1.00   1.00    shlq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     1.00   1.50   1.00   1.00    shrq    %cl, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      sbbb    $7, %al
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      sbbb    $7, %dil
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00    sbbb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      sbbb    %dil, %dil
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00    sbbb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50    sbbb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      sbbw    $511, %ax
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      sbbw    $511, %di
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00    sbbw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      sbbw    $7, %di
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00    sbbw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      sbbw    %di, %di
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00    sbbw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50    sbbw    (%rax), %di
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      sbbl    $665536, %eax
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      sbbl    $665536, %edi
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00    sbbl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      sbbl    $7, %edi
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00    sbbl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      sbbl    %edi, %edi
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00    sbbl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50    sbbl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      sbbq    $665536, %rax
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      sbbq    $665536, %rdi
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00    sbbq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      sbbq    $7, %rdi
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00    sbbq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      sbbq    %rdi, %rdi
+# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00    sbbq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50    sbbq    (%rax), %rdi
 # CHECK-NEXT:  -      -     1.83   0.33    -     1.83    -      -      shldw   %cl, %si, %di
 # CHECK-NEXT:  -      -     1.83   0.33    -     1.83    -      -      shrdw   %cl, %si, %di
 # CHECK-NEXT:  -      -     1.83   0.33   1.00   1.83   1.00   1.00    shldw   %cl, %si, (%rax)
@@ -618,4 +964,34 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      shrdq   $7, %rsi, %rdi
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   0.83   1.00   1.00    shldq   $7, %rsi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33   1.00   0.83   1.00   1.00    shrdq   $7, %rsi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      subb    $7, %al
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      subb    $7, %dil
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    subb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      subb    %dil, %dil
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    subb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50    subb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      subw    $511, %ax
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      subw    $511, %di
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    subw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      subw    $7, %di
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    subw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      subw    %di, %di
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    subw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50    subw    (%rax), %di
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      subl    $665536, %eax
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      subl    $665536, %edi
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    subl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      subl    $7, %edi
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    subl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      subl    %edi, %edi
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    subl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50    subl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      subq    $665536, %rax
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      subq    $665536, %rdi
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    subq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      subq    $7, %rdi
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    subq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -      subq    %rdi, %rdi
+# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00    subq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50    subq    (%rax), %rdi
 
index 88c0c6c..bf55871 100644 (file)
@@ -1,6 +1,74 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake -instruction-tables < %s | FileCheck %s
 
+adcb $7, %al
+adcb $7, %dil
+adcb $7, (%rax)
+adcb %dil, %dil
+adcb %dil, (%rax)
+adcb (%rax), %dil
+
+adcw $511, %ax
+adcw $511, %di
+adcw $511, (%rax)
+adcw $7, %di
+adcw $7, (%rax)
+adcw %di, %di
+adcw %di, (%rax)
+adcw (%rax), %di
+
+adcl $665536, %eax
+adcl $665536, %edi
+adcl $665536, (%rax)
+adcl $7, %edi
+adcl $7, (%rax)
+adcl %edi, %edi
+adcl %edi, (%rax)
+adcl (%rax), %edi
+
+adcq $665536, %rax
+adcq $665536, %rdi
+adcq $665536, (%rax)
+adcq $7, %rdi
+adcq $7, (%rax)
+adcq %rdi, %rdi
+adcq %rdi, (%rax)
+adcq (%rax), %rdi
+
+addb $7, %al
+addb $7, %dil
+addb $7, (%rax)
+addb %dil, %dil
+addb %dil, (%rax)
+addb (%rax), %dil
+
+addw $511, %ax
+addw $511, %di
+addw $511, (%rax)
+addw $7, %di
+addw $7, (%rax)
+addw %di, %di
+addw %di, (%rax)
+addw (%rax), %di
+
+addl $665536, %eax
+addl $665536, %edi
+addl $665536, (%rax)
+addl $7, %edi
+addl $7, (%rax)
+addl %edi, %edi
+addl %edi, (%rax)
+addl (%rax), %edi
+
+addq $665536, %rax
+addq $665536, %rdi
+addq $665536, (%rax)
+addq $7, %rdi
+addq $7, (%rax)
+addq %rdi, %rdi
+addq %rdi, (%rax)
+addq (%rax), %rdi
+
 rclb %dil
 rcrb %dil
 rclb (%rax)
@@ -181,6 +249,40 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+sbbb $7, %al
+sbbb $7, %dil
+sbbb $7, (%rax)
+sbbb %dil, %dil
+sbbb %dil, (%rax)
+sbbb (%rax), %dil
+
+sbbw $511, %ax
+sbbw $511, %di
+sbbw $511, (%rax)
+sbbw $7, %di
+sbbw $7, (%rax)
+sbbw %di, %di
+sbbw %di, (%rax)
+sbbw (%rax), %di
+
+sbbl $665536, %eax
+sbbl $665536, %edi
+sbbl $665536, (%rax)
+sbbl $7, %edi
+sbbl $7, (%rax)
+sbbl %edi, %edi
+sbbl %edi, (%rax)
+sbbl (%rax), %edi
+
+sbbq $665536, %rax
+sbbq $665536, %rdi
+sbbq $665536, (%rax)
+sbbq $7, %rdi
+sbbq $7, (%rax)
+sbbq %rdi, %rdi
+sbbq %rdi, (%rax)
+sbbq (%rax), %rdi
+
 shldw %cl, %si, %di
 shrdw %cl, %si, %di
 shldw %cl, %si, (%rax)
@@ -208,6 +310,40 @@ shrdq $7, %rsi, %rdi
 shldq $7, %rsi, (%rax)
 shrdq $7, %rsi, (%rax)
 
+subb $7, %al
+subb $7, %dil
+subb $7, (%rax)
+subb %dil, %dil
+subb %dil, (%rax)
+subb (%rax), %dil
+
+subw $511, %ax
+subw $511, %di
+subw $511, (%rax)
+subw $7, %di
+subw $7, (%rax)
+subw %di, %di
+subw %di, (%rax)
+subw (%rax), %di
+
+subl $665536, %eax
+subl $665536, %edi
+subl $665536, (%rax)
+subl $7, %edi
+subl $7, (%rax)
+subl %edi, %edi
+subl %edi, (%rax)
+subl (%rax), %edi
+
+subq $665536, %rax
+subq $665536, %rdi
+subq $665536, (%rax)
+subq $7, %rdi
+subq $7, (%rax)
+subq %rdi, %rdi
+subq %rdi, (%rax)
+subq (%rax), %rdi
+
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -217,6 +353,66 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT: [6]: HasSideEffects
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]   Instructions:
+# CHECK-NEXT:  2      2     0.50                       adcb    $7, %al
+# CHECK-NEXT:  2      2     0.50                       adcb    $7, %dil
+# CHECK-NEXT:  6      8     1.00    *      *           adcb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcb    %dil, %dil
+# CHECK-NEXT:  6      8     1.00    *      *           adcb    %dil, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  adcb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                       adcw    $511, %ax
+# CHECK-NEXT:  1      1     0.50                       adcw    $511, %di
+# CHECK-NEXT:  6      8     1.00    *      *           adcw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcw    $7, %di
+# CHECK-NEXT:  6      8     1.00    *      *           adcw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcw    %di, %di
+# CHECK-NEXT:  6      8     1.00    *      *           adcw    %di, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  adcw    (%rax), %di
+# CHECK-NEXT:  1      1     0.50                       adcl    $665536, %eax
+# CHECK-NEXT:  1      1     0.50                       adcl    $665536, %edi
+# CHECK-NEXT:  6      8     1.00    *      *           adcl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcl    $7, %edi
+# CHECK-NEXT:  6      8     1.00    *      *           adcl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcl    %edi, %edi
+# CHECK-NEXT:  6      8     1.00    *      *           adcl    %edi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  adcl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                       adcq    $665536, %rax
+# CHECK-NEXT:  1      1     0.50                       adcq    $665536, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *           adcq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcq    $7, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *           adcq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcq    %rdi, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *           adcq    %rdi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  adcq    (%rax), %rdi
+# CHECK-NEXT:  1      1     0.25                       addb    $7, %al
+# CHECK-NEXT:  1      1     0.25                       addb    $7, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           addb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addb    %dil, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           addb    %dil, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.25                       addw    $511, %ax
+# CHECK-NEXT:  1      1     0.25                       addw    $511, %di
+# CHECK-NEXT:  3      7     1.00    *      *           addw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addw    $7, %di
+# CHECK-NEXT:  3      7     1.00    *      *           addw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addw    %di, %di
+# CHECK-NEXT:  3      7     1.00    *      *           addw    %di, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addw    (%rax), %di
+# CHECK-NEXT:  1      1     0.25                       addl    $665536, %eax
+# CHECK-NEXT:  1      1     0.25                       addl    $665536, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           addl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addl    $7, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           addl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addl    %edi, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           addl    %edi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.25                       addq    $665536, %rax
+# CHECK-NEXT:  1      1     0.25                       addq    $665536, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           addq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addq    $7, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           addq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addq    %rdi, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           addq    %rdi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addq    (%rax), %rdi
 # CHECK-NEXT:  3      3     0.75                       rclb    %dil
 # CHECK-NEXT:  3      3     0.75                       rcrb    %dil
 # CHECK-NEXT:  5      8     0.75           *           rclb    (%rax)
@@ -385,6 +581,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  6      8     1.50    *      *           sarq    %cl, (%rax)
 # CHECK-NEXT:  6      8     1.50    *      *           shlq    %cl, (%rax)
 # CHECK-NEXT:  6      8     1.50    *      *           shrq    %cl, (%rax)
+# CHECK-NEXT:  2      2     0.50                       sbbb    $7, %al
+# CHECK-NEXT:  2      2     0.50                       sbbb    $7, %dil
+# CHECK-NEXT:  6      8     1.00    *      *           sbbb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbb    %dil, %dil
+# CHECK-NEXT:  6      8     1.00    *      *           sbbb    %dil, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  sbbb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                       sbbw    $511, %ax
+# CHECK-NEXT:  1      1     0.50                       sbbw    $511, %di
+# CHECK-NEXT:  6      8     1.00    *      *           sbbw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbw    $7, %di
+# CHECK-NEXT:  6      8     1.00    *      *           sbbw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbw    %di, %di
+# CHECK-NEXT:  6      8     1.00    *      *           sbbw    %di, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  sbbw    (%rax), %di
+# CHECK-NEXT:  1      1     0.50                       sbbl    $665536, %eax
+# CHECK-NEXT:  1      1     0.50                       sbbl    $665536, %edi
+# CHECK-NEXT:  6      8     1.00    *      *           sbbl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbl    $7, %edi
+# CHECK-NEXT:  6      8     1.00    *      *           sbbl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbl    %edi, %edi
+# CHECK-NEXT:  6      8     1.00    *      *           sbbl    %edi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  sbbl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                       sbbq    $665536, %rax
+# CHECK-NEXT:  1      1     0.50                       sbbq    $665536, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *           sbbq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbq    $7, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *           sbbq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbq    %rdi, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *           sbbq    %rdi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  sbbq    (%rax), %rdi
 # CHECK-NEXT:  4      6     1.00                       shldw   %cl, %si, %di
 # CHECK-NEXT:  4      6     1.00                       shrdw   %cl, %si, %di
 # CHECK-NEXT:  6      11    1.00    *      *           shldw   %cl, %si, (%rax)
@@ -409,6 +635,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  1      3     1.00                       shrdq   $7, %rsi, %rdi
 # CHECK-NEXT:  4      9     1.00    *      *           shldq   $7, %rsi, (%rax)
 # CHECK-NEXT:  4      9     1.00    *      *           shrdq   $7, %rsi, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subb    $7, %al
+# CHECK-NEXT:  1      1     0.25                       subb    $7, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           subb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subb    %dil, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           subb    %dil, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.25                       subw    $511, %ax
+# CHECK-NEXT:  1      1     0.25                       subw    $511, %di
+# CHECK-NEXT:  3      7     1.00    *      *           subw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subw    $7, %di
+# CHECK-NEXT:  3      7     1.00    *      *           subw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subw    %di, %di
+# CHECK-NEXT:  3      7     1.00    *      *           subw    %di, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subw    (%rax), %di
+# CHECK-NEXT:  1      1     0.25                       subl    $665536, %eax
+# CHECK-NEXT:  1      1     0.25                       subl    $665536, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           subl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subl    $7, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           subl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subl    %edi, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           subl    %edi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.25                       subq    $665536, %rax
+# CHECK-NEXT:  1      1     0.25                       subq    $665536, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           subq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subq    $7, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           subq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subq    %rdi, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           subq    %rdi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subq    (%rax), %rdi
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0] - SKLDivider
@@ -424,10 +680,70 @@ shrdq $7, %rsi, (%rax)
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -      -     203.25 83.75  80.00  80.00  56.00  32.75  203.25 32.00
+# CHECK-NEXT:  -      -     265.75 105.25 124.67 124.67 100.00 54.25  265.75 46.67
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]       Instructions:
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcb    $7, %al
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcb    $7, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcb    %dil, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        adcb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcw    $511, %ax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcw    $511, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcw    $7, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcw    %di, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        adcw    (%rax), %di
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcl    $665536, %eax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcl    $665536, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcl    $7, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcl    %edi, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        adcl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcq    $665536, %rax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcq    $665536, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcq    $7, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcq    %rdi, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        adcq    (%rax), %rdi
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addb    $7, %al
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addb    $7, %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addb    %dil, %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        addb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addw    $511, %ax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addw    $511, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addw    $7, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addw    %di, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        addw    (%rax), %di
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addl    $665536, %eax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addl    $665536, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addl    $7, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addl    %edi, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        addl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addq    $665536, %rax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addq    $665536, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addq    $7, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addq    %rdi, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        addq    (%rax), %rdi
 # 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)
@@ -596,6 +912,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     0.83   0.83   1.00    -     1.50   0.33      sarq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     0.83   0.83   1.00    -     1.50   0.33      shlq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     0.83   0.83   1.00    -     1.50   0.33      shrq    %cl, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbb    $7, %al
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbb    $7, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbb    %dil, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        sbbb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbw    $511, %ax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbw    $511, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbw    $7, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbw    %di, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        sbbw    (%rax), %di
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbl    $665536, %eax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbl    $665536, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbl    $7, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbl    %edi, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        sbbl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbq    $665536, %rax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbq    $665536, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbq    $7, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbq    %rdi, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        sbbq    (%rax), %rdi
 # CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -        shldw   %cl, %si, %di
 # CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -        shrdw   %cl, %si, %di
 # CHECK-NEXT:  -      -     1.25   1.25   0.83   0.83    -     0.25   1.25   0.33      shldw   %cl, %si, (%rax)
@@ -620,4 +966,34 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shrdq   $7, %rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shldq   $7, %rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shrdq   $7, %rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subb    $7, %al
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subb    $7, %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subb    %dil, %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        subb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subw    $511, %ax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subw    $511, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subw    $7, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subw    %di, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        subw    (%rax), %di
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subl    $665536, %eax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subl    $665536, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subl    $7, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subl    %edi, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        subl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subq    $665536, %rax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subq    $665536, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subq    $7, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subq    %rdi, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        subq    (%rax), %rdi
 
index f3c0da3..82074d5 100644 (file)
@@ -1,6 +1,74 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 -instruction-tables < %s | FileCheck %s
 
+adcb $7, %al
+adcb $7, %dil
+adcb $7, (%rax)
+adcb %dil, %dil
+adcb %dil, (%rax)
+adcb (%rax), %dil
+
+adcw $511, %ax
+adcw $511, %di
+adcw $511, (%rax)
+adcw $7, %di
+adcw $7, (%rax)
+adcw %di, %di
+adcw %di, (%rax)
+adcw (%rax), %di
+
+adcl $665536, %eax
+adcl $665536, %edi
+adcl $665536, (%rax)
+adcl $7, %edi
+adcl $7, (%rax)
+adcl %edi, %edi
+adcl %edi, (%rax)
+adcl (%rax), %edi
+
+adcq $665536, %rax
+adcq $665536, %rdi
+adcq $665536, (%rax)
+adcq $7, %rdi
+adcq $7, (%rax)
+adcq %rdi, %rdi
+adcq %rdi, (%rax)
+adcq (%rax), %rdi
+
+addb $7, %al
+addb $7, %dil
+addb $7, (%rax)
+addb %dil, %dil
+addb %dil, (%rax)
+addb (%rax), %dil
+
+addw $511, %ax
+addw $511, %di
+addw $511, (%rax)
+addw $7, %di
+addw $7, (%rax)
+addw %di, %di
+addw %di, (%rax)
+addw (%rax), %di
+
+addl $665536, %eax
+addl $665536, %edi
+addl $665536, (%rax)
+addl $7, %edi
+addl $7, (%rax)
+addl %edi, %edi
+addl %edi, (%rax)
+addl (%rax), %edi
+
+addq $665536, %rax
+addq $665536, %rdi
+addq $665536, (%rax)
+addq $7, %rdi
+addq $7, (%rax)
+addq %rdi, %rdi
+addq %rdi, (%rax)
+addq (%rax), %rdi
+
 rclb %dil
 rcrb %dil
 rclb (%rax)
@@ -181,6 +249,40 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+sbbb $7, %al
+sbbb $7, %dil
+sbbb $7, (%rax)
+sbbb %dil, %dil
+sbbb %dil, (%rax)
+sbbb (%rax), %dil
+
+sbbw $511, %ax
+sbbw $511, %di
+sbbw $511, (%rax)
+sbbw $7, %di
+sbbw $7, (%rax)
+sbbw %di, %di
+sbbw %di, (%rax)
+sbbw (%rax), %di
+
+sbbl $665536, %eax
+sbbl $665536, %edi
+sbbl $665536, (%rax)
+sbbl $7, %edi
+sbbl $7, (%rax)
+sbbl %edi, %edi
+sbbl %edi, (%rax)
+sbbl (%rax), %edi
+
+sbbq $665536, %rax
+sbbq $665536, %rdi
+sbbq $665536, (%rax)
+sbbq $7, %rdi
+sbbq $7, (%rax)
+sbbq %rdi, %rdi
+sbbq %rdi, (%rax)
+sbbq (%rax), %rdi
+
 shldw %cl, %si, %di
 shrdw %cl, %si, %di
 shldw %cl, %si, (%rax)
@@ -208,6 +310,40 @@ shrdq $7, %rsi, %rdi
 shldq $7, %rsi, (%rax)
 shrdq $7, %rsi, (%rax)
 
+subb $7, %al
+subb $7, %dil
+subb $7, (%rax)
+subb %dil, %dil
+subb %dil, (%rax)
+subb (%rax), %dil
+
+subw $511, %ax
+subw $511, %di
+subw $511, (%rax)
+subw $7, %di
+subw $7, (%rax)
+subw %di, %di
+subw %di, (%rax)
+subw (%rax), %di
+
+subl $665536, %eax
+subl $665536, %edi
+subl $665536, (%rax)
+subl $7, %edi
+subl $7, (%rax)
+subl %edi, %edi
+subl %edi, (%rax)
+subl (%rax), %edi
+
+subq $665536, %rax
+subq $665536, %rdi
+subq $665536, (%rax)
+subq $7, %rdi
+subq $7, (%rax)
+subq %rdi, %rdi
+subq %rdi, (%rax)
+subq (%rax), %rdi
+
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -217,6 +353,66 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT: [6]: HasSideEffects
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]   Instructions:
+# CHECK-NEXT:  2      2     0.50                       adcb    $7, %al
+# CHECK-NEXT:  2      2     0.50                       adcb    $7, %dil
+# CHECK-NEXT:  6      8     1.00    *      *           adcb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcb    %dil, %dil
+# CHECK-NEXT:  6      8     1.00    *      *           adcb    %dil, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  adcb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                       adcw    $511, %ax
+# CHECK-NEXT:  1      1     0.50                       adcw    $511, %di
+# CHECK-NEXT:  6      8     1.00    *      *           adcw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcw    $7, %di
+# CHECK-NEXT:  6      8     1.00    *      *           adcw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcw    %di, %di
+# CHECK-NEXT:  6      8     1.00    *      *           adcw    %di, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  adcw    (%rax), %di
+# CHECK-NEXT:  1      1     0.50                       adcl    $665536, %eax
+# CHECK-NEXT:  1      1     0.50                       adcl    $665536, %edi
+# CHECK-NEXT:  6      8     1.00    *      *           adcl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcl    $7, %edi
+# CHECK-NEXT:  6      8     1.00    *      *           adcl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcl    %edi, %edi
+# CHECK-NEXT:  6      8     1.00    *      *           adcl    %edi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  adcl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                       adcq    $665536, %rax
+# CHECK-NEXT:  1      1     0.50                       adcq    $665536, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *           adcq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcq    $7, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *           adcq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       adcq    %rdi, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *           adcq    %rdi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  adcq    (%rax), %rdi
+# CHECK-NEXT:  1      1     0.25                       addb    $7, %al
+# CHECK-NEXT:  1      1     0.25                       addb    $7, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           addb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addb    %dil, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           addb    %dil, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.25                       addw    $511, %ax
+# CHECK-NEXT:  1      1     0.25                       addw    $511, %di
+# CHECK-NEXT:  3      7     1.00    *      *           addw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addw    $7, %di
+# CHECK-NEXT:  3      7     1.00    *      *           addw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addw    %di, %di
+# CHECK-NEXT:  3      7     1.00    *      *           addw    %di, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addw    (%rax), %di
+# CHECK-NEXT:  1      1     0.25                       addl    $665536, %eax
+# CHECK-NEXT:  1      1     0.25                       addl    $665536, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           addl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addl    $7, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           addl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addl    %edi, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           addl    %edi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.25                       addq    $665536, %rax
+# CHECK-NEXT:  1      1     0.25                       addq    $665536, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           addq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addq    $7, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           addq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addq    %rdi, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           addq    %rdi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  addq    (%rax), %rdi
 # CHECK-NEXT:  3      3     0.75                       rclb    %dil
 # CHECK-NEXT:  3      3     0.75                       rcrb    %dil
 # CHECK-NEXT:  5      8     0.75           *           rclb    (%rax)
@@ -385,6 +581,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  6      8     1.50    *      *           sarq    %cl, (%rax)
 # CHECK-NEXT:  6      8     1.50    *      *           shlq    %cl, (%rax)
 # CHECK-NEXT:  6      8     1.50    *      *           shrq    %cl, (%rax)
+# CHECK-NEXT:  2      2     0.50                       sbbb    $7, %al
+# CHECK-NEXT:  2      2     0.50                       sbbb    $7, %dil
+# CHECK-NEXT:  6      8     1.00    *      *           sbbb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbb    %dil, %dil
+# CHECK-NEXT:  6      8     1.00    *      *           sbbb    %dil, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  sbbb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                       sbbw    $511, %ax
+# CHECK-NEXT:  1      1     0.50                       sbbw    $511, %di
+# CHECK-NEXT:  6      8     1.00    *      *           sbbw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbw    $7, %di
+# CHECK-NEXT:  6      8     1.00    *      *           sbbw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbw    %di, %di
+# CHECK-NEXT:  6      8     1.00    *      *           sbbw    %di, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  sbbw    (%rax), %di
+# CHECK-NEXT:  1      1     0.50                       sbbl    $665536, %eax
+# CHECK-NEXT:  1      1     0.50                       sbbl    $665536, %edi
+# CHECK-NEXT:  6      8     1.00    *      *           sbbl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbl    $7, %edi
+# CHECK-NEXT:  6      8     1.00    *      *           sbbl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbl    %edi, %edi
+# CHECK-NEXT:  6      8     1.00    *      *           sbbl    %edi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  sbbl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                       sbbq    $665536, %rax
+# CHECK-NEXT:  1      1     0.50                       sbbq    $665536, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *           sbbq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbq    $7, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *           sbbq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.50                       sbbq    %rdi, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *           sbbq    %rdi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  sbbq    (%rax), %rdi
 # CHECK-NEXT:  4      6     1.00                       shldw   %cl, %si, %di
 # CHECK-NEXT:  4      6     1.00                       shrdw   %cl, %si, %di
 # CHECK-NEXT:  6      11    1.00    *      *           shldw   %cl, %si, (%rax)
@@ -409,6 +635,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  1      3     1.00                       shrdq   $7, %rsi, %rdi
 # CHECK-NEXT:  4      9     1.00    *      *           shldq   $7, %rsi, (%rax)
 # CHECK-NEXT:  4      9     1.00    *      *           shrdq   $7, %rsi, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subb    $7, %al
+# CHECK-NEXT:  1      1     0.25                       subb    $7, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           subb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subb    %dil, %dil
+# CHECK-NEXT:  3      7     1.00    *      *           subb    %dil, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.25                       subw    $511, %ax
+# CHECK-NEXT:  1      1     0.25                       subw    $511, %di
+# CHECK-NEXT:  3      7     1.00    *      *           subw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subw    $7, %di
+# CHECK-NEXT:  3      7     1.00    *      *           subw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subw    %di, %di
+# CHECK-NEXT:  3      7     1.00    *      *           subw    %di, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subw    (%rax), %di
+# CHECK-NEXT:  1      1     0.25                       subl    $665536, %eax
+# CHECK-NEXT:  1      1     0.25                       subl    $665536, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           subl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subl    $7, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           subl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subl    %edi, %edi
+# CHECK-NEXT:  3      7     1.00    *      *           subl    %edi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.25                       subq    $665536, %rax
+# CHECK-NEXT:  1      1     0.25                       subq    $665536, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           subq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subq    $7, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           subq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subq    %rdi, %rdi
+# CHECK-NEXT:  3      7     1.00    *      *           subq    %rdi, (%rax)
+# CHECK-NEXT:  2      6     0.50    *                  subq    (%rax), %rdi
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0] - SKXDivider
@@ -424,10 +680,70 @@ shrdq $7, %rsi, (%rax)
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -      -     203.25 83.75  80.00  80.00  56.00  32.75  203.25 32.00
+# CHECK-NEXT:  -      -     265.75 105.25 124.67 124.67 100.00 54.25  265.75 46.67
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]       Instructions:
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcb    $7, %al
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        adcb    $7, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcb    %dil, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        adcb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcw    $511, %ax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcw    $511, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcw    $7, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcw    %di, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        adcw    (%rax), %di
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcl    $665536, %eax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcl    $665536, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcl    $7, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcl    %edi, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        adcl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcq    $665536, %rax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcq    $665536, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcq    $7, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        adcq    %rdi, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      adcq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        adcq    (%rax), %rdi
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addb    $7, %al
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addb    $7, %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addb    %dil, %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        addb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addw    $511, %ax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addw    $511, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addw    $7, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addw    %di, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        addw    (%rax), %di
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addl    $665536, %eax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addl    $665536, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addl    $7, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addl    %edi, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        addl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addq    $665536, %rax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addq    $665536, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addq    $7, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        addq    %rdi, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      addq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        addq    (%rax), %rdi
 # 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)
@@ -596,6 +912,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     0.83   0.83   1.00    -     1.50   0.33      sarq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     0.83   0.83   1.00    -     1.50   0.33      shlq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     0.83   0.83   1.00    -     1.50   0.33      shrq    %cl, (%rax)
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbb    $7, %al
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -        sbbb    $7, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbb    %dil, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        sbbb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbw    $511, %ax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbw    $511, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbw    $7, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbw    %di, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        sbbw    (%rax), %di
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbl    $665536, %eax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbl    $665536, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbl    $7, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbl    %edi, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        sbbl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbq    $665536, %rax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbq    $665536, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbq    $7, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -        sbbq    %rdi, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sbbq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -        sbbq    (%rax), %rdi
 # CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -        shldw   %cl, %si, %di
 # CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -        shrdw   %cl, %si, %di
 # CHECK-NEXT:  -      -     1.25   1.25   0.83   0.83    -     0.25   1.25   0.33      shldw   %cl, %si, (%rax)
@@ -620,4 +966,34 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shrdq   $7, %rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shldq   $7, %rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shrdq   $7, %rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subb    $7, %al
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subb    $7, %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subb    %dil, %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subb    %dil, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        subb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subw    $511, %ax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subw    $511, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subw    $7, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subw    %di, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subw    %di, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        subw    (%rax), %di
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subl    $665536, %eax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subl    $665536, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subl    $7, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subl    %edi, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subl    %edi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        subl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subq    $665536, %rax
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subq    $665536, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subq    $7, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -        subq    %rdi, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33      subq    %rdi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -        subq    (%rax), %rdi
 
index ad44b8d..fed4c70 100644 (file)
@@ -1,6 +1,74 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver1 -instruction-tables < %s | FileCheck %s
 
+adcb $7, %al
+adcb $7, %dil
+adcb $7, (%rax)
+adcb %dil, %dil
+adcb %dil, (%rax)
+adcb (%rax), %dil
+
+adcw $511, %ax
+adcw $511, %di
+adcw $511, (%rax)
+adcw $7, %di
+adcw $7, (%rax)
+adcw %di, %di
+adcw %di, (%rax)
+adcw (%rax), %di
+
+adcl $665536, %eax
+adcl $665536, %edi
+adcl $665536, (%rax)
+adcl $7, %edi
+adcl $7, (%rax)
+adcl %edi, %edi
+adcl %edi, (%rax)
+adcl (%rax), %edi
+
+adcq $665536, %rax
+adcq $665536, %rdi
+adcq $665536, (%rax)
+adcq $7, %rdi
+adcq $7, (%rax)
+adcq %rdi, %rdi
+adcq %rdi, (%rax)
+adcq (%rax), %rdi
+
+addb $7, %al
+addb $7, %dil
+addb $7, (%rax)
+addb %dil, %dil
+addb %dil, (%rax)
+addb (%rax), %dil
+
+addw $511, %ax
+addw $511, %di
+addw $511, (%rax)
+addw $7, %di
+addw $7, (%rax)
+addw %di, %di
+addw %di, (%rax)
+addw (%rax), %di
+
+addl $665536, %eax
+addl $665536, %edi
+addl $665536, (%rax)
+addl $7, %edi
+addl $7, (%rax)
+addl %edi, %edi
+addl %edi, (%rax)
+addl (%rax), %edi
+
+addq $665536, %rax
+addq $665536, %rdi
+addq $665536, (%rax)
+addq $7, %rdi
+addq $7, (%rax)
+addq %rdi, %rdi
+addq %rdi, (%rax)
+addq (%rax), %rdi
+
 rclb %dil
 rcrb %dil
 rclb (%rax)
@@ -181,6 +249,40 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+sbbb $7, %al
+sbbb $7, %dil
+sbbb $7, (%rax)
+sbbb %dil, %dil
+sbbb %dil, (%rax)
+sbbb (%rax), %dil
+
+sbbw $511, %ax
+sbbw $511, %di
+sbbw $511, (%rax)
+sbbw $7, %di
+sbbw $7, (%rax)
+sbbw %di, %di
+sbbw %di, (%rax)
+sbbw (%rax), %di
+
+sbbl $665536, %eax
+sbbl $665536, %edi
+sbbl $665536, (%rax)
+sbbl $7, %edi
+sbbl $7, (%rax)
+sbbl %edi, %edi
+sbbl %edi, (%rax)
+sbbl (%rax), %edi
+
+sbbq $665536, %rax
+sbbq $665536, %rdi
+sbbq $665536, (%rax)
+sbbq $7, %rdi
+sbbq $7, (%rax)
+sbbq %rdi, %rdi
+sbbq %rdi, (%rax)
+sbbq (%rax), %rdi
+
 shldw %cl, %si, %di
 shrdw %cl, %si, %di
 shldw %cl, %si, (%rax)
@@ -208,6 +310,40 @@ shrdq $7, %rsi, %rdi
 shldq $7, %rsi, (%rax)
 shrdq $7, %rsi, (%rax)
 
+subb $7, %al
+subb $7, %dil
+subb $7, (%rax)
+subb %dil, %dil
+subb %dil, (%rax)
+subb (%rax), %dil
+
+subw $511, %ax
+subw $511, %di
+subw $511, (%rax)
+subw $7, %di
+subw $7, (%rax)
+subw %di, %di
+subw %di, (%rax)
+subw (%rax), %di
+
+subl $665536, %eax
+subl $665536, %edi
+subl $665536, (%rax)
+subl $7, %edi
+subl $7, (%rax)
+subl %edi, %edi
+subl %edi, (%rax)
+subl (%rax), %edi
+
+subq $665536, %rax
+subq $665536, %rdi
+subq $665536, (%rax)
+subq $7, %rdi
+subq $7, (%rax)
+subq %rdi, %rdi
+subq %rdi, (%rax)
+subq (%rax), %rdi
+
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -217,6 +353,66 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT: [6]: HasSideEffects
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]   Instructions:
+# CHECK-NEXT:  1      1     0.25                       adcb    $7, %al
+# CHECK-NEXT:  1      1     0.25                       adcb    $7, %dil
+# CHECK-NEXT:  2      5     0.50    *      *           adcb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       adcb    %dil, %dil
+# CHECK-NEXT:  2      5     0.50    *      *           adcb    %dil, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                  adcb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.25                       adcw    $511, %ax
+# CHECK-NEXT:  1      1     0.25                       adcw    $511, %di
+# CHECK-NEXT:  2      5     0.50    *      *           adcw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.25                       adcw    $7, %di
+# CHECK-NEXT:  2      5     0.50    *      *           adcw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       adcw    %di, %di
+# CHECK-NEXT:  2      5     0.50    *      *           adcw    %di, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                  adcw    (%rax), %di
+# CHECK-NEXT:  1      1     0.25                       adcl    $665536, %eax
+# CHECK-NEXT:  1      1     0.25                       adcl    $665536, %edi
+# CHECK-NEXT:  2      5     0.50    *      *           adcl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       adcl    $7, %edi
+# CHECK-NEXT:  2      5     0.50    *      *           adcl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       adcl    %edi, %edi
+# CHECK-NEXT:  2      5     0.50    *      *           adcl    %edi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                  adcl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.25                       adcq    $665536, %rax
+# CHECK-NEXT:  1      1     0.25                       adcq    $665536, %rdi
+# CHECK-NEXT:  2      5     0.50    *      *           adcq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       adcq    $7, %rdi
+# CHECK-NEXT:  2      5     0.50    *      *           adcq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       adcq    %rdi, %rdi
+# CHECK-NEXT:  2      5     0.50    *      *           adcq    %rdi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                  adcq    (%rax), %rdi
+# CHECK-NEXT:  1      1     0.25                       addb    $7, %al
+# CHECK-NEXT:  1      1     0.25                       addb    $7, %dil
+# CHECK-NEXT:  2      5     0.50    *      *           addb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addb    %dil, %dil
+# CHECK-NEXT:  2      5     0.50    *      *           addb    %dil, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                  addb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.25                       addw    $511, %ax
+# CHECK-NEXT:  1      1     0.25                       addw    $511, %di
+# CHECK-NEXT:  2      5     0.50    *      *           addw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addw    $7, %di
+# CHECK-NEXT:  2      5     0.50    *      *           addw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addw    %di, %di
+# CHECK-NEXT:  2      5     0.50    *      *           addw    %di, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                  addw    (%rax), %di
+# CHECK-NEXT:  1      1     0.25                       addl    $665536, %eax
+# CHECK-NEXT:  1      1     0.25                       addl    $665536, %edi
+# CHECK-NEXT:  2      5     0.50    *      *           addl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addl    $7, %edi
+# CHECK-NEXT:  2      5     0.50    *      *           addl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addl    %edi, %edi
+# CHECK-NEXT:  2      5     0.50    *      *           addl    %edi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                  addl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.25                       addq    $665536, %rax
+# CHECK-NEXT:  1      1     0.25                       addq    $665536, %rdi
+# CHECK-NEXT:  2      5     0.50    *      *           addq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addq    $7, %rdi
+# CHECK-NEXT:  2      5     0.50    *      *           addq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       addq    %rdi, %rdi
+# CHECK-NEXT:  2      5     0.50    *      *           addq    %rdi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                  addq    (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                       rclb    %dil
 # CHECK-NEXT:  1      1     0.25                       rcrb    %dil
 # CHECK-NEXT:  1      100    -             *           rclb    (%rax)
@@ -385,6 +581,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  3      5     1.00    *      *           sarq    %cl, (%rax)
 # CHECK-NEXT:  3      5     1.00    *      *           shlq    %cl, (%rax)
 # CHECK-NEXT:  3      5     1.00    *      *           shrq    %cl, (%rax)
+# CHECK-NEXT:  1      1     0.25                       sbbb    $7, %al
+# CHECK-NEXT:  1      1     0.25                       sbbb    $7, %dil
+# CHECK-NEXT:  2      5     0.50    *      *           sbbb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       sbbb    %dil, %dil
+# CHECK-NEXT:  2      5     0.50    *      *           sbbb    %dil, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                  sbbb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.25                       sbbw    $511, %ax
+# CHECK-NEXT:  1      1     0.25                       sbbw    $511, %di
+# CHECK-NEXT:  2      5     0.50    *      *           sbbw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.25                       sbbw    $7, %di
+# CHECK-NEXT:  2      5     0.50    *      *           sbbw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       sbbw    %di, %di
+# CHECK-NEXT:  2      5     0.50    *      *           sbbw    %di, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                  sbbw    (%rax), %di
+# CHECK-NEXT:  1      1     0.25                       sbbl    $665536, %eax
+# CHECK-NEXT:  1      1     0.25                       sbbl    $665536, %edi
+# CHECK-NEXT:  2      5     0.50    *      *           sbbl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       sbbl    $7, %edi
+# CHECK-NEXT:  2      5     0.50    *      *           sbbl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       sbbl    %edi, %edi
+# CHECK-NEXT:  2      5     0.50    *      *           sbbl    %edi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                  sbbl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.25                       sbbq    $665536, %rax
+# CHECK-NEXT:  1      1     0.25                       sbbq    $665536, %rdi
+# CHECK-NEXT:  2      5     0.50    *      *           sbbq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       sbbq    $7, %rdi
+# CHECK-NEXT:  2      5     0.50    *      *           sbbq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       sbbq    %rdi, %rdi
+# CHECK-NEXT:  2      5     0.50    *      *           sbbq    %rdi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                  sbbq    (%rax), %rdi
 # CHECK-NEXT:  1      100    -                         shldw   %cl, %si, %di
 # CHECK-NEXT:  1      100    -                         shrdw   %cl, %si, %di
 # CHECK-NEXT:  1      100    -      *      *           shldw   %cl, %si, (%rax)
@@ -409,6 +635,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  1      1     0.25                       shrdq   $7, %rsi, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *           shldq   $7, %rsi, (%rax)
 # CHECK-NEXT:  2      5     0.50    *      *           shrdq   $7, %rsi, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subb    $7, %al
+# CHECK-NEXT:  1      1     0.25                       subb    $7, %dil
+# CHECK-NEXT:  2      5     0.50    *      *           subb    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subb    %dil, %dil
+# CHECK-NEXT:  2      5     0.50    *      *           subb    %dil, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                  subb    (%rax), %dil
+# CHECK-NEXT:  1      1     0.25                       subw    $511, %ax
+# CHECK-NEXT:  1      1     0.25                       subw    $511, %di
+# CHECK-NEXT:  2      5     0.50    *      *           subw    $511, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subw    $7, %di
+# CHECK-NEXT:  2      5     0.50    *      *           subw    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subw    %di, %di
+# CHECK-NEXT:  2      5     0.50    *      *           subw    %di, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                  subw    (%rax), %di
+# CHECK-NEXT:  1      1     0.25                       subl    $665536, %eax
+# CHECK-NEXT:  1      1     0.25                       subl    $665536, %edi
+# CHECK-NEXT:  2      5     0.50    *      *           subl    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subl    $7, %edi
+# CHECK-NEXT:  2      5     0.50    *      *           subl    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subl    %edi, %edi
+# CHECK-NEXT:  2      5     0.50    *      *           subl    %edi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                  subl    (%rax), %edi
+# CHECK-NEXT:  1      1     0.25                       subq    $665536, %rax
+# CHECK-NEXT:  1      1     0.25                       subq    $665536, %rdi
+# CHECK-NEXT:  2      5     0.50    *      *           subq    $665536, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subq    $7, %rdi
+# CHECK-NEXT:  2      5     0.50    *      *           subq    $7, (%rax)
+# CHECK-NEXT:  1      1     0.25                       subq    %rdi, %rdi
+# CHECK-NEXT:  2      5     0.50    *      *           subq    %rdi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                  subq    (%rax), %rdi
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0] - ZnAGU0
@@ -426,10 +682,70 @@ shrdq $7, %rsi, (%rax)
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]
-# CHECK-NEXT: 51.00  51.00  39.00  39.00  39.00  39.00   -      -      -      -      -      -
+# CHECK-NEXT: 81.00  81.00  69.00  69.00  69.00  69.00   -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]        Instructions:
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcb    $7, %al
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcb    $7, %dil
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcb    %dil, %dil
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcb    %dil, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcw    $511, %ax
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcw    $511, %di
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcw    $7, %di
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcw    %di, %di
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcw    %di, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcw    (%rax), %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcl    $665536, %eax
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcl    $665536, %edi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcl    $7, %edi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcl    %edi, %edi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcl    %edi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcq    $665536, %rax
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcq    $665536, %rdi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcq    $7, %rdi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcq    %rdi, %rdi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcq    %rdi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          adcq    (%rax), %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          addb    $7, %al
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          addb    $7, %dil
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          addb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          addb    %dil, %dil
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          addb    %dil, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          addb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          addw    $511, %ax
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          addw    $511, %di
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          addw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          addw    $7, %di
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          addw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          addw    %di, %di
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          addw    %di, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          addw    (%rax), %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          addl    $665536, %eax
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          addl    $665536, %edi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          addl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          addl    $7, %edi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          addl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          addl    %edi, %edi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          addl    %edi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          addl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          addq    $665536, %rax
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          addq    $665536, %rdi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          addq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          addq    $7, %rdi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          addq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          addq    %rdi, %rdi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          addq    %rdi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          addq    (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          rclb    %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          rcrb    %dil
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -          rclb    (%rax)
@@ -598,6 +914,36 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT: 1.00   1.00   0.25   0.25   0.25   0.25    -      -      -      -      -      -          sarq    %cl, (%rax)
 # CHECK-NEXT: 1.00   1.00   0.25   0.25   0.25   0.25    -      -      -      -      -      -          shlq    %cl, (%rax)
 # CHECK-NEXT: 1.00   1.00   0.25   0.25   0.25   0.25    -      -      -      -      -      -          shrq    %cl, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbb    $7, %al
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbb    $7, %dil
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbb    %dil, %dil
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbb    %dil, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbw    $511, %ax
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbw    $511, %di
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbw    $7, %di
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbw    %di, %di
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbw    %di, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbw    (%rax), %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbl    $665536, %eax
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbl    $665536, %edi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbl    $7, %edi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbl    %edi, %edi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbl    %edi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbq    $665536, %rax
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbq    $665536, %rdi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbq    $7, %rdi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbq    %rdi, %rdi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbq    %rdi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          sbbq    (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -          shldw   %cl, %si, %di
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -          shrdw   %cl, %si, %di
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -          shldw   %cl, %si, (%rax)
@@ -622,4 +968,34 @@ shrdq $7, %rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          shrdq   $7, %rsi, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          shldq   $7, %rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          shrdq   $7, %rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          subb    $7, %al
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          subb    $7, %dil
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          subb    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          subb    %dil, %dil
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          subb    %dil, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          subb    (%rax), %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          subw    $511, %ax
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          subw    $511, %di
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          subw    $511, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          subw    $7, %di
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          subw    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          subw    %di, %di
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          subw    %di, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          subw    (%rax), %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          subl    $665536, %eax
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          subl    $665536, %edi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          subl    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          subl    $7, %edi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          subl    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          subl    %edi, %edi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          subl    %edi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          subl    (%rax), %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          subq    $665536, %rax
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          subq    $665536, %rdi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          subq    $665536, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          subq    $7, %rdi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          subq    $7, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          subq    %rdi, %rdi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          subq    %rdi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          subq    (%rax), %rdi