]> granicus.if.org Git - llvm/commitdiff
[llvm-mca][X86] Add ADC/SBB with zero test cases
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 6 Mar 2019 12:51:16 +0000 (12:51 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 6 Mar 2019 12:51:16 +0000 (12:51 +0000)
Some targets have fast-path handling for these patterns that we should model.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355498 91177308-0d34-0410-b5e6-96231b3b80d8

test/tools/llvm-mca/X86/Atom/resources-x86_64.s
test/tools/llvm-mca/X86/BdVer2/resources-x86_64.s
test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
test/tools/llvm-mca/X86/Generic/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 04d2f191fe3260d884992a942f2a6c45de944b95..b7bb8e20cfc2fb9ff65bb5dc7383bb957dbe447f 100644 (file)
@@ -1,6 +1,9 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=atom -instruction-tables < %s | FileCheck %s
 
+adcb $0, %al
+adcb $0, %dil
+adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
@@ -8,6 +11,9 @@ adcb %sil, %dil
 adcb %sil, (%rax)
 adcb (%rax), %dil
 
+adcw $0, %ax
+adcw $0, %di
+adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
@@ -17,6 +23,9 @@ adcw %si, %di
 adcw %si, (%rax)
 adcw (%rax), %di
 
+adcl $0, %eax
+adcl $0, %edi
+adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
@@ -26,6 +35,9 @@ adcl %esi, %edi
 adcl %esi, (%rax)
 adcl (%rax), %edi
 
+adcq $0, %rax
+adcq $0, %rdi
+adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
@@ -628,6 +640,9 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+sbbb $0, %al
+sbbb $0, %dil
+sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
@@ -635,6 +650,9 @@ sbbb %sil, %dil
 sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
+sbbw $0, %ax
+sbbw $0, %di
+sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
@@ -644,6 +662,9 @@ sbbw %si, %di
 sbbw %si, (%rax)
 sbbw (%rax), %di
 
+sbbl $0, %eax
+sbbl $0, %edi
+sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
@@ -653,6 +674,9 @@ sbbl %esi, %edi
 sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
+sbbq $0, %rax
+sbbq $0, %rdi
+sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
@@ -875,12 +899,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
+# CHECK-NEXT:  1      1     0.50                        adcb   $0, %al
+# CHECK-NEXT:  1      1     0.50                        adcb   $0, %dil
+# CHECK-NEXT:  1      1     1.00    *      *            adcb   $0, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcb   $7, %al
 # CHECK-NEXT:  1      1     0.50                        adcb   $7, %dil
 # CHECK-NEXT:  1      1     1.00    *      *            adcb   $7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcb   %sil, %dil
 # CHECK-NEXT:  1      1     1.00    *      *            adcb   %sil, (%rax)
 # CHECK-NEXT:  1      1     1.00    *                   adcb   (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                        adcw   $0, %ax
+# CHECK-NEXT:  1      1     0.50                        adcw   $0, %di
+# CHECK-NEXT:  1      1     1.00    *      *            adcw   $0, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcw   $511, %ax
 # CHECK-NEXT:  1      1     0.50                        adcw   $511, %di
 # CHECK-NEXT:  1      1     1.00    *      *            adcw   $511, (%rax)
@@ -889,6 +919,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        adcw   %si, %di
 # CHECK-NEXT:  1      1     1.00    *      *            adcw   %si, (%rax)
 # CHECK-NEXT:  1      1     1.00    *                   adcw   (%rax), %di
+# CHECK-NEXT:  1      1     0.50                        adcl   $0, %eax
+# CHECK-NEXT:  1      1     0.50                        adcl   $0, %edi
+# CHECK-NEXT:  1      1     1.00    *      *            adcl   $0, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcl   $665536, %eax
 # CHECK-NEXT:  1      1     0.50                        adcl   $665536, %edi
 # CHECK-NEXT:  1      1     1.00    *      *            adcl   $665536, (%rax)
@@ -897,6 +930,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        adcl   %esi, %edi
 # CHECK-NEXT:  1      1     1.00    *      *            adcl   %esi, (%rax)
 # CHECK-NEXT:  1      1     1.00    *                   adcl   (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                        adcq   $0, %rax
+# CHECK-NEXT:  1      1     0.50                        adcq   $0, %rdi
+# CHECK-NEXT:  1      1     1.00    *      *            adcq   $0, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcq   $665536, %rax
 # CHECK-NEXT:  1      1     0.50                        adcq   $665536, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            adcq   $665536, (%rax)
@@ -1426,12 +1462,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            sarq   %cl, (%rax)
 # CHECK-NEXT:  1      1     1.00    *      *            shlq   %cl, (%rax)
 # CHECK-NEXT:  1      1     1.00    *      *            shrq   %cl, (%rax)
+# CHECK-NEXT:  1      1     0.50                        sbbb   $0, %al
+# CHECK-NEXT:  1      1     0.50                        sbbb   $0, %dil
+# CHECK-NEXT:  1      1     1.00    *      *            sbbb   $0, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbb   $7, %al
 # CHECK-NEXT:  1      1     0.50                        sbbb   $7, %dil
 # CHECK-NEXT:  1      1     1.00    *      *            sbbb   $7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbb   %sil, %dil
 # CHECK-NEXT:  1      1     1.00    *      *            sbbb   %sil, (%rax)
 # CHECK-NEXT:  1      1     1.00    *                   sbbb   (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                        sbbw   $0, %ax
+# CHECK-NEXT:  1      1     0.50                        sbbw   $0, %di
+# CHECK-NEXT:  1      1     1.00    *      *            sbbw   $0, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbw   $511, %ax
 # CHECK-NEXT:  1      1     0.50                        sbbw   $511, %di
 # CHECK-NEXT:  1      1     1.00    *      *            sbbw   $511, (%rax)
@@ -1440,6 +1482,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        sbbw   %si, %di
 # CHECK-NEXT:  1      1     1.00    *      *            sbbw   %si, (%rax)
 # CHECK-NEXT:  1      1     1.00    *                   sbbw   (%rax), %di
+# CHECK-NEXT:  1      1     0.50                        sbbl   $0, %eax
+# CHECK-NEXT:  1      1     0.50                        sbbl   $0, %edi
+# CHECK-NEXT:  1      1     1.00    *      *            sbbl   $0, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbl   $665536, %eax
 # CHECK-NEXT:  1      1     0.50                        sbbl   $665536, %edi
 # CHECK-NEXT:  1      1     1.00    *      *            sbbl   $665536, (%rax)
@@ -1448,6 +1493,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        sbbl   %esi, %edi
 # CHECK-NEXT:  1      1     1.00    *      *            sbbl   %esi, (%rax)
 # CHECK-NEXT:  1      1     1.00    *                   sbbl   (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                        sbbq   $0, %rax
+# CHECK-NEXT:  1      1     0.50                        sbbq   $0, %rdi
+# CHECK-NEXT:  1      1     1.00    *      *            sbbq   $0, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbq   $665536, %rax
 # CHECK-NEXT:  1      1     0.50                        sbbq   $665536, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            sbbq   $665536, (%rax)
@@ -1637,16 +1685,22 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]
-# CHECK-NEXT: 2674.50 2330.50
+# CHECK-NEXT: 2690.50 2338.50
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    Instructions:
+# CHECK-NEXT: 0.50   0.50   adcb       $0, %al
+# CHECK-NEXT: 0.50   0.50   adcb       $0, %dil
+# CHECK-NEXT: 1.00    -     adcb       $0, (%rax)
 # CHECK-NEXT: 0.50   0.50   adcb       $7, %al
 # CHECK-NEXT: 0.50   0.50   adcb       $7, %dil
 # CHECK-NEXT: 1.00    -     adcb       $7, (%rax)
 # CHECK-NEXT: 0.50   0.50   adcb       %sil, %dil
 # CHECK-NEXT: 1.00    -     adcb       %sil, (%rax)
 # CHECK-NEXT: 1.00    -     adcb       (%rax), %dil
+# CHECK-NEXT: 0.50   0.50   adcw       $0, %ax
+# CHECK-NEXT: 0.50   0.50   adcw       $0, %di
+# CHECK-NEXT: 1.00    -     adcw       $0, (%rax)
 # CHECK-NEXT: 0.50   0.50   adcw       $511, %ax
 # CHECK-NEXT: 0.50   0.50   adcw       $511, %di
 # CHECK-NEXT: 1.00    -     adcw       $511, (%rax)
@@ -1655,6 +1709,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   adcw       %si, %di
 # CHECK-NEXT: 1.00    -     adcw       %si, (%rax)
 # CHECK-NEXT: 1.00    -     adcw       (%rax), %di
+# CHECK-NEXT: 0.50   0.50   adcl       $0, %eax
+# CHECK-NEXT: 0.50   0.50   adcl       $0, %edi
+# CHECK-NEXT: 1.00    -     adcl       $0, (%rax)
 # CHECK-NEXT: 0.50   0.50   adcl       $665536, %eax
 # CHECK-NEXT: 0.50   0.50   adcl       $665536, %edi
 # CHECK-NEXT: 1.00    -     adcl       $665536, (%rax)
@@ -1663,6 +1720,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   adcl       %esi, %edi
 # CHECK-NEXT: 1.00    -     adcl       %esi, (%rax)
 # CHECK-NEXT: 1.00    -     adcl       (%rax), %edi
+# CHECK-NEXT: 0.50   0.50   adcq       $0, %rax
+# CHECK-NEXT: 0.50   0.50   adcq       $0, %rdi
+# CHECK-NEXT: 1.00    -     adcq       $0, (%rax)
 # CHECK-NEXT: 0.50   0.50   adcq       $665536, %rax
 # CHECK-NEXT: 0.50   0.50   adcq       $665536, %rdi
 # CHECK-NEXT: 1.00    -     adcq       $665536, (%rax)
@@ -2192,12 +2252,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 1.00    -     sarq       %cl, (%rax)
 # CHECK-NEXT: 1.00    -     shlq       %cl, (%rax)
 # CHECK-NEXT: 1.00    -     shrq       %cl, (%rax)
+# CHECK-NEXT: 0.50   0.50   sbbb       $0, %al
+# CHECK-NEXT: 0.50   0.50   sbbb       $0, %dil
+# CHECK-NEXT: 1.00    -     sbbb       $0, (%rax)
 # CHECK-NEXT: 0.50   0.50   sbbb       $7, %al
 # CHECK-NEXT: 0.50   0.50   sbbb       $7, %dil
 # CHECK-NEXT: 1.00    -     sbbb       $7, (%rax)
 # CHECK-NEXT: 0.50   0.50   sbbb       %sil, %dil
 # CHECK-NEXT: 1.00    -     sbbb       %sil, (%rax)
 # CHECK-NEXT: 1.00    -     sbbb       (%rax), %dil
