[X86] Correct some ADC/SBB with immediate scheduler data for Broadwell and Skylake.
authorCraig Topper <craig.topper@intel.com>
Sun, 24 Feb 2019 19:23:39 +0000 (19:23 +0000)
committerCraig Topper <craig.topper@intel.com>
Sun, 24 Feb 2019 19:23:39 +0000 (19:23 +0000)
Summary:
The AX/EAX/RAX with immediate forms are 2 uops just like the AL with immediate.

The modrm form with r8 and immediate is a single uop just like r16/r32/r64 with immediate.

Reviewers: RKSimon, andreadb

Reviewed By: RKSimon

Subscribers: gbedwell, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D58581

llvm-svn: 354754

llvm/lib/Target/X86/X86SchedBroadwell.td
llvm/lib/Target/X86/X86SchedSkylakeClient.td
llvm/lib/Target/X86/X86SchedSkylakeServer.td
llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s

index 821948d2d85937b9b48c24d7d9cc8aa4332b11ae..fe96f203d3a061f13750acdcd7072b1aa85cdd50 100644 (file)
@@ -733,10 +733,11 @@ def BWWriteResGroup20 : SchedWriteRes<[BWPort06,BWPort0156]> {
 }
 def: InstRW<[BWWriteResGroup20], (instrs CWD,
                                          JCXZ, JECXZ, JRCXZ,
-                                         ADC8i8, SBB8i8)>;
-def: InstRW<[BWWriteResGroup20], (instregex "ADC8ri",
-                                            "SBB8ri",
-                                            "SET(A|BE)r")>;
+                                         ADC8i8, SBB8i8,
+                                         ADC16i16, SBB16i16,
+                                         ADC32i32, SBB32i32,
+                                         ADC64i32, SBB64i32)>;
+def: InstRW<[BWWriteResGroup20], (instregex "SET(A|BE)r")>;
 
 def BWWriteResGroup22 : SchedWriteRes<[BWPort4,BWPort6,BWPort237]> {
   let Latency = 2;
index 71045897376fab24da094baac62f041742b62cbc..9e5f79584603f6e776b156bf657b2e692f288d28 100644 (file)
@@ -736,9 +736,10 @@ def SKLWriteResGroup23 : SchedWriteRes<[SKLPort06,SKLPort0156]> {
 }
 def: InstRW<[SKLWriteResGroup23], (instrs CWD,
                                           JCXZ, JECXZ, JRCXZ,
-                                          ADC8i8, SBB8i8)>;
-def: InstRW<[SKLWriteResGroup23], (instregex "ADC8ri",
-                                             "SBB8ri")>;
+                                          ADC8i8, SBB8i8,
+                                          ADC16i16, SBB16i16,
+                                          ADC32i32, SBB32i32,
+                                          ADC64i32, SBB64i32)>;
 
 def SKLWriteResGroup25 : SchedWriteRes<[SKLPort4,SKLPort6,SKLPort237]> {
   let Latency = 2;
index 8bd80078891dd4dad582cefc06144086908e37ae..4747dafb85719498827f240c4a9afc7ee74405d3 100644 (file)
@@ -760,9 +760,10 @@ def SKXWriteResGroup23 : SchedWriteRes<[SKXPort06,SKXPort0156]> {
 }
 def: InstRW<[SKXWriteResGroup23], (instrs CWD,
                                           JCXZ, JECXZ, JRCXZ,
-                                          ADC8i8, SBB8i8)>;
-def: InstRW<[SKXWriteResGroup23], (instregex "ADC8ri",
-                                             "SBB8ri")>;
+                                          ADC8i8, SBB8i8,
+                                          ADC16i16, SBB16i16,
+                                          ADC32i32, SBB32i32,
+                                          ADC64i32, SBB64i32)>;
 
 def SKXWriteResGroup25 : SchedWriteRes<[SKXPort4,SKXPort6,SKXPort237]> {
   let Latency = 2;
index d55c4a342cb63de5ec56bb11dc8128821623c906..9b283a82194273a3ae83e52875af4fa07d326fe8 100644 (file)
@@ -876,12 +876,12 @@ xorq (%rax), %rdi
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # CHECK-NEXT:  2      2     0.50                        adcb   $7, %al
-# CHECK-NEXT:  2      2     0.50                        adcb   $7, %dil
+# CHECK-NEXT:  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   $511, %ax
+# 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)
 # CHECK-NEXT:  1      1     0.50                        adcw   $7, %di
@@ -889,7 +889,7 @@ 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   $665536, %eax
+# 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)
 # CHECK-NEXT:  1      1     0.50                        adcl   $7, %edi
@@ -897,7 +897,7 @@ 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   $665536, %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)
 # CHECK-NEXT:  1      1     0.50                        adcq   $7, %rdi
