summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2019-02-24 19:23:39 +0000
committerCraig Topper <craig.topper@intel.com>2019-02-24 19:23:39 +0000
commitce2bd19c49bf7541cb8c1a072332db0f9cc277d3 (patch)
treef2a784246b8211b4dfd364c3d4b7a221af5a1850 /llvm
parentbe3348573ec101bb9b5e088d47fd3713ca78f088 (diff)
downloadbcm5719-llvm-ce2bd19c49bf7541cb8c1a072332db0f9cc277d3.tar.gz
bcm5719-llvm-ce2bd19c49bf7541cb8c1a072332db0f9cc277d3.zip
[X86] Correct some ADC/SBB with immediate scheduler data for Broadwell and Skylake.
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
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/X86/X86SchedBroadwell.td9
-rw-r--r--llvm/lib/Target/X86/X86SchedSkylakeClient.td7
-rw-r--r--llvm/lib/Target/X86/X86SchedSkylakeServer.td7
-rw-r--r--llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s34
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s34
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s34
6 files changed, 64 insertions, 61 deletions
diff --git a/llvm/lib/Target/X86/X86SchedBroadwell.td b/llvm/lib/Target/X86/X86SchedBroadwell.td
index 821948d2d85..fe96f203d3a 100644
--- a/llvm/lib/Target/X86/X86SchedBroadwell.td
+++ b/llvm/lib/Target/X86/X86SchedBroadwell.td
@@ -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;
diff --git a/llvm/lib/Target/X86/X86SchedSkylakeClient.td b/llvm/lib/Target/X86/X86SchedSkylakeClient.td
index 71045897376..9e5f7958460 100644
--- a/llvm/lib/Target/X86/X86SchedSkylakeClient.td
+++ b/llvm/lib/Target/X86/X86SchedSkylakeClient.td
@@ -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;
diff --git a/llvm/lib/Target/X86/X86SchedSkylakeServer.td b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
index 8bd80078891..4747dafb857 100644
--- a/llvm/lib/Target/X86/X86SchedSkylakeServer.td
+++ b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
@@ -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;
diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
index d55c4a342cb..9b283a82194 100644
--- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
@@ -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
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
index 963b8c90e9c..209522d84c4 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
@@ -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
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
index e11f6a177c8..694a28394f1 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
@@ -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
OpenPOWER on IntegriCloud