+# CHECK-NEXT: 0.50   0.50   sbbw       $0, %ax
+# CHECK-NEXT: 0.50   0.50   sbbw       $0, %di
+# CHECK-NEXT: 1.00    -     sbbw       $0, (%rax)
 # CHECK-NEXT: 0.50   0.50   sbbw       $511, %ax
 # CHECK-NEXT: 0.50   0.50   sbbw       $511, %di
 # CHECK-NEXT: 1.00    -     sbbw       $511, (%rax)
@@ -2206,6 +2272,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   sbbw       %si, %di
 # CHECK-NEXT: 1.00    -     sbbw       %si, (%rax)
 # CHECK-NEXT: 1.00    -     sbbw       (%rax), %di
+# CHECK-NEXT: 0.50   0.50   sbbl       $0, %eax
+# CHECK-NEXT: 0.50   0.50   sbbl       $0, %edi
+# CHECK-NEXT: 1.00    -     sbbl       $0, (%rax)
 # CHECK-NEXT: 0.50   0.50   sbbl       $665536, %eax
 # CHECK-NEXT: 0.50   0.50   sbbl       $665536, %edi
 # CHECK-NEXT: 1.00    -     sbbl       $665536, (%rax)
@@ -2214,6 +2283,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   sbbl       %esi, %edi
 # CHECK-NEXT: 1.00    -     sbbl       %esi, (%rax)
 # CHECK-NEXT: 1.00    -     sbbl       (%rax), %edi
+# CHECK-NEXT: 0.50   0.50   sbbq       $0, %rax
+# CHECK-NEXT: 0.50   0.50   sbbq       $0, %rdi
+# CHECK-NEXT: 1.00    -     sbbq       $0, (%rax)
 # CHECK-NEXT: 0.50   0.50   sbbq       $665536, %rax
 # CHECK-NEXT: 0.50   0.50   sbbq       $665536, %rdi
 # CHECK-NEXT: 1.00    -     sbbq       $665536, (%rax)
index cf53596018800f774e8b61e4b4d3995ed869eaa9..55df4018278804eb9b612574691629a416398875 100644 (file)
@@ -1,6 +1,9 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
 
+adcb $0, %al
+adcb $0, %dil
+adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
@@ -8,6 +11,9 @@ adcb %sil, %dil
 adcb %sil, (%rax)
 adcb (%rax), %dil
 
+adcw $0, %ax
+adcw $0, %di
+adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
@@ -17,6 +23,9 @@ adcw %si, %di
 adcw %si, (%rax)
 adcw (%rax), %di
 
+adcl $0, %eax
+adcl $0, %edi
+adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
@@ -26,6 +35,9 @@ adcl %esi, %edi
 adcl %esi, (%rax)
 adcl (%rax), %edi
 
+adcq $0, %rax
+adcq $0, %rdi
+adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
@@ -628,6 +640,9 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+sbbb $0, %al
+sbbb $0, %dil
+sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
@@ -635,6 +650,9 @@ sbbb %sil, %dil
 sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
+sbbw $0, %ax
+sbbw $0, %di
+sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
@@ -644,6 +662,9 @@ sbbw %si, %di
 sbbw %si, (%rax)
 sbbw (%rax), %di
 
+sbbl $0, %eax
+sbbl $0, %edi
+sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
@@ -653,6 +674,9 @@ sbbl %esi, %edi
 sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
+sbbq $0, %rax
+sbbq $0, %rdi
+sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
@@ -875,12 +899,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
+# CHECK-NEXT:  1      1     1.00                        adcb   $0, %al
+# CHECK-NEXT:  1      1     1.00                        adcb   $0, %dil
+# CHECK-NEXT:  2      6     1.00    *      *            adcb   $0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcb   $7, %al
 # CHECK-NEXT:  1      1     1.00                        adcb   $7, %dil
 # CHECK-NEXT:  2      6     1.00    *      *            adcb   $7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcb   %sil, %dil
 # CHECK-NEXT:  2      6     1.00    *      *            adcb   %sil, (%rax)
 # CHECK-NEXT:  1      5     1.00    *                   adcb   (%rax), %dil
+# CHECK-NEXT:  1      1     1.00                        adcw   $0, %ax
+# CHECK-NEXT:  1      1     1.00                        adcw   $0, %di
+# CHECK-NEXT:  2      6     1.00    *      *            adcw   $0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcw   $511, %ax
 # CHECK-NEXT:  1      1     1.00                        adcw   $511, %di
 # CHECK-NEXT:  2      6     1.00    *      *            adcw   $511, (%rax)
@@ -889,6 +919,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                        adcw   %si, %di
 # CHECK-NEXT:  2      6     1.00    *      *            adcw   %si, (%rax)
 # CHECK-NEXT:  1      5     1.00    *                   adcw   (%rax), %di
+# CHECK-NEXT:  1      1     1.00                        adcl   $0, %eax
+# CHECK-NEXT:  1      1     1.00                        adcl   $0, %edi
+# CHECK-NEXT:  2      6     1.00    *      *            adcl   $0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcl   $665536, %eax
 # CHECK-NEXT:  1      1     1.00                        adcl   $665536, %edi
 # CHECK-NEXT:  2      6     1.00    *      *            adcl   $665536, (%rax)
@@ -897,6 +930,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                        adcl   %esi, %edi
 # CHECK-NEXT:  2      6     1.00    *      *            adcl   %esi, (%rax)
 # CHECK-NEXT:  1      5     1.00    *                   adcl   (%rax), %edi
+# CHECK-NEXT:  1      1     1.00                        adcq   $0, %rax
+# CHECK-NEXT:  1      1     1.00                        adcq   $0, %rdi
+# CHECK-NEXT:  2      6     1.00    *      *            adcq   $0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcq   $665536, %rax
 # CHECK-NEXT:  1      1     1.00                        adcq   $665536, %rdi
 # CHECK-NEXT:  2      6     1.00    *      *            adcq   $665536, (%rax)
@@ -1426,12 +1462,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      5     1.00    *      *            sarq   %cl, (%rax)
 # CHECK-NEXT:  2      5     1.00    *      *            shlq   %cl, (%rax)
 # CHECK-NEXT:  2      5     1.00    *      *            shrq   %cl, (%rax)
+# CHECK-NEXT:  1      1     1.00                        sbbb   $0, %al
+# CHECK-NEXT:  1      1     1.00                        sbbb   $0, %dil
+# CHECK-NEXT:  2      6     1.00    *      *            sbbb   $0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbb   $7, %al
 # CHECK-NEXT:  1      1     1.00                        sbbb   $7, %dil
 # CHECK-NEXT:  2      6     1.00    *      *            sbbb   $7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbb   %sil, %dil
 # CHECK-NEXT:  2      6     1.00    *      *            sbbb   %sil, (%rax)
 # CHECK-NEXT:  1      5     1.00    *                   sbbb   (%rax), %dil
+# CHECK-NEXT:  1      1     1.00                        sbbw   $0, %ax
+# CHECK-NEXT:  1      1     1.00                        sbbw   $0, %di
+# CHECK-NEXT:  2      6     1.00    *      *            sbbw   $0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbw   $511, %ax
 # CHECK-NEXT:  1      1     1.00                        sbbw   $511, %di
 # CHECK-NEXT:  2      6     1.00    *      *            sbbw   $511, (%rax)
@@ -1440,6 +1482,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                        sbbw   %si, %di
 # CHECK-NEXT:  2      6     1.00    *      *            sbbw   %si, (%rax)
 # CHECK-NEXT:  1      5     1.00    *                   sbbw   (%rax), %di
+# CHECK-NEXT:  1      1     1.00                        sbbl   $0, %eax
+# CHECK-NEXT:  1      1     1.00                        sbbl   $0, %edi
+# CHECK-NEXT:  2      6     1.00    *      *            sbbl   $0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbl   $665536, %eax
 # CHECK-NEXT:  1      1     1.00                        sbbl   $665536, %edi
 # CHECK-NEXT:  2      6     1.00    *      *            sbbl   $665536, (%rax)
@@ -1448,6 +1493,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                        sbbl   %esi, %edi
 # CHECK-NEXT:  2      6     1.00    *      *            sbbl   %esi, (%rax)
 # CHECK-NEXT:  1      5     1.00    *                   sbbl   (%rax), %edi
+# CHECK-NEXT:  1      1     1.00                        sbbq   $0, %rax
+# CHECK-NEXT:  1      1     1.00                        sbbq   $0, %rdi
+# CHECK-NEXT:  2      6     1.00    *      *            sbbq   $0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbq   $665536, %rax
 # CHECK-NEXT:  1      1     1.00                        sbbq   $665536, %rdi
 # CHECK-NEXT:  2      6     1.00    *      *            sbbq   $665536, (%rax)
@@ -1658,16 +1706,22 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16.0] [16.1] [17]   [18]
-# CHECK-NEXT: 262.00 262.00  -      -     246.00 552.00 627.00  -      -      -      -      -      -      -      -      -      -      -      -     156.50 156.50 64.00  211.00
+# CHECK-NEXT: 270.00 270.00  -      -     246.00 576.00 651.00  -      -      -      -      -      -      -      -      -      -      -      -     160.50 160.50 64.00  219.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16.0] [16.1] [17]   [18]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcb    $0, %al
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcb    $0, %dil
+# CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   adcb    $0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcb    $7, %al
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcb    $7, %dil
 # CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   adcb    $7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcb    %sil, %dil
 # CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   adcb    %sil, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     adcb    (%rax), %dil
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcw    $0, %ax
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcw    $0, %di
+# CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   adcw    $0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcw    $511, %ax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcw    $511, %di
 # CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   adcw    $511, (%rax)
@@ -1676,6 +1730,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcw    %si, %di
 # CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   adcw    %si, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     adcw    (%rax), %di
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcl    $0, %eax
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcl    $0, %edi
+# CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   adcl    $0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcl    $665536, %eax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcl    $665536, %edi
 # CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   adcl    $665536, (%rax)
@@ -1684,6 +1741,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcl    %esi, %edi
 # CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   adcl    %esi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     adcl    (%rax), %edi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcq    $0, %rax
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcq    $0, %rdi
+# CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   adcq    $0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcq    $665536, %rax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     adcq    $665536, %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   adcq    $665536, (%rax)
@@ -2213,12 +2273,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   sarq    %cl, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   shlq    %cl, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   shrq    %cl, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbb    $0, %al
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbb    $0, %dil
+# CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   sbbb    $0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbb    $7, %al
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbb    $7, %dil
 # CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   sbbb    $7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbb    %sil, %dil
 # CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   sbbb    %sil, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     sbbb    (%rax), %dil
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbw    $0, %ax
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbw    $0, %di
+# CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   sbbw    $0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbw    $511, %ax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbw    $511, %di
 # CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   sbbw    $511, (%rax)