@@ -1427,12 +1427,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            shlq   %cl, (%rax)
 # CHECK-NEXT:  6      8     1.00    *      *            shrq   %cl, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbb   $7, %al
-# CHECK-NEXT:  2      2     0.50                        sbbb   $7, %dil
+# CHECK-NEXT:  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   $511, %ax
+# 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)
 # CHECK-NEXT:  1      1     0.50                        sbbw   $7, %di
@@ -1440,7 +1440,7 @@ 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   $665536, %eax
+# 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)
 # CHECK-NEXT:  1      1     0.50                        sbbl   $7, %edi
@@ -1448,7 +1448,7 @@ 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   $665536, %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)
 # CHECK-NEXT:  1      1     0.50                        sbbq   $7, %rdi
@@ -1645,17 +1645,17 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 50.00   -     503.00 343.00 262.67 262.67 206.00 255.50 536.50 82.67
+# CHECK-NEXT: 50.00   -     504.00 344.00 262.67 262.67 206.00 256.50 537.50 82.67
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb       $7, %al
-# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb       $7, %dil
+# CHECK-NEXT:  -      -     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       $511, %ax
+# 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)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw       $7, %di
@@ -1663,7 +1663,7 @@ 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       $665536, %eax
+# 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)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl       $7, %edi
@@ -1671,7 +1671,7 @@ 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       $665536, %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)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq       $7, %rdi
@@ -2201,12 +2201,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   shlq       %cl, (%rax)
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   shrq       %cl, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbb       $7, %al
-# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbb       $7, %dil
+# CHECK-NEXT:  -      -     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       $511, %ax
+# 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)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw       $7, %di
@@ -2214,7 +2214,7 @@ 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       $665536, %eax
+# 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)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl       $7, %edi
@@ -2222,7 +2222,7 @@ 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       $665536, %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)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq       $7, %rdi
index 963b8c90e9c2f866be9717b029b2cf601c78a3b7..209522d84c4ea0fb6a70746d2dd3fab53baed8ed 100644 (file)
@@ -876,12 +876,12 @@ xorq (%rax), %rdi
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # CHECK-NEXT:  2      2     0.50                        adcb   $7, %al
-# CHECK-NEXT:  2      2     0.50                        adcb   $7, %dil
+# CHECK-NEXT:  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   $511, %ax
+# 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)
 # CHECK-NEXT:  1      1     0.50                        adcw   $7, %di
@@ -889,7 +889,7 @@ 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   $665536, %eax
+# 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)
 # CHECK-NEXT:  1      1     0.50                        adcl   $7, %edi
@@ -897,7 +897,7 @@ 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   $665536, %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)
 # CHECK-NEXT:  1      1     0.50                        adcq   $7, %rdi
@@ -1427,12 +1427,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  6      8     1.50    *      *            shlq   %cl, (%rax)
 # CHECK-NEXT:  6      8     1.50    *      *            shrq   %cl, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbb   $7, %al
-# CHECK-NEXT:  2      2     0.50                        sbbb   $7, %dil
+# CHECK-NEXT:  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   $511, %ax
+# 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)
 # CHECK-NEXT:  1      1     0.50                        sbbw   $7, %di
@@ -1440,7 +1440,7 @@ 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   $665536, %eax
+# 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)
 # CHECK-NEXT:  1      1     0.50                        sbbl   $7, %edi
@@ -1448,7 +1448,7 @@ 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   $665536, %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)
 # CHECK-NEXT:  1      1     0.50                        sbbq   $7, %rdi