@@ -2227,6 +2293,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbw    %si, %di
 # CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   sbbw    %si, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     sbbw    (%rax), %di
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbl    $0, %eax
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbl    $0, %edi
+# CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   sbbl    $0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbl    $665536, %eax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbl    $665536, %edi
 # CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   sbbl    $665536, (%rax)
@@ -2235,6 +2304,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbl    %esi, %edi
 # CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   sbbl    %esi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     sbbl    (%rax), %edi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbq    $0, %rax
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbq    $0, %rdi
+# CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   sbbq    $0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbq    $665536, %rax
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbq    $665536, %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -     1.00   sbbq    $665536, (%rax)
index 9b283a82194273a3ae83e52875af4fa07d326fe8..6236be5f785c40cd54f18ddad559ce20894b4d27 100644 (file)
@@ -1,6 +1,9 @@
 # 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 $0, %al
+adcb $0, %dil
+adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
@@ -8,6 +11,9 @@ adcb %sil, %dil
 adcb %sil, (%rax)
 adcb (%rax), %dil
 
+adcw $0, %ax
+adcw $0, %di
+adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
@@ -17,6 +23,9 @@ adcw %si, %di
 adcw %si, (%rax)
 adcw (%rax), %di
 
+adcl $0, %eax
+adcl $0, %edi
+adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
@@ -26,6 +35,9 @@ adcl %esi, %edi
 adcl %esi, (%rax)
 adcl (%rax), %edi
 
+adcq $0, %rax
+adcq $0, %rdi
+adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
@@ -628,6 +640,9 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+sbbb $0, %al
+sbbb $0, %dil
+sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
@@ -635,6 +650,9 @@ sbbb %sil, %dil
 sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
+sbbw $0, %ax
+sbbw $0, %di
+sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
@@ -644,6 +662,9 @@ sbbw %si, %di
 sbbw %si, (%rax)
 sbbw (%rax), %di
 
+sbbl $0, %eax
+sbbl $0, %edi
+sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
@@ -653,6 +674,9 @@ sbbl %esi, %edi
 sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
+sbbq $0, %rax
+sbbq $0, %rdi
+sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
@@ -875,12 +899,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
+# CHECK-NEXT:  2      2     0.50                        adcb   $0, %al
+# CHECK-NEXT:  1      1     0.50                        adcb   $0, %dil
+# CHECK-NEXT:  6      8     1.00    *      *            adcb   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcb   $7, %al
 # CHECK-NEXT:  1      1     0.50                        adcb   $7, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            adcb   $7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcb   %sil, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            adcb   %sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   adcb   (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                        adcw   $0, %ax
+# CHECK-NEXT:  1      1     0.50                        adcw   $0, %di
+# CHECK-NEXT:  6      8     1.00    *      *            adcw   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcw   $511, %ax
 # CHECK-NEXT:  1      1     0.50                        adcw   $511, %di
 # CHECK-NEXT:  6      8     1.00    *      *            adcw   $511, (%rax)
@@ -889,6 +919,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        adcw   %si, %di
 # CHECK-NEXT:  6      8     1.00    *      *            adcw   %si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   adcw   (%rax), %di
+# CHECK-NEXT:  1      1     0.50                        adcl   $0, %eax
+# CHECK-NEXT:  1      1     0.50                        adcl   $0, %edi
+# CHECK-NEXT:  6      8     1.00    *      *            adcl   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcl   $665536, %eax
 # CHECK-NEXT:  1      1     0.50                        adcl   $665536, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            adcl   $665536, (%rax)