@@ -1645,17 +1645,17 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 60.00   -     573.25 322.75 262.67 262.67 206.00 290.25 629.75 82.67
+# CHECK-NEXT: 60.00   -     574.25 323.75 262.67 262.67 206.00 291.25 630.75 82.67
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb       $7, %al
-# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb       $7, %dil
+# CHECK-NEXT:  -      -     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       $511, %ax
+# 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)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw       $7, %di
@@ -1663,7 +1663,7 @@ 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       $665536, %eax
+# 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)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl       $7, %edi
@@ -1671,7 +1671,7 @@ 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       $665536, %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)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq       $7, %rdi
@@ -2201,12 +2201,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.50    -     0.83   0.83   1.00    -     1.50   0.33   shlq       %cl, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     0.83   0.83   1.00    -     1.50   0.33   shrq       %cl, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbb       $7, %al
-# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbb       $7, %dil
+# CHECK-NEXT:  -      -     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       $511, %ax
+# 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)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw       $7, %di
@@ -2214,7 +2214,7 @@ 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       $665536, %eax
+# 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)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl       $7, %edi
@@ -2222,7 +2222,7 @@ 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       $665536, %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)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq       $7, %rdi
index e11f6a177c8359aa24ab8f06ac1264439fe35f3b..694a28394f12f5361ffb8a1b87dff1501c6e9512 100644 (file)
@@ -876,12 +876,12 @@ xorq (%rax), %rdi
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # CHECK-NEXT:  2      2     0.50                        adcb   $7, %al
-# CHECK-NEXT:  2      2     0.50                        adcb   $7, %dil
+# CHECK-NEXT:  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   $511, %ax
+# 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)
 # CHECK-NEXT:  1      1     0.50                        adcw   $7, %di
@@ -889,7 +889,7 @@ 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   $665536, %eax
+# 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)
 # CHECK-NEXT:  1      1     0.50                        adcl   $7, %edi
@@ -897,7 +897,7 @@ 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   $665536, %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)
 # CHECK-NEXT:  1      1     0.50                        adcq   $7, %rdi
@@ -1427,12 +1427,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  6      8     1.50    *      *            shlq   %cl, (%rax)
 # CHECK-NEXT:  6      8     1.50    *      *            shrq   %cl, (%rax)
 # CHECK-NEXT:  2      2     0.50                        sbbb   $7, %al
-# CHECK-NEXT:  2      2     0.50                        sbbb   $7, %dil
+# CHECK-NEXT:  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   $511, %ax
+# 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)
 # CHECK-NEXT:  1      1     0.50                        sbbw   $7, %di
@@ -1440,7 +1440,7 @@ 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   $665536, %eax
+# 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)
 # CHECK-NEXT:  1      1     0.50                        sbbl   $7, %edi
@@ -1448,7 +1448,7 @@ 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   $665536, %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)
 # CHECK-NEXT:  1      1     0.50                        sbbq   $7, %rdi
@@ -1645,17 +1645,17 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 60.00   -     573.50 323.00 262.67 262.67 206.00 290.50 630.00 82.67
+# CHECK-NEXT: 60.00   -     574.50 324.00 262.67 262.67 206.00 291.50 631.00 82.67
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb       $7, %al
-# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     adcb       $7, %dil
+# CHECK-NEXT:  -      -     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       $511, %ax
+# 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)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcw       $7, %di
@@ -1663,7 +1663,7 @@ 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       $665536, %eax
+# 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)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcl       $7, %edi
@@ -1671,7 +1671,7 @@ 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       $665536, %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)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     adcq       $7, %rdi
@@ -2201,12 +2201,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.50    -     0.83   0.83   1.00    -     1.50   0.33   shlq       %cl, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     0.83   0.83   1.00    -     1.50   0.33   shrq       %cl, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbb       $7, %al
-# CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbb       $7, %dil
+# CHECK-NEXT:  -      -     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       $511, %ax
+# 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)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbw       $7, %di
@@ -2214,7 +2214,7 @@ 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       $665536, %eax
+# 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)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbl       $7, %edi
@@ -2222,7 +2222,7 @@ 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       $665536, %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)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq       $7, %rdi