@@ -897,6 +930,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        adcl   %esi, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            adcl   %esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   adcl   (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                        adcq   $0, %rax
+# CHECK-NEXT:  1      1     0.50                        adcq   $0, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *            adcq   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcq   $665536, %rax
 # CHECK-NEXT:  1      1     0.50                        adcq   $665536, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            adcq   $665536, (%rax)
@@ -1426,12 +1462,18 @@ xorq (%rax), %rdi
 # 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   $0, %al
+# CHECK-NEXT:  1      1     0.50                        sbbb   $0, %dil
+# CHECK-NEXT:  6      8     1.00    *      *            sbbb   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbb   $7, %al
 # CHECK-NEXT:  1      1     0.50                        sbbb   $7, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            sbbb   $7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbb   %sil, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            sbbb   %sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbb   (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                        sbbw   $0, %ax
+# CHECK-NEXT:  1      1     0.50                        sbbw   $0, %di
+# CHECK-NEXT:  6      8     1.00    *      *            sbbw   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbw   $511, %ax
 # CHECK-NEXT:  1      1     0.50                        sbbw   $511, %di
 # CHECK-NEXT:  6      8     1.00    *      *            sbbw   $511, (%rax)
@@ -1440,6 +1482,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        sbbw   %si, %di
 # CHECK-NEXT:  6      8     1.00    *      *            sbbw   %si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbw   (%rax), %di
+# CHECK-NEXT:  1      1     0.50                        sbbl   $0, %eax
+# CHECK-NEXT:  1      1     0.50                        sbbl   $0, %edi
+# CHECK-NEXT:  6      8     1.00    *      *            sbbl   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbl   $665536, %eax
 # CHECK-NEXT:  1      1     0.50                        sbbl   $665536, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbl   $665536, (%rax)
@@ -1448,6 +1493,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        sbbl   %esi, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbl   %esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbl   (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                        sbbq   $0, %rax
+# CHECK-NEXT:  1      1     0.50                        sbbq   $0, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *            sbbq   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbq   $665536, %rax
 # CHECK-NEXT:  1      1     0.50                        sbbq   $665536, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbq   $665536, (%rax)
@@ -1645,16 +1693,22 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 50.00   -     504.00 344.00 262.67 262.67 206.00 256.50 537.50 82.67
+# CHECK-NEXT: 50.00   -     522.50 346.50 269.33 269.33 214.00 259.00 556.00 85.33
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb       $0, %al
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcb       $0, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb       $7, %al
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcb       $7, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb       $7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcb       %sil, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb       %sil, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     adcb       (%rax), %dil
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw       $0, %ax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw       $0, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcw       $511, %ax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw       $511, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw       $511, (%rax)
@@ -1663,6 +1717,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw       %si, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw       %si, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     adcw       (%rax), %di
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl       $0, %eax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl       $0, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcl       $665536, %eax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl       $665536, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl       $665536, (%rax)
@@ -1671,6 +1728,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl       %esi, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl       %esi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     adcl       (%rax), %edi
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq       $0, %rax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq       $0, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcq       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcq       $665536, %rax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq       $665536, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcq       $665536, (%rax)
@@ -2200,12 +2260,18 @@ xorq (%rax), %rdi
 # 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       $0, %al
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbb       $0, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbb       $7, %al
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbb       $7, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb       $7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbb       %sil, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb       %sil, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbb       (%rax), %dil
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw       $0, %ax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw       $0, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbw       $511, %ax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw       $511, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw       $511, (%rax)
@@ -2214,6 +2280,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw       %si, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw       %si, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbw       (%rax), %di
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl       $0, %eax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl       $0, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbl       $665536, %eax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl       $665536, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl       $665536, (%rax)
@@ -2222,6 +2291,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl       %esi, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl       %esi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbl       (%rax), %edi
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq       $0, %rax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq       $0, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbq       $665536, %rax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq       $665536, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq       $665536, (%rax)
index f5585a5dbca4e7a1e56dc947e52873a1efe43784..d467752611ef2767b571a8de267de7a0451b39ba 100644 (file)
@@ -1,6 +1,9 @@
 # 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 $0, %al
+adcb $0, %dil
+adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
@@ -8,6 +11,9 @@ adcb %sil, %dil
 adcb %sil, (%rax)
 adcb (%rax), %dil
 
+adcw $0, %ax
+adcw $0, %di
+adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
@@ -17,6 +23,9 @@ adcw %si, %di
 adcw %si, (%rax)
 adcw (%rax), %di
 
+adcl $0, %eax
+adcl $0, %edi
+adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
@@ -26,6 +35,9 @@ adcl %esi, %edi
 adcl %esi, (%rax)
 adcl (%rax), %edi
 
+adcq $0, %rax
+adcq $0, %rdi
+adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
@@ -628,6 +640,9 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+sbbb $0, %al
+sbbb $0, %dil
+sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
@@ -635,6 +650,9 @@ sbbb %sil, %dil
 sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
+sbbw $0, %ax
+sbbw $0, %di
+sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
@@ -644,6 +662,9 @@ sbbw %si, %di
 sbbw %si, (%rax)
 sbbw (%rax), %di
 
+sbbl $0, %eax
+sbbl $0, %edi
+sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
@@ -653,6 +674,9 @@ sbbl %esi, %edi
 sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
+sbbq $0, %rax
+sbbq $0, %rdi
+sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
@@ -875,12 +899,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
+# CHECK-NEXT:  1      1     1.00                        adcb   $0, %al
+# CHECK-NEXT:  1      1     1.00                        adcb   $0, %dil
+# CHECK-NEXT:  1      5     1.00    *      *            adcb   $0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcb   $7, %al
 # CHECK-NEXT:  1      1     1.00                        adcb   $7, %dil
 # CHECK-NEXT:  1      5     1.00    *      *            adcb   $7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcb   %sil, %dil
 # CHECK-NEXT:  1      5     1.00    *      *            adcb   %sil, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   adcb   (%rax), %dil
+# CHECK-NEXT:  1      1     1.00                        adcw   $0, %ax
+# CHECK-NEXT:  1      1     1.00                        adcw   $0, %di
+# CHECK-NEXT:  1      5     1.00    *      *            adcw   $0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcw   $511, %ax
 # CHECK-NEXT:  1      1     1.00                        adcw   $511, %di
 # CHECK-NEXT:  1      5     1.00    *      *            adcw   $511, (%rax)
@@ -889,6 +919,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                        adcw   %si, %di
 # CHECK-NEXT:  1      5     1.00    *      *            adcw   %si, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   adcw   (%rax), %di
+# CHECK-NEXT:  1      1     1.00                        adcl   $0, %eax
+# CHECK-NEXT:  1      1     1.00                        adcl   $0, %edi
+# CHECK-NEXT:  1      5     1.00    *      *            adcl   $0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcl   $665536, %eax
 # CHECK-NEXT:  1      1     1.00                        adcl   $665536, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            adcl   $665536, (%rax)
@@ -897,6 +930,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                        adcl   %esi, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            adcl   %esi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   adcl   (%rax), %edi
+# CHECK-NEXT:  1      1     1.00                        adcq   $0, %rax
+# CHECK-NEXT:  1      1     1.00                        adcq   $0, %rdi
+# CHECK-NEXT:  1      5     1.00    *      *            adcq   $0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        adcq   $665536, %rax
 # CHECK-NEXT:  1      1     1.00                        adcq   $665536, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            adcq   $665536, (%rax)
@@ -1426,12 +1462,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      4     1.00    *      *            sarq   %cl, (%rax)
 # CHECK-NEXT:  1      4     1.00    *      *            shlq   %cl, (%rax)
 # CHECK-NEXT:  1      4     1.00    *      *            shrq   %cl, (%rax)
+# CHECK-NEXT:  1      1     1.00                        sbbb   $0, %al
+# CHECK-NEXT:  1      1     1.00                        sbbb   $0, %dil
+# CHECK-NEXT:  1      5     1.00    *      *            sbbb   $0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbb   $7, %al
 # CHECK-NEXT:  1      1     1.00                        sbbb   $7, %dil
 # CHECK-NEXT:  1      5     1.00    *      *            sbbb   $7, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbb   %sil, %dil
 # CHECK-NEXT:  1      5     1.00    *      *            sbbb   %sil, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   sbbb   (%rax), %dil
+# CHECK-NEXT:  1      1     1.00                        sbbw   $0, %ax
+# CHECK-NEXT:  1      1     1.00                        sbbw   $0, %di
+# CHECK-NEXT:  1      5     1.00    *      *            sbbw   $0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbw   $511, %ax
 # CHECK-NEXT:  1      1     1.00                        sbbw   $511, %di
 # CHECK-NEXT:  1      5     1.00    *      *            sbbw   $511, (%rax)
@@ -1440,6 +1482,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                        sbbw   %si, %di
 # CHECK-NEXT:  1      5     1.00    *      *            sbbw   %si, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   sbbw   (%rax), %di
+# CHECK-NEXT:  1      1     1.00                        sbbl   $0, %eax
+# CHECK-NEXT:  1      1     1.00                        sbbl   $0, %edi
+# CHECK-NEXT:  1      5     1.00    *      *            sbbl   $0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbl   $665536, %eax
 # CHECK-NEXT:  1      1     1.00                        sbbl   $665536, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            sbbl   $665536, (%rax)
@@ -1448,6 +1493,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                        sbbl   %esi, %edi
 # CHECK-NEXT:  1      5     1.00    *      *            sbbl   %esi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   sbbl   (%rax), %edi
+# CHECK-NEXT:  1      1     1.00                        sbbq   $0, %rax
+# CHECK-NEXT:  1      1     1.00                        sbbq   $0, %rdi
+# CHECK-NEXT:  1      5     1.00    *      *            sbbq   $0, (%rax)
 # CHECK-NEXT:  1      1     1.00                        sbbq   $665536, %rax
 # CHECK-NEXT:  1      1     1.00                        sbbq   $665536, %rdi
 # CHECK-NEXT:  1      5     1.00    *      *            sbbq   $665536, (%rax)
@@ -1649,16 +1697,22 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]
-# CHECK-NEXT: 586.00 636.00 380.00  -      -      -      -     322.00 64.00  223.00  -      -      -      -
+# CHECK-NEXT: 610.00 660.00 380.00  -      -      -      -     330.00 64.00  231.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: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcb   $0, %al
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcb   $0, %dil
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcb   $0, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcb   $7, %al
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcb   $7, %dil
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcb   $7, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcb   %sil, %dil
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcb   %sil, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -      -      -      -      -      -     adcb   (%rax), %dil
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcw   $0, %ax
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcw   $0, %di
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcw   $0, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcw   $511, %ax
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcw   $511, %di
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcw   $511, (%rax)
@@ -1667,6 +1721,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcw   %si, %di
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcw   %si, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -      -      -      -      -      -     adcw   (%rax), %di
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcl   $0, %eax
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcl   $0, %edi
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcl   $0, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcl   $665536, %eax
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcl   $665536, %edi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcl   $665536, (%rax)
@@ -1675,6 +1732,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcl   %esi, %edi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcl   %esi, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -      -      -      -      -      -     adcl   (%rax), %edi
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcq   $0, %rax
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcq   $0, %rdi
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcq   $0, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcq   $665536, %rax
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     adcq   $665536, %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     adcq   $665536, (%rax)
@@ -2204,12 +2264,18 @@ xorq (%rax), %rdi
 # 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: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbb   $0, %al
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbb   $0, %dil
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbb   $0, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbb   $7, %al
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbb   $7, %dil
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbb   $7, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbb   %sil, %dil
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbb   %sil, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -      -      -      -      -      -     sbbb   (%rax), %dil
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbw   $0, %ax
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbw   $0, %di
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbw   $0, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbw   $511, %ax
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbw   $511, %di
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbw   $511, (%rax)
@@ -2218,6 +2284,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbw   %si, %di
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbw   %si, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -      -      -      -      -      -     sbbw   (%rax), %di
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbl   $0, %eax
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbl   $0, %edi
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbl   $0, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbl   $665536, %eax
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbl   $665536, %edi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbl   $665536, (%rax)
@@ -2226,6 +2295,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbl   %esi, %edi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbl   %esi, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -      -      -      -      -      -     sbbl   (%rax), %edi
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbq   $0, %rax
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbq   $0, %rdi
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbq   $0, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbq   $665536, %rax
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbq   $665536, %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbq   $665536, (%rax)
index 1a3e1d6b75d566e2213bee7e96b8de724bfb0680..194e257b64513513c6028f53554ec7e2a4af090d 100644 (file)
@@ -1,6 +1,9 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
 
+adcb $0, %al
+adcb $0, %dil
+adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
@@ -8,6 +11,9 @@ adcb %sil, %dil
 adcb %sil, (%rax)
 adcb (%rax), %dil
 
+adcw $0, %ax
+adcw $0, %di
+adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
@@ -17,6 +23,9 @@ adcw %si, %di
 adcw %si, (%rax)
 adcw (%rax), %di
 
+adcl $0, %eax
+adcl $0, %edi
+adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
@@ -26,6 +35,9 @@ adcl %esi, %edi
 adcl %esi, (%rax)
 adcl (%rax), %edi
 
+adcq $0, %rax
+adcq $0, %rdi
+adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
@@ -628,6 +640,9 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+sbbb $0, %al
+sbbb $0, %dil
+sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
@@ -635,6 +650,9 @@ sbbb %sil, %dil
 sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
+sbbw $0, %ax
+sbbw $0, %di
+sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
@@ -644,6 +662,9 @@ sbbw %si, %di
 sbbw %si, (%rax)
 sbbw (%rax), %di
 
+sbbl $0, %eax
+sbbl $0, %edi
+sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
@@ -653,6 +674,9 @@ sbbl %esi, %edi
 sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
+sbbq $0, %rax
+sbbq $0, %rdi
+sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
@@ -875,12 +899,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
+# CHECK-NEXT:  2      2     0.67                        adcb   $0, %al
+# CHECK-NEXT:  2      2     0.67                        adcb   $0, %dil
+# CHECK-NEXT:  6      9     1.00    *      *            adcb   $0, (%rax)
 # 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   %sil, %dil
 # CHECK-NEXT:  6      9     1.00    *      *            adcb   %sil, (%rax)
 # CHECK-NEXT:  3      7     0.67    *                   adcb   (%rax), %dil
+# CHECK-NEXT:  2      2     0.67                        adcw   $0, %ax
+# CHECK-NEXT:  2      2     0.67                        adcw   $0, %di
+# CHECK-NEXT:  6      9     1.00    *      *            adcw   $0, (%rax)
 # 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)
@@ -889,6 +919,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.67                        adcw   %si, %di
 # CHECK-NEXT:  6      9     1.00    *      *            adcw   %si, (%rax)
 # CHECK-NEXT:  3      7     0.67    *                   adcw   (%rax), %di
+# CHECK-NEXT:  2      2     0.67                        adcl   $0, %eax
+# CHECK-NEXT:  2      2     0.67                        adcl   $0, %edi
+# CHECK-NEXT:  6      9     1.00    *      *            adcl   $0, (%rax)
 # 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)
@@ -897,6 +930,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.67                        adcl   %esi, %edi
 # CHECK-NEXT:  6      9     1.00    *      *            adcl   %esi, (%rax)
 # CHECK-NEXT:  3      7     0.67    *                   adcl   (%rax), %edi
+# CHECK-NEXT:  2      2     0.67                        adcq   $0, %rax
+# CHECK-NEXT:  2      2     0.67                        adcq   $0, %rdi
+# CHECK-NEXT:  6      9     1.00    *      *            adcq   $0, (%rax)
 # 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)
@@ -1426,12 +1462,18 @@ xorq (%rax), %rdi
 # 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   $0, %al
+# CHECK-NEXT:  2      2     0.67                        sbbb   $0, %dil
+# CHECK-NEXT:  6      9     1.00    *      *            sbbb   $0, (%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   %sil, %dil
 # CHECK-NEXT:  6      9     1.00    *      *            sbbb   %sil, (%rax)
 # CHECK-NEXT:  3      7     0.67    *                   sbbb   (%rax), %dil
+# CHECK-NEXT:  2      2     0.67                        sbbw   $0, %ax
+# CHECK-NEXT:  2      2     0.67                        sbbw   $0, %di
+# CHECK-NEXT:  6      9     1.00    *      *            sbbw   $0, (%rax)
 # 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)
@@ -1440,6 +1482,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.67                        sbbw   %si, %di
 # CHECK-NEXT:  6      9     1.00    *      *            sbbw   %si, (%rax)
 # CHECK-NEXT:  3      7     0.67    *                   sbbw   (%rax), %di
+# CHECK-NEXT:  2      2     0.67                        sbbl   $0, %eax
+# CHECK-NEXT:  2      2     0.67                        sbbl   $0, %edi
+# CHECK-NEXT:  6      9     1.00    *      *            sbbl   $0, (%rax)
 # 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)
@@ -1448,6 +1493,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.67                        sbbl   %esi, %edi
 # CHECK-NEXT:  6      9     1.00    *      *            sbbl   %esi, (%rax)
 # CHECK-NEXT:  3      7     0.67    *                   sbbl   (%rax), %edi
+# CHECK-NEXT:  2      2     0.67                        sbbq   $0, %rax
+# CHECK-NEXT:  2      2     0.67                        sbbq   $0, %rdi
+# CHECK-NEXT:  6      9     1.00    *      *            sbbq   $0, (%rax)
 # 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)
@@ -1643,16 +1691,22 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT: 160.00  -     575.17 224.67 222.00 575.17 316.50 316.50
+# CHECK-NEXT: 160.00  -     596.50 238.00 230.00 596.50 324.50 324.50
 
 # 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     $0, %al
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcb     $0, %dil
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcb     $0, (%rax)
 # 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     %sil, %dil
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   adcb     %sil, (%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     $0, %ax
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw     $0, %di
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcw     $0, (%rax)
 # 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)
@@ -1661,6 +1715,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw     %si, %di
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   adcw     %si, (%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     $0, %eax
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl     $0, %edi
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcl     $0, (%rax)
 # 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)
@@ -1669,6 +1726,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl     %esi, %edi
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   adcl     %esi, (%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     $0, %rax
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq     $0, %rdi
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcq     $0, (%rax)
 # 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)
@@ -2198,12 +2258,18 @@ xorq (%rax), %rdi
 # 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     $0, %al
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbb     $0, %dil
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbb     $0, (%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     %sil, %dil
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbb     %sil, (%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     $0, %ax
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw     $0, %di
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbw     $0, (%rax)
 # 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)
@@ -2212,6 +2278,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw     %si, %di
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbw     %si, (%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     $0, %eax
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl     $0, %edi
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbl     $0, (%rax)
 # 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)
@@ -2220,6 +2289,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl     %esi, %edi
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbl     %esi, (%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     $0, %rax
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq     $0, %rdi
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbq     $0, (%rax)
 # 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)
index 2f6f48ba84c238eed8ba7b865c42af62380dd7e2..948ca64a630b98a0a8621e349da074b870b10750 100644 (file)
@@ -1,6 +1,9 @@
 # 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 $0, %al
+adcb $0, %dil
+adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
@@ -8,6 +11,9 @@ adcb %sil, %dil
 adcb %sil, (%rax)
 adcb (%rax), %dil
 
+adcw $0, %ax
+adcw $0, %di
+adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
@@ -17,6 +23,9 @@ adcw %si, %di
 adcw %si, (%rax)
 adcw (%rax), %di
 
+adcl $0, %eax
+adcl $0, %edi
+adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
@@ -26,6 +35,9 @@ adcl %esi, %edi
 adcl %esi, (%rax)
 adcl (%rax), %edi
 
+adcq $0, %rax
+adcq $0, %rdi
+adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
@@ -628,6 +640,9 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+sbbb $0, %al
+sbbb $0, %dil
+sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
@@ -635,6 +650,9 @@ sbbb %sil, %dil
 sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
+sbbw $0, %ax
+sbbw $0, %di
+sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
@@ -644,6 +662,9 @@ sbbw %si, %di
 sbbw %si, (%rax)
 sbbw (%rax), %di
 
+sbbl $0, %eax
+sbbl $0, %edi
+sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
@@ -653,6 +674,9 @@ sbbl %esi, %edi
 sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
+sbbq $0, %rax
+sbbq $0, %rdi
+sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
@@ -875,12 +899,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
+# CHECK-NEXT:  2      2     0.50                        adcb   $0, %al
+# CHECK-NEXT:  2      2     0.50                        adcb   $0, %dil
+# CHECK-NEXT:  6      9     1.00    *      *            adcb   $0, (%rax)
 # 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   %sil, %dil
 # CHECK-NEXT:  6      9     1.00    *      *            adcb   %sil, (%rax)
 # CHECK-NEXT:  3      7     0.50    *                   adcb   (%rax), %dil
+# CHECK-NEXT:  2      2     0.50                        adcw   $0, %ax
+# CHECK-NEXT:  2      2     0.50                        adcw   $0, %di
+# CHECK-NEXT:  6      9     1.00    *      *            adcw   $0, (%rax)
 # 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)
@@ -889,6 +919,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.50                        adcw   %si, %di
 # CHECK-NEXT:  6      9     1.00    *      *            adcw   %si, (%rax)
 # CHECK-NEXT:  3      7     0.50    *                   adcw   (%rax), %di
+# CHECK-NEXT:  2      2     0.50                        adcl   $0, %eax
+# CHECK-NEXT:  2      2     0.50                        adcl   $0, %edi
+# CHECK-NEXT:  6      9     1.00    *      *            adcl   $0, (%rax)
 # 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)
@@ -897,6 +930,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.50                        adcl   %esi, %edi
 # CHECK-NEXT:  6      9     1.00    *      *            adcl   %esi, (%rax)
 # CHECK-NEXT:  3      7     0.50    *                   adcl   (%rax), %edi
+# CHECK-NEXT:  2      2     0.50                        adcq   $0, %rax
+# CHECK-NEXT:  2      2     0.50                        adcq   $0, %rdi
+# CHECK-NEXT:  6      9     1.00    *      *            adcq   $0, (%rax)
 # 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)
@@ -1426,12 +1462,18 @@ xorq (%rax), %rdi
 # 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   $0, %al
+# CHECK-NEXT:  2      2     0.50                        sbbb   $0, %dil
+# CHECK-NEXT:  6      9     1.00    *      *            sbbb   $0, (%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   %sil, %dil
 # CHECK-NEXT:  6      9     1.00    *      *            sbbb   %sil, (%rax)
 # CHECK-NEXT:  3      7     0.50    *                   sbbb   (%rax), %dil
+# CHECK-NEXT:  2      2     0.50                        sbbw   $0, %ax
+# CHECK-NEXT:  2      2     0.50                        sbbw   $0, %di
+# CHECK-NEXT:  6      9     1.00    *      *            sbbw   $0, (%rax)
 # 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)
@@ -1440,6 +1482,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.50                        sbbw   %si, %di
 # CHECK-NEXT:  6      9     1.00    *      *            sbbw   %si, (%rax)
 # CHECK-NEXT:  3      7     0.50    *                   sbbw   (%rax), %di
+# CHECK-NEXT:  2      2     0.50                        sbbl   $0, %eax
+# CHECK-NEXT:  2      2     0.50                        sbbl   $0, %edi
+# CHECK-NEXT:  6      9     1.00    *      *            sbbl   $0, (%rax)
 # 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)
@@ -1448,6 +1493,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.50                        sbbl   %esi, %edi
 # CHECK-NEXT:  6      9     1.00    *      *            sbbl   %esi, (%rax)
 # CHECK-NEXT:  3      7     0.50    *                   sbbl   (%rax), %edi
+# CHECK-NEXT:  2      2     0.50                        sbbq   $0, %rax
+# CHECK-NEXT:  2      2     0.50                        sbbq   $0, %rdi
+# CHECK-NEXT:  6      9     1.00    *      *            sbbq   $0, (%rax)
 # 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)
@@ -1645,16 +1693,22 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 80.00   -     557.25 367.25 263.17 263.17 201.00 281.75 619.75 79.67
+# CHECK-NEXT: 80.00   -     579.25 373.25 269.83 269.83 209.00 287.75 641.75 82.33
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb       $0, %al
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb       $0, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb       $0, (%rax)
 # CHECK-NEXT:  -      -     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       %sil, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb       %sil, (%rax)
 # CHECK-NEXT:  -      -     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       $0, %ax
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcw       $0, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw       $0, (%rax)
 # CHECK-NEXT:  -      -     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)
@@ -1663,6 +1717,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcw       %si, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw       %si, (%rax)
 # CHECK-NEXT:  -      -     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       $0, %eax
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcl       $0, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl       $0, (%rax)
 # CHECK-NEXT:  -      -     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)
@@ -1671,6 +1728,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcl       %esi, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl       %esi, (%rax)
 # CHECK-NEXT:  -      -     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       $0, %rax
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcq       $0, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcq       $0, (%rax)
 # CHECK-NEXT:  -      -     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)
@@ -2200,12 +2260,18 @@ xorq (%rax), %rdi
 # 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       $0, %al
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbb       $0, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb       $0, (%rax)
 # CHECK-NEXT:  -      -     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       %sil, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb       %sil, (%rax)
 # CHECK-NEXT:  -      -     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       $0, %ax
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbw       $0, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw       $0, (%rax)
 # CHECK-NEXT:  -      -     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)
@@ -2214,6 +2280,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbw       %si, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw       %si, (%rax)
 # CHECK-NEXT:  -      -     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       $0, %eax
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbl       $0, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl       $0, (%rax)
 # CHECK-NEXT:  -      -     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)
@@ -2222,6 +2291,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbl       %esi, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl       %esi, (%rax)
 # CHECK-NEXT:  -      -     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       $0, %rax
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbq       $0, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq       $0, (%rax)
 # CHECK-NEXT:  -      -     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)
index 9add7a7d63e9bc489d91959fada50e1b5600fe95..627010a8773f49f364dc179e0eb892cda1b8c28f 100644 (file)
@@ -1,6 +1,9 @@
 # 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 $0, %al
+adcb $0, %dil
+adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
@@ -8,6 +11,9 @@ adcb %sil, %dil
 adcb %sil, (%rax)
 adcb (%rax), %dil
 
+adcw $0, %ax
+adcw $0, %di
+adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
@@ -17,6 +23,9 @@ adcw %si, %di
 adcw %si, (%rax)
 adcw (%rax), %di
 
+adcl $0, %eax
+adcl $0, %edi
+adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
@@ -26,6 +35,9 @@ adcl %esi, %edi
 adcl %esi, (%rax)
 adcl (%rax), %edi
 
+adcq $0, %rax
+adcq $0, %rdi
+adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
@@ -628,6 +640,9 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+sbbb $0, %al
+sbbb $0, %dil
+sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
@@ -635,6 +650,9 @@ sbbb %sil, %dil
 sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
+sbbw $0, %ax
+sbbw $0, %di
+sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
@@ -644,6 +662,9 @@ sbbw %si, %di
 sbbw %si, (%rax)
 sbbw (%rax), %di
 
+sbbl $0, %eax
+sbbl $0, %edi
+sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
@@ -653,6 +674,9 @@ sbbl %esi, %edi
 sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
+sbbq $0, %rax
+sbbq $0, %rdi
+sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
@@ -875,12 +899,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
+# CHECK-NEXT:  1      1     0.50                        adcb   $0, %al
+# CHECK-NEXT:  1      1     0.50                        adcb   $0, %dil
+# CHECK-NEXT:  2      5     2.00    *      *            adcb   $0, (%rax)
 # CHECK-NEXT:  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   %sil, %dil
 # CHECK-NEXT:  2      5     2.00    *      *            adcb   %sil, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   adcb   (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                        adcw   $0, %ax
+# CHECK-NEXT:  1      1     0.50                        adcw   $0, %di
+# CHECK-NEXT:  2      5     2.00    *      *            adcw   $0, (%rax)
 # CHECK-NEXT:  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)
@@ -889,6 +919,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        adcw   %si, %di
 # CHECK-NEXT:  2      5     2.00    *      *            adcw   %si, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   adcw   (%rax), %di
+# CHECK-NEXT:  1      1     0.50                        adcl   $0, %eax
+# CHECK-NEXT:  1      1     0.50                        adcl   $0, %edi
+# CHECK-NEXT:  2      5     2.00    *      *            adcl   $0, (%rax)
 # CHECK-NEXT:  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)
@@ -897,6 +930,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        adcl   %esi, %edi
 # CHECK-NEXT:  2      5     2.00    *      *            adcl   %esi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   adcl   (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                        adcq   $0, %rax
+# CHECK-NEXT:  1      1     0.50                        adcq   $0, %rdi
+# CHECK-NEXT:  2      5     2.00    *      *            adcq   $0, (%rax)
 # CHECK-NEXT:  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)
@@ -1426,12 +1462,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      4     2.00    *      *            sarq   %cl, (%rax)
 # CHECK-NEXT:  2      4     2.00    *      *            shlq   %cl, (%rax)
 # CHECK-NEXT:  2      4     2.00    *      *            shrq   %cl, (%rax)
+# CHECK-NEXT:  1      1     0.50                        sbbb   $0, %al
+# CHECK-NEXT:  1      1     0.50                        sbbb   $0, %dil
+# CHECK-NEXT:  2      5     2.00    *      *            sbbb   $0, (%rax)
 # CHECK-NEXT:  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   %sil, %dil
 # CHECK-NEXT:  2      5     2.00    *      *            sbbb   %sil, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   sbbb   (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                        sbbw   $0, %ax
+# CHECK-NEXT:  1      1     0.50                        sbbw   $0, %di
+# CHECK-NEXT:  2      5     2.00    *      *            sbbw   $0, (%rax)
 # CHECK-NEXT:  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)
@@ -1440,6 +1482,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        sbbw   %si, %di
 # CHECK-NEXT:  2      5     2.00    *      *            sbbw   %si, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   sbbw   (%rax), %di
+# CHECK-NEXT:  1      1     0.50                        sbbl   $0, %eax
+# CHECK-NEXT:  1      1     0.50                        sbbl   $0, %edi
+# CHECK-NEXT:  2      5     2.00    *      *            sbbl   $0, (%rax)
 # CHECK-NEXT:  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)
@@ -1448,6 +1493,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        sbbl   %esi, %edi
 # CHECK-NEXT:  2      5     2.00    *      *            sbbl   %esi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   sbbl   (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                        sbbq   $0, %rax
+# CHECK-NEXT:  1      1     0.50                        sbbq   $0, %rdi
+# CHECK-NEXT:  2      5     2.00    *      *            sbbq   $0, (%rax)
 # CHECK-NEXT:  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)
@@ -1643,16 +1691,22 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]
-# CHECK-NEXT: 400.00  -      -     49.00   -     549.50 391.50 557.00
+# CHECK-NEXT: 400.00  -      -     49.00   -     561.50 403.50 573.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    Instructions:
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcb     $0, %al
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcb     $0, %dil
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcb     $0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcb     $7, %al
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcb     $7, %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcb     $7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcb     %sil, %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcb     %sil, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   adcb     (%rax), %dil
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcw     $0, %ax
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcw     $0, %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcw     $0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcw     $511, %ax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcw     $511, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcw     $511, (%rax)
@@ -1661,6 +1715,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcw     %si, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcw     %si, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   adcw     (%rax), %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcl     $0, %eax
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcl     $0, %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcl     $0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcl     $665536, %eax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcl     $665536, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcl     $665536, (%rax)
@@ -1669,6 +1726,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcl     %esi, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcl     %esi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   adcl     (%rax), %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcq     $0, %rax
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcq     $0, %rdi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcq     $0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcq     $665536, %rax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adcq     $665536, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   adcq     $665536, (%rax)
@@ -2198,12 +2258,18 @@ xorq (%rax), %rdi
 # 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     $0, %al
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbb     $0, %dil
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbb     $0, (%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   2.00   sbbb     $7, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbb     %sil, %dil
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbb     %sil, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   sbbb     (%rax), %dil
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbw     $0, %ax
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbw     $0, %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbw     $0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbw     $511, %ax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbw     $511, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbw     $511, (%rax)
@@ -2212,6 +2278,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbw     %si, %di
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbw     %si, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   sbbw     (%rax), %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbl     $0, %eax
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbl     $0, %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbl     $0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbl     $665536, %eax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbl     $665536, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbl     $665536, (%rax)
@@ -2220,6 +2289,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbl     %esi, %edi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbl     %esi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   sbbl     (%rax), %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbq     $0, %rax
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbq     $0, %rdi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbq     $0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbq     $665536, %rax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbq     $665536, %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   2.00   sbbq     $665536, (%rax)
index 861bfaca0f27b4be2d1ac012f181ecb9b8cadb35..2019dfc5a510dca02eaa44483124ccead78b0e6c 100644 (file)
@@ -1,6 +1,9 @@
 # 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 $0, %al
+adcb $0, %dil
+adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
@@ -8,6 +11,9 @@ adcb %sil, %dil
 adcb %sil, (%rax)
 adcb (%rax), %dil
 
+adcw $0, %ax
+adcw $0, %di
+adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
@@ -17,6 +23,9 @@ adcw %si, %di
 adcw %si, (%rax)
 adcw (%rax), %di
 
+adcl $0, %eax
+adcl $0, %edi
+adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
@@ -26,6 +35,9 @@ adcl %esi, %edi
 adcl %esi, (%rax)
 adcl (%rax), %edi
 
+adcq $0, %rax
+adcq $0, %rdi
+adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
@@ -628,6 +640,9 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+sbbb $0, %al
+sbbb $0, %dil
+sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
@@ -635,6 +650,9 @@ sbbb %sil, %dil
 sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
+sbbw $0, %ax
+sbbw $0, %di
+sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
@@ -644,6 +662,9 @@ sbbw %si, %di
 sbbw %si, (%rax)
 sbbw (%rax), %di
 
+sbbl $0, %eax
+sbbl $0, %edi
+sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
@@ -653,6 +674,9 @@ sbbl %esi, %edi
 sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
+sbbq $0, %rax
+sbbq $0, %rdi
+sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
@@ -875,12 +899,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
+# CHECK-NEXT:  2      2     0.67                        adcb   $0, %al
+# CHECK-NEXT:  2      2     0.67                        adcb   $0, %dil
+# CHECK-NEXT:  6      9     1.00    *      *            adcb   $0, (%rax)
 # 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   %sil, %dil
 # CHECK-NEXT:  6      9     1.00    *      *            adcb   %sil, (%rax)
 # CHECK-NEXT:  3      7     0.67    *                   adcb   (%rax), %dil
+# CHECK-NEXT:  2      2     0.67                        adcw   $0, %ax
+# CHECK-NEXT:  2      2     0.67                        adcw   $0, %di
+# CHECK-NEXT:  6      9     1.00    *      *            adcw   $0, (%rax)
 # 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)
@@ -889,6 +919,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.67                        adcw   %si, %di
 # CHECK-NEXT:  6      9     1.00    *      *            adcw   %si, (%rax)
 # CHECK-NEXT:  3      7     0.67    *                   adcw   (%rax), %di
+# CHECK-NEXT:  2      2     0.67                        adcl   $0, %eax
+# CHECK-NEXT:  2      2     0.67                        adcl   $0, %edi
+# CHECK-NEXT:  6      9     1.00    *      *            adcl   $0, (%rax)
 # 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)
@@ -897,6 +930,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.67                        adcl   %esi, %edi
 # CHECK-NEXT:  6      9     1.00    *      *            adcl   %esi, (%rax)
 # CHECK-NEXT:  3      7     0.67    *                   adcl   (%rax), %edi
+# CHECK-NEXT:  2      2     0.67                        adcq   $0, %rax
+# CHECK-NEXT:  2      2     0.67                        adcq   $0, %rdi
+# CHECK-NEXT:  6      9     1.00    *      *            adcq   $0, (%rax)
 # 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)
@@ -1426,12 +1462,18 @@ xorq (%rax), %rdi
 # 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   $0, %al
+# CHECK-NEXT:  2      2     0.67                        sbbb   $0, %dil
+# CHECK-NEXT:  6      9     1.00    *      *            sbbb   $0, (%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   %sil, %dil
 # CHECK-NEXT:  6      9     1.00    *      *            sbbb   %sil, (%rax)
 # CHECK-NEXT:  3      7     0.67    *                   sbbb   (%rax), %dil
+# CHECK-NEXT:  2      2     0.67                        sbbw   $0, %ax
+# CHECK-NEXT:  2      2     0.67                        sbbw   $0, %di
+# CHECK-NEXT:  6      9     1.00    *      *            sbbw   $0, (%rax)
 # 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)
@@ -1440,6 +1482,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.67                        sbbw   %si, %di
 # CHECK-NEXT:  6      9     1.00    *      *            sbbw   %si, (%rax)
 # CHECK-NEXT:  3      7     0.67    *                   sbbw   (%rax), %di
+# CHECK-NEXT:  2      2     0.67                        sbbl   $0, %eax
+# CHECK-NEXT:  2      2     0.67                        sbbl   $0, %edi
+# CHECK-NEXT:  6      9     1.00    *      *            sbbl   $0, (%rax)
 # 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)
@@ -1448,6 +1493,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.67                        sbbl   %esi, %edi
 # CHECK-NEXT:  6      9     1.00    *      *            sbbl   %esi, (%rax)
 # CHECK-NEXT:  3      7     0.67    *                   sbbl   (%rax), %edi
+# CHECK-NEXT:  2      2     0.67                        sbbq   $0, %rax
+# CHECK-NEXT:  2      2     0.67                        sbbq   $0, %rdi
+# CHECK-NEXT:  6      9     1.00    *      *            sbbq   $0, (%rax)
 # 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)
@@ -1643,16 +1691,22 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT: 160.00  -     575.17 224.67 222.00 575.17 316.50 316.50
+# CHECK-NEXT: 160.00  -     596.50 238.00 230.00 596.50 324.50 324.50
 
 # 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     $0, %al
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcb     $0, %dil
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcb     $0, (%rax)
 # 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     %sil, %dil
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   adcb     %sil, (%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     $0, %ax
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw     $0, %di
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcw     $0, (%rax)
 # 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)
@@ -1661,6 +1715,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcw     %si, %di
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   adcw     %si, (%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     $0, %eax
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl     $0, %edi
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcl     $0, (%rax)
 # 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)
@@ -1669,6 +1726,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcl     %esi, %edi
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   adcl     %esi, (%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     $0, %rax
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcq     $0, %rdi
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   adcq     $0, (%rax)
 # 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)
@@ -2198,12 +2258,18 @@ xorq (%rax), %rdi
 # 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     $0, %al
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbb     $0, %dil
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbb     $0, (%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     %sil, %dil
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbb     %sil, (%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     $0, %ax
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw     $0, %di
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbw     $0, (%rax)
 # 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)
@@ -2212,6 +2278,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbw     %si, %di
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbw     %si, (%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     $0, %eax
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl     $0, %edi
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbl     $0, (%rax)
 # 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)
@@ -2220,6 +2289,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbl     %esi, %edi
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbl     %esi, (%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     $0, %rax
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq     $0, %rdi
+# CHECK-NEXT:  -      -     1.00   1.00   1.00   1.00   1.00   1.00   sbbq     $0, (%rax)
 # 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)
index 209522d84c4ea0fb6a70746d2dd3fab53baed8ed..d4ce1c2a7666a21b12a31ae831324307e48340eb 100644 (file)
@@ -1,6 +1,9 @@
 # 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 $0, %al
+adcb $0, %dil
+adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
@@ -8,6 +11,9 @@ adcb %sil, %dil
 adcb %sil, (%rax)
 adcb (%rax), %dil
 
+adcw $0, %ax
+adcw $0, %di
+adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
@@ -17,6 +23,9 @@ adcw %si, %di
 adcw %si, (%rax)
 adcw (%rax), %di
 
+adcl $0, %eax
+adcl $0, %edi
+adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
@@ -26,6 +35,9 @@ adcl %esi, %edi
 adcl %esi, (%rax)
 adcl (%rax), %edi
 
+adcq $0, %rax
+adcq $0, %rdi
+adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
@@ -628,6 +640,9 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+sbbb $0, %al
+sbbb $0, %dil
+sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
@@ -635,6 +650,9 @@ sbbb %sil, %dil
 sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
+sbbw $0, %ax
+sbbw $0, %di
+sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
@@ -644,6 +662,9 @@ sbbw %si, %di
 sbbw %si, (%rax)
 sbbw (%rax), %di
 
+sbbl $0, %eax
+sbbl $0, %edi
+sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
@@ -653,6 +674,9 @@ sbbl %esi, %edi
 sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
+sbbq $0, %rax
+sbbq $0, %rdi
+sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
@@ -875,12 +899,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
+# CHECK-NEXT:  2      2     0.50                        adcb   $0, %al
+# CHECK-NEXT:  1      1     0.50                        adcb   $0, %dil
+# CHECK-NEXT:  6      8     1.00    *      *            adcb   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcb   $7, %al
 # CHECK-NEXT:  1      1     0.50                        adcb   $7, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            adcb   $7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcb   %sil, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            adcb   %sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   adcb   (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                        adcw   $0, %ax
+# CHECK-NEXT:  1      1     0.50                        adcw   $0, %di
+# CHECK-NEXT:  6      8     1.00    *      *            adcw   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcw   $511, %ax
 # CHECK-NEXT:  1      1     0.50                        adcw   $511, %di
 # CHECK-NEXT:  6      8     1.00    *      *            adcw   $511, (%rax)
@@ -889,6 +919,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        adcw   %si, %di
 # CHECK-NEXT:  6      8     1.00    *      *            adcw   %si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   adcw   (%rax), %di
+# CHECK-NEXT:  1      1     0.50                        adcl   $0, %eax
+# CHECK-NEXT:  1      1     0.50                        adcl   $0, %edi
+# CHECK-NEXT:  6      8     1.00    *      *            adcl   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcl   $665536, %eax
 # CHECK-NEXT:  1      1     0.50                        adcl   $665536, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            adcl   $665536, (%rax)
@@ -897,6 +930,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        adcl   %esi, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            adcl   %esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   adcl   (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                        adcq   $0, %rax
+# CHECK-NEXT:  1      1     0.50                        adcq   $0, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *            adcq   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcq   $665536, %rax
 # CHECK-NEXT:  1      1     0.50                        adcq   $665536, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            adcq   $665536, (%rax)
@@ -1426,12 +1462,18 @@ xorq (%rax), %rdi
 # 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   $0, %al
+# CHECK-NEXT:  1      1     0.50                        sbbb   $0, %dil
+# CHECK-NEXT:  6      8     1.00    *      *            sbbb   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbb   $7, %al
 # CHECK-NEXT:  1      1     0.50                        sbbb   $7, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            sbbb   $7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbb   %sil, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            sbbb   %sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbb   (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                        sbbw   $0, %ax
+# CHECK-NEXT:  1      1     0.50                        sbbw   $0, %di
+# CHECK-NEXT:  6      8     1.00    *      *            sbbw   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbw   $511, %ax
 # CHECK-NEXT:  1      1     0.50                        sbbw   $511, %di
 # CHECK-NEXT:  6      8     1.00    *      *            sbbw   $511, (%rax)
@@ -1440,6 +1482,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        sbbw   %si, %di
 # CHECK-NEXT:  6      8     1.00    *      *            sbbw   %si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbw   (%rax), %di
+# CHECK-NEXT:  1      1     0.50                        sbbl   $0, %eax
+# CHECK-NEXT:  1      1     0.50                        sbbl   $0, %edi
+# CHECK-NEXT:  6      8     1.00    *      *            sbbl   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbl   $665536, %eax
 # CHECK-NEXT:  1      1     0.50                        sbbl   $665536, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbl   $665536, (%rax)
@@ -1448,6 +1493,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        sbbl   %esi, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbl   %esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbl   (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                        sbbq   $0, %rax
+# CHECK-NEXT:  1      1     0.50                        sbbq   $0, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *            sbbq   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbq   $665536, %rax
 # CHECK-NEXT:  1      1     0.50                        sbbq   $665536, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbq   $665536, (%rax)
@@ -1645,16 +1693,22 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 60.00   -     574.25 323.75 262.67 262.67 206.00 291.25 630.75 82.67
+# CHECK-NEXT: 60.00   -     592.75 326.25 269.33 269.33 214.00 293.75 649.25 85.33
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb       $0, %al
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcb       $0, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb       $7, %al
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcb       $7, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb       $7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcb       %sil, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb       %sil, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     adcb       (%rax), %dil
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw       $0, %ax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw       $0, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcw       $511, %ax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw       $511, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw       $511, (%rax)
@@ -1663,6 +1717,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw       %si, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw       %si, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     adcw       (%rax), %di
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl       $0, %eax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl       $0, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcl       $665536, %eax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl       $665536, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl       $665536, (%rax)
@@ -1671,6 +1728,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl       %esi, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl       %esi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     adcl       (%rax), %edi
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq       $0, %rax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq       $0, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcq       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcq       $665536, %rax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq       $665536, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcq       $665536, (%rax)
@@ -2200,12 +2260,18 @@ xorq (%rax), %rdi
 # 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       $0, %al
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbb       $0, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbb       $7, %al
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbb       $7, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb       $7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbb       %sil, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb       %sil, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbb       (%rax), %dil
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw       $0, %ax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw       $0, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbw       $511, %ax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw       $511, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw       $511, (%rax)
@@ -2214,6 +2280,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw       %si, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw       %si, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbw       (%rax), %di
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl       $0, %eax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl       $0, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbl       $665536, %eax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl       $665536, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl       $665536, (%rax)
@@ -2222,6 +2291,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl       %esi, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl       %esi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbl       (%rax), %edi
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq       $0, %rax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq       $0, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbq       $665536, %rax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq       $665536, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq       $665536, (%rax)
index 694a28394f12f5361ffb8a1b87dff1501c6e9512..d944df4577985b3fb99caedae4b1bb2bab55701c 100644 (file)
@@ -1,6 +1,9 @@
 # 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 $0, %al
+adcb $0, %dil
+adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
@@ -8,6 +11,9 @@ adcb %sil, %dil
 adcb %sil, (%rax)
 adcb (%rax), %dil
 
+adcw $0, %ax
+adcw $0, %di
+adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
@@ -17,6 +23,9 @@ adcw %si, %di
 adcw %si, (%rax)
 adcw (%rax), %di
 
+adcl $0, %eax
+adcl $0, %edi
+adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
@@ -26,6 +35,9 @@ adcl %esi, %edi
 adcl %esi, (%rax)
 adcl (%rax), %edi
 
+adcq $0, %rax
+adcq $0, %rdi
+adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
@@ -628,6 +640,9 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+sbbb $0, %al
+sbbb $0, %dil
+sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
@@ -635,6 +650,9 @@ sbbb %sil, %dil
 sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
+sbbw $0, %ax
+sbbw $0, %di
+sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
@@ -644,6 +662,9 @@ sbbw %si, %di
 sbbw %si, (%rax)
 sbbw (%rax), %di
 
+sbbl $0, %eax
+sbbl $0, %edi
+sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
@@ -653,6 +674,9 @@ sbbl %esi, %edi
 sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
+sbbq $0, %rax
+sbbq $0, %rdi
+sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
@@ -875,12 +899,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
+# CHECK-NEXT:  2      2     0.50                        adcb   $0, %al
+# CHECK-NEXT:  1      1     0.50                        adcb   $0, %dil
+# CHECK-NEXT:  6      8     1.00    *      *            adcb   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcb   $7, %al
 # CHECK-NEXT:  1      1     0.50                        adcb   $7, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            adcb   $7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        adcb   %sil, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            adcb   %sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   adcb   (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                        adcw   $0, %ax
+# CHECK-NEXT:  1      1     0.50                        adcw   $0, %di
+# CHECK-NEXT:  6      8     1.00    *      *            adcw   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcw   $511, %ax
 # CHECK-NEXT:  1      1     0.50                        adcw   $511, %di
 # CHECK-NEXT:  6      8     1.00    *      *            adcw   $511, (%rax)
@@ -889,6 +919,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        adcw   %si, %di
 # CHECK-NEXT:  6      8     1.00    *      *            adcw   %si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   adcw   (%rax), %di
+# CHECK-NEXT:  1      1     0.50                        adcl   $0, %eax
+# CHECK-NEXT:  1      1     0.50                        adcl   $0, %edi
+# CHECK-NEXT:  6      8     1.00    *      *            adcl   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcl   $665536, %eax
 # CHECK-NEXT:  1      1     0.50                        adcl   $665536, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            adcl   $665536, (%rax)
@@ -897,6 +930,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        adcl   %esi, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            adcl   %esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   adcl   (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                        adcq   $0, %rax
+# CHECK-NEXT:  1      1     0.50                        adcq   $0, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *            adcq   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        adcq   $665536, %rax
 # CHECK-NEXT:  1      1     0.50                        adcq   $665536, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            adcq   $665536, (%rax)
@@ -1426,12 +1462,18 @@ xorq (%rax), %rdi
 # 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   $0, %al
+# CHECK-NEXT:  1      1     0.50                        sbbb   $0, %dil
+# CHECK-NEXT:  6      8     1.00    *      *            sbbb   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbb   $7, %al
 # CHECK-NEXT:  1      1     0.50                        sbbb   $7, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            sbbb   $7, (%rax)
 # CHECK-NEXT:  1      1     0.50                        sbbb   %sil, %dil
 # CHECK-NEXT:  6      8     1.00    *      *            sbbb   %sil, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbb   (%rax), %dil
+# CHECK-NEXT:  1      1     0.50                        sbbw   $0, %ax
+# CHECK-NEXT:  1      1     0.50                        sbbw   $0, %di
+# CHECK-NEXT:  6      8     1.00    *      *            sbbw   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbw   $511, %ax
 # CHECK-NEXT:  1      1     0.50                        sbbw   $511, %di
 # CHECK-NEXT:  6      8     1.00    *      *            sbbw   $511, (%rax)
@@ -1440,6 +1482,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        sbbw   %si, %di
 # CHECK-NEXT:  6      8     1.00    *      *            sbbw   %si, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbw   (%rax), %di
+# CHECK-NEXT:  1      1     0.50                        sbbl   $0, %eax
+# CHECK-NEXT:  1      1     0.50                        sbbl   $0, %edi
+# CHECK-NEXT:  6      8     1.00    *      *            sbbl   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbl   $665536, %eax
 # CHECK-NEXT:  1      1     0.50                        sbbl   $665536, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbl   $665536, (%rax)
@@ -1448,6 +1493,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        sbbl   %esi, %edi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbl   %esi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbl   (%rax), %edi
+# CHECK-NEXT:  1      1     0.50                        sbbq   $0, %rax
+# CHECK-NEXT:  1      1     0.50                        sbbq   $0, %rdi
+# CHECK-NEXT:  6      8     1.00    *      *            sbbq   $0, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbq   $665536, %rax
 # CHECK-NEXT:  1      1     0.50                        sbbq   $665536, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbq   $665536, (%rax)
@@ -1645,16 +1693,22 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 60.00   -     574.50 324.00 262.67 262.67 206.00 291.50 631.00 82.67
+# CHECK-NEXT: 60.00   -     593.00 326.50 269.33 269.33 214.00 294.00 649.50 85.33
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
+# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb       $0, %al
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcb       $0, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb       $7, %al
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcb       $7, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb       $7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcb       %sil, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcb       %sil, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     adcb       (%rax), %dil
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw       $0, %ax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw       $0, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcw       $511, %ax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw       $511, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw       $511, (%rax)
@@ -1663,6 +1717,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw       %si, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcw       %si, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     adcw       (%rax), %di
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl       $0, %eax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl       $0, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcl       $665536, %eax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl       $665536, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl       $665536, (%rax)
@@ -1671,6 +1728,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl       %esi, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcl       %esi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     adcl       (%rax), %edi
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq       $0, %rax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq       $0, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcq       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcq       $665536, %rax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq       $665536, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   adcq       $665536, (%rax)
@@ -2200,12 +2260,18 @@ xorq (%rax), %rdi
 # 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       $0, %al
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbb       $0, %dil
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbb       $7, %al
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbb       $7, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb       $7, (%rax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbb       %sil, %dil
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbb       %sil, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbb       (%rax), %dil
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw       $0, %ax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw       $0, %di
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbw       $511, %ax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw       $511, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw       $511, (%rax)
@@ -2214,6 +2280,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw       %si, %di
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbw       %si, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbw       (%rax), %di
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl       $0, %eax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl       $0, %edi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbl       $665536, %eax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl       $665536, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl       $665536, (%rax)
@@ -2222,6 +2291,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl       %esi, %edi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbl       %esi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbl       (%rax), %edi
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq       $0, %rax
+# CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq       $0, %rdi
+# CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq       $0, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbq       $665536, %rax
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq       $665536, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq       $665536, (%rax)
index 7de329ec3bc3abb3c1a602e9ba269bdccd4f65ff..b3ed166400c242cf268c6247b9ca4ee22e16ff59 100644 (file)
@@ -1,6 +1,9 @@
 # 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 $0, %al
+adcb $0, %dil
+adcb $0, (%rax)
 adcb $7, %al
 adcb $7, %dil
 adcb $7, (%rax)
@@ -8,6 +11,9 @@ adcb %sil, %dil
 adcb %sil, (%rax)
 adcb (%rax), %dil
 
+adcw $0, %ax
+adcw $0, %di
+adcw $0, (%rax)
 adcw $511, %ax
 adcw $511, %di
 adcw $511, (%rax)
@@ -17,6 +23,9 @@ adcw %si, %di
 adcw %si, (%rax)
 adcw (%rax), %di
 
+adcl $0, %eax
+adcl $0, %edi
+adcl $0, (%rax)
 adcl $665536, %eax
 adcl $665536, %edi
 adcl $665536, (%rax)
@@ -26,6 +35,9 @@ adcl %esi, %edi
 adcl %esi, (%rax)
 adcl (%rax), %edi
 
+adcq $0, %rax
+adcq $0, %rdi
+adcq $0, (%rax)
 adcq $665536, %rax
 adcq $665536, %rdi
 adcq $665536, (%rax)
@@ -628,6 +640,9 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+sbbb $0, %al
+sbbb $0, %dil
+sbbb $0, (%rax)
 sbbb $7, %al
 sbbb $7, %dil
 sbbb $7, (%rax)
@@ -635,6 +650,9 @@ sbbb %sil, %dil
 sbbb %sil, (%rax)
 sbbb (%rax), %dil
 
+sbbw $0, %ax
+sbbw $0, %di
+sbbw $0, (%rax)
 sbbw $511, %ax
 sbbw $511, %di
 sbbw $511, (%rax)
@@ -644,6 +662,9 @@ sbbw %si, %di
 sbbw %si, (%rax)
 sbbw (%rax), %di
 
+sbbl $0, %eax
+sbbl $0, %edi
+sbbl $0, (%rax)
 sbbl $665536, %eax
 sbbl $665536, %edi
 sbbl $665536, (%rax)
@@ -653,6 +674,9 @@ sbbl %esi, %edi
 sbbl %esi, (%rax)
 sbbl (%rax), %edi
 
+sbbq $0, %rax
+sbbq $0, %rdi
+sbbq $0, (%rax)
 sbbq $665536, %rax
 sbbq $665536, %rdi
 sbbq $665536, (%rax)
@@ -875,12 +899,18 @@ xorq (%rax), %rdi
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
+# CHECK-NEXT:  1      1     0.25                        adcb   $0, %al
+# CHECK-NEXT:  1      1     0.25                        adcb   $0, %dil
+# CHECK-NEXT:  2      5     0.50    *      *            adcb   $0, (%rax)
 # CHECK-NEXT:  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   %sil, %dil
 # CHECK-NEXT:  2      5     0.50    *      *            adcb   %sil, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   adcb   (%rax), %dil
+# CHECK-NEXT:  1      1     0.25                        adcw   $0, %ax
+# CHECK-NEXT:  1      1     0.25                        adcw   $0, %di
+# CHECK-NEXT:  2      5     0.50    *      *            adcw   $0, (%rax)
 # CHECK-NEXT:  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)
@@ -889,6 +919,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        adcw   %si, %di
 # CHECK-NEXT:  2      5     0.50    *      *            adcw   %si, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   adcw   (%rax), %di
+# CHECK-NEXT:  1      1     0.25                        adcl   $0, %eax
+# CHECK-NEXT:  1      1     0.25                        adcl   $0, %edi
+# CHECK-NEXT:  2      5     0.50    *      *            adcl   $0, (%rax)
 # CHECK-NEXT:  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)
@@ -897,6 +930,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        adcl   %esi, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            adcl   %esi, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   adcl   (%rax), %edi
+# CHECK-NEXT:  1      1     0.25                        adcq   $0, %rax
+# CHECK-NEXT:  1      1     0.25                        adcq   $0, %rdi
+# CHECK-NEXT:  2      5     0.50    *      *            adcq   $0, (%rax)
 # CHECK-NEXT:  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)
@@ -1426,12 +1462,18 @@ xorq (%rax), %rdi
 # 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   $0, %al
+# CHECK-NEXT:  1      1     0.25                        sbbb   $0, %dil
+# CHECK-NEXT:  2      5     0.50    *      *            sbbb   $0, (%rax)
 # CHECK-NEXT:  1      1     0.25                        sbbb   $7, %al
 # CHECK-NEXT:  1      1     0.25                        sbbb   $7, %dil
 # CHECK-NEXT:  2      5     0.50    *      *            sbbb   $7, (%rax)
 # CHECK-NEXT:  1      1     0.25                        sbbb   %sil, %dil
 # CHECK-NEXT:  2      5     0.50    *      *            sbbb   %sil, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   sbbb   (%rax), %dil
+# CHECK-NEXT:  1      1     0.25                        sbbw   $0, %ax
+# CHECK-NEXT:  1      1     0.25                        sbbw   $0, %di
+# CHECK-NEXT:  2      5     0.50    *      *            sbbw   $0, (%rax)
 # CHECK-NEXT:  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)
@@ -1440,6 +1482,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        sbbw   %si, %di
 # CHECK-NEXT:  2      5     0.50    *      *            sbbw   %si, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   sbbw   (%rax), %di
+# CHECK-NEXT:  1      1     0.25                        sbbl   $0, %eax
+# CHECK-NEXT:  1      1     0.25                        sbbl   $0, %edi
+# CHECK-NEXT:  2      5     0.50    *      *            sbbl   $0, (%rax)
 # CHECK-NEXT:  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)
@@ -1448,6 +1493,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        sbbl   %esi, %edi
 # CHECK-NEXT:  2      5     0.50    *      *            sbbl   %esi, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   sbbl   (%rax), %edi
+# CHECK-NEXT:  1      1     0.25                        sbbq   $0, %rax
+# CHECK-NEXT:  1      1     0.25                        sbbq   $0, %rdi
+# CHECK-NEXT:  2      5     0.50    *      *            sbbq   $0, (%rax)
 # CHECK-NEXT:  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)
@@ -1647,16 +1695,22 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]
-# CHECK-NEXT: 165.50 165.50 153.75 187.75 169.75 153.75 392.00  -      -      -      -     34.00
+# CHECK-NEXT: 169.50 169.50 159.75 193.75 175.75 159.75 392.00  -      -      -      -     34.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   Instructions:
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcb $0, %al
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcb $0, %dil
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcb $0, (%rax)
 # CHECK-NEXT:  -      -     0.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 %sil, %dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcb %sil, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcb (%rax), %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcw $0, %ax
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcw $0, %di
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcw $0, (%rax)
 # CHECK-NEXT:  -      -     0.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)
@@ -1665,6 +1719,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcw %si, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcw %si, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcw (%rax), %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcl $0, %eax
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcl $0, %edi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcl $0, (%rax)
 # CHECK-NEXT:  -      -     0.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)
@@ -1673,6 +1730,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcl %esi, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcl %esi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcl (%rax), %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcq $0, %rax
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcq $0, %rdi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcq $0, (%rax)
 # CHECK-NEXT:  -      -     0.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)
@@ -2202,12 +2262,18 @@ xorq (%rax), %rdi
 # 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 $0, %al
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbb $0, %dil
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbb $0, (%rax)
 # CHECK-NEXT:  -      -     0.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 %sil, %dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbb %sil, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbb (%rax), %dil
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbw $0, %ax
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbw $0, %di
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbw $0, (%rax)
 # CHECK-NEXT:  -      -     0.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)
@@ -2216,6 +2282,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbw %si, %di
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbw %si, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbw (%rax), %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbl $0, %eax
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbl $0, %edi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbl $0, (%rax)
 # CHECK-NEXT:  -      -     0.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)
@@ -2224,6 +2293,9 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbl %esi, %edi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbl %esi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbl (%rax), %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbq $0, %rax
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbq $0, %rdi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbq $0, (%rax)
 # CHECK-NEXT:  -      -     0.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)