[llvm] 56d6ccd - [X86] Update register RCL/RCR by 1 and immediate scheduling for Intel CPUs

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 8 09:34:45 PST 2022


Author: Craig Topper
Date: 2022-02-08T09:20:20-08:00
New Revision: 56d6ccd4cb4aac4c23ac50ae51f9cebb4ea1ad29

URL: https://github.com/llvm/llvm-project/commit/56d6ccd4cb4aac4c23ac50ae51f9cebb4ea1ad29
DIFF: https://github.com/llvm/llvm-project/commit/56d6ccd4cb4aac4c23ac50ae51f9cebb4ea1ad29.diff

LOG: [X86] Update register RCL/RCR by 1 and immediate scheduling for Intel CPUs

Most Intel CPU scheduler files lumped the immediate and 1 instructions
together, but uops.info shows they are quite different.

For the most part the by 1 instructions were pretty accurate to the uops.info
data except the latency was 3 instead of 2 as uops.info indicates.

The by immediate instructions need 7 or 8 uops and have higher latency.

It looks like the 8-bit by immediate instructions may need even more
uops, but I just lumped them with the 16/32/64.

Noticed while checking out PR53648. So mostly I cared about the by 1
instructions.

Reviewed By: RKSimon, pengfei

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

Added: 
    

Modified: 
    llvm/lib/Target/X86/X86SchedBroadwell.td
    llvm/lib/Target/X86/X86SchedHaswell.td
    llvm/lib/Target/X86/X86SchedIceLake.td
    llvm/lib/Target/X86/X86SchedSandyBridge.td
    llvm/lib/Target/X86/X86SchedSkylakeClient.td
    llvm/lib/Target/X86/X86SchedSkylakeServer.td
    llvm/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s
    llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
    llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
    llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
    llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-x86_64.s
    llvm/test/tools/llvm-mca/X86/SandyBridge/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

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/X86/X86SchedBroadwell.td b/llvm/lib/Target/X86/X86SchedBroadwell.td
index 8e317dc22bd65..e4b95cb0807f2 100644
--- a/llvm/lib/Target/X86/X86SchedBroadwell.td
+++ b/llvm/lib/Target/X86/X86SchedBroadwell.td
@@ -814,12 +814,26 @@ def BWWriteResGroup34 : SchedWriteRes<[BWPort6,BWPort0156]> {
 def: InstRW<[BWWriteResGroup34], (instregex "CLD")>;
 
 def BWWriteResGroup35 : SchedWriteRes<[BWPort06,BWPort0156]> {
-  let Latency = 3;
+  let Latency = 2;
   let NumMicroOps = 3;
   let ResourceCycles = [1,2];
 }
-def: InstRW<[BWWriteResGroup35], (instregex "RCL(8|16|32|64)r(1|i)",
-                                            "RCR(8|16|32|64)r(1|i)")>;
+def: InstRW<[BWWriteResGroup35], (instrs RCL8r1, RCL16r1, RCL32r1, RCL64r1,
+                                         RCR8r1, RCR16r1, RCR32r1, RCR64r1)>;
+
+def BWWriteResGroup36 : SchedWriteRes<[BWPort1,BWPort06,BWPort0156]> {
+  let Latency = 5;
+  let NumMicroOps = 8;
+  let ResourceCycles = [2,4,2];
+}
+def: InstRW<[BWWriteResGroup36], (instrs RCR8ri, RCR16ri, RCR32ri, RCR64ri)>;
+
+def BWWriteResGroup36b : SchedWriteRes<[BWPort1,BWPort06,BWPort0156]> {
+  let Latency = 6;
+  let NumMicroOps = 8;
+  let ResourceCycles = [2,4,2];
+}
+def: InstRW<[BWWriteResGroup36b], (instrs RCL8ri, RCL16ri, RCL32ri, RCL64ri)>;
 
 def BWWriteResGroup37 : SchedWriteRes<[BWPort4,BWPort6,BWPort237,BWPort0156]> {
   let Latency = 3;

diff  --git a/llvm/lib/Target/X86/X86SchedHaswell.td b/llvm/lib/Target/X86/X86SchedHaswell.td
index 1cd0b33796847..7b1a31d2a4df1 100644
--- a/llvm/lib/Target/X86/X86SchedHaswell.td
+++ b/llvm/lib/Target/X86/X86SchedHaswell.td
@@ -1299,12 +1299,26 @@ def HWWriteResGroup58 : SchedWriteRes<[HWPort6,HWPort0156]> {
 def: InstRW<[HWWriteResGroup58], (instregex "CLD")>;
 
 def HWWriteResGroup59 : SchedWriteRes<[HWPort06,HWPort0156]> {
-  let Latency = 3;
+  let Latency = 2;
   let NumMicroOps = 3;
   let ResourceCycles = [1,2];
 }
-def: InstRW<[HWWriteResGroup59], (instregex "RCL(8|16|32|64)r(1|i)",
-                                            "RCR(8|16|32|64)r(1|i)")>;
+def: InstRW<[HWWriteResGroup59], (instrs RCL8r1, RCL16r1, RCL32r1, RCL64r1,
+                                         RCR8r1, RCR16r1, RCR32r1, RCR64r1)>;
+
+def HWWriteResGroup60 : SchedWriteRes<[HWPort1,HWPort06,HWPort0156]> {
+  let Latency = 5;
+  let NumMicroOps = 8;
+  let ResourceCycles = [2,4,2];
+}
+def: InstRW<[HWWriteResGroup60], (instrs RCR8ri, RCR16ri, RCR32ri, RCR64ri)>;
+
+def HWWriteResGroup60b : SchedWriteRes<[HWPort1,HWPort06,HWPort0156]> {
+  let Latency = 6;
+  let NumMicroOps = 8;
+  let ResourceCycles = [2,4,2];
+}
+def: InstRW<[HWWriteResGroup60b], (instrs RCL8ri, RCL16ri, RCL32ri, RCL64ri)>;
 
 def HWWriteResGroup61 : SchedWriteRes<[HWPort0,HWPort4,HWPort237]> {
   let Latency = 4;

diff  --git a/llvm/lib/Target/X86/X86SchedIceLake.td b/llvm/lib/Target/X86/X86SchedIceLake.td
index 9fd986e341816..b66db7e7e73a6 100644
--- a/llvm/lib/Target/X86/X86SchedIceLake.td
+++ b/llvm/lib/Target/X86/X86SchedIceLake.td
@@ -923,12 +923,26 @@ def ICXWriteResGroup43 : SchedWriteRes<[ICXPort237,ICXPort0156]> {
 def: InstRW<[ICXWriteResGroup43], (instrs MFENCE)>;
 
 def ICXWriteResGroup44 : SchedWriteRes<[ICXPort06,ICXPort0156]> {
-  let Latency = 3;
+  let Latency = 2;
   let NumMicroOps = 3;
   let ResourceCycles = [1,2];
 }
-def: InstRW<[ICXWriteResGroup44], (instregex "RCL(8|16|32|64)r(1|i)",
-                                             "RCR(8|16|32|64)r(1|i)")>;
+def: InstRW<[ICXWriteResGroup44], (instrs RCL8r1, RCL16r1, RCL32r1, RCL64r1,
+                                          RCR8r1, RCR16r1, RCR32r1, RCR64r1)>;
+
+def ICXWriteResGroup44b : SchedWriteRes<[ICXPort1,ICXPort06,ICXPort0156]> {
+  let Latency = 5;
+  let NumMicroOps = 7;
+  let ResourceCycles = [2,3,2];
+}
+def: InstRW<[ICXWriteResGroup44b], (instrs RCR8ri, RCR16ri, RCR32ri, RCR64ri)>;
+
+def ICXWriteResGroup44c : SchedWriteRes<[ICXPort1,ICXPort06,ICXPort0156]> {
+  let Latency = 6;
+  let NumMicroOps = 7;
+  let ResourceCycles = [2,3,2];
+}
+def: InstRW<[ICXWriteResGroup44c], (instrs RCL8ri, RCL16ri, RCL32ri, RCL64ri)>;
 
 def ICXWriteResGroup45 : SchedWriteRes<[ICXPort0,ICXPort4,ICXPort237]> {
   let Latency = 3;

diff  --git a/llvm/lib/Target/X86/X86SchedSandyBridge.td b/llvm/lib/Target/X86/X86SchedSandyBridge.td
index 7e619a3a87221..8ccfbc5ad093d 100644
--- a/llvm/lib/Target/X86/X86SchedSandyBridge.td
+++ b/llvm/lib/Target/X86/X86SchedSandyBridge.td
@@ -678,13 +678,27 @@ def SBWriteResGroup22 : SchedWriteRes<[SBPort0,SBPort5]> {
 }
 def: InstRW<[SBWriteResGroup22], (instregex "(V?)EXTRACTPSrr")>;
 
-def SBWriteResGroup23 : SchedWriteRes<[SBPort05]> {
+def SBWriteResGroup23 : SchedWriteRes<[SBPort05,SBPort015]> {
   let Latency = 2;
   let NumMicroOps = 3;
-  let ResourceCycles = [3];
+  let ResourceCycles = [2,1];
+}
+def: InstRW<[SBWriteResGroup23], (instrs RCL8r1, RCL16r1, RCL32r1, RCL64r1,
+                                         RCR8r1, RCR16r1, RCR32r1, RCR64r1)>;
+
+def SBWriteResGroup24 : SchedWriteRes<[SBPort1,SBPort5,SBPort05,SBPort015]> {
+  let Latency = 3;
+  let NumMicroOps = 8;
+  let ResourceCycles = [1,1,4,2];
+}
+def: InstRW<[SBWriteResGroup24], (instrs RCR8ri, RCR16ri, RCR32ri, RCR64ri)>;
+
+def SBWriteResGroup24b : SchedWriteRes<[SBPort1,SBPort5,SBPort05,SBPort015]> {
+  let Latency = 4;
+  let NumMicroOps = 8;
+  let ResourceCycles = [1,1,4,2];
 }
-def: InstRW<[SBWriteResGroup23], (instregex "RCL(8|16|32|64)r1",
-                                            "RCR(8|16|32|64)r1")>;
+def: InstRW<[SBWriteResGroup24b], (instrs RCL8ri, RCL16ri, RCL32ri, RCL64ri)>;
 
 def SBWriteResGroup25_1 : SchedWriteRes<[SBPort23,SBPort015]> {
   let Latency = 7;
@@ -727,8 +741,8 @@ def SBWriteResGroup76 : SchedWriteRes<[SBPort05]> {
   let NumMicroOps = 8;
   let ResourceCycles = [8];
 }
-def: InstRW<[SBWriteResGroup76], (instregex "RCL(8|16|32|64)r(i|CL)",
-                                            "RCR(8|16|32|64)r(i|CL)")>;
+def: InstRW<[SBWriteResGroup76], (instregex "RCL(8|16|32|64)rCL",
+                                            "RCR(8|16|32|64)rCL")>;
 
 def SBWriteResGroup33 : SchedWriteRes<[SBPort4,SBPort23]> {
   let Latency = 5;

diff  --git a/llvm/lib/Target/X86/X86SchedSkylakeClient.td b/llvm/lib/Target/X86/X86SchedSkylakeClient.td
index 0a88bac5aa660..67ed1d8fd9fbb 100644
--- a/llvm/lib/Target/X86/X86SchedSkylakeClient.td
+++ b/llvm/lib/Target/X86/X86SchedSkylakeClient.td
@@ -836,12 +836,26 @@ def SKLWriteResGroup41 : SchedWriteRes<[SKLPort237,SKLPort0156]> {
 def: InstRW<[SKLWriteResGroup41], (instrs MFENCE)>;
 
 def SKLWriteResGroup42 : SchedWriteRes<[SKLPort06,SKLPort0156]> {
-  let Latency = 3;
+  let Latency = 2;
   let NumMicroOps = 3;
   let ResourceCycles = [1,2];
 }
-def: InstRW<[SKLWriteResGroup42], (instregex "RCL(8|16|32|64)r(1|i)",
-                                             "RCR(8|16|32|64)r(1|i)")>;
+def: InstRW<[SKLWriteResGroup42], (instrs RCL8r1, RCL16r1, RCL32r1, RCL64r1,
+                                          RCR8r1, RCR16r1, RCR32r1, RCR64r1)>;
+
+def SKLWriteResGroup42b : SchedWriteRes<[SKLPort1,SKLPort06,SKLPort0156]> {
+  let Latency = 5;
+  let NumMicroOps = 8;
+  let ResourceCycles = [2,4,2];
+}
+def: InstRW<[SKLWriteResGroup42b], (instrs RCR8ri, RCR16ri, RCR32ri, RCR64ri)>;
+
+def SKLWriteResGroup42c : SchedWriteRes<[SKLPort1,SKLPort06,SKLPort0156]> {
+  let Latency = 6;
+  let NumMicroOps = 8;
+  let ResourceCycles = [2,4,2];
+}
+def: InstRW<[SKLWriteResGroup42c], (instrs RCL8ri, RCL16ri, RCL32ri, RCL64ri)>;
 
 def SKLWriteResGroup43 : SchedWriteRes<[SKLPort0,SKLPort4,SKLPort237]> {
   let Latency = 3;

diff  --git a/llvm/lib/Target/X86/X86SchedSkylakeServer.td b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
index b28a18f0dcd71..0189acdd76c50 100644
--- a/llvm/lib/Target/X86/X86SchedSkylakeServer.td
+++ b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
@@ -905,12 +905,26 @@ def SKXWriteResGroup43 : SchedWriteRes<[SKXPort237,SKXPort0156]> {
 def: InstRW<[SKXWriteResGroup43], (instrs MFENCE)>;
 
 def SKXWriteResGroup44 : SchedWriteRes<[SKXPort06,SKXPort0156]> {
-  let Latency = 3;
+  let Latency = 2;
   let NumMicroOps = 3;
   let ResourceCycles = [1,2];
 }
-def: InstRW<[SKXWriteResGroup44], (instregex "RCL(8|16|32|64)r(1|i)",
-                                             "RCR(8|16|32|64)r(1|i)")>;
+def: InstRW<[SKXWriteResGroup44], (instrs RCL8r1, RCL16r1, RCL32r1, RCL64r1,
+                                          RCR8r1, RCR16r1, RCR32r1, RCR64r1)>;
+
+def SKXWriteResGroup44b : SchedWriteRes<[SKXPort1,SKXPort06,SKXPort0156]> {
+  let Latency = 5;
+  let NumMicroOps = 8;
+  let ResourceCycles = [2,4,2];
+}
+def: InstRW<[SKXWriteResGroup44b], (instrs RCR8ri, RCR16ri, RCR32ri, RCR64ri)>;
+
+def SKXWriteResGroup44c : SchedWriteRes<[SKXPort1,SKXPort06,SKXPort0156]> {
+  let Latency = 6;
+  let NumMicroOps = 8;
+  let ResourceCycles = [2,4,2];
+}
+def: InstRW<[SKXWriteResGroup44c], (instrs RCL8ri, RCL16ri, RCL32ri, RCL64ri)>;
 
 def SKXWriteResGroup45 : SchedWriteRes<[SKXPort0,SKXPort4,SKXPort237]> {
   let Latency = 3;

diff  --git a/llvm/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s
index c9e7f6329b70e..eec07637c2475 100644
--- a/llvm/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s
@@ -1506,48 +1506,48 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.33                  U     outsw	(%rsi), %dx
 # CHECK-NEXT:  1      100   0.33                  U     outsl	(%rsi), %dx
 # CHECK-NEXT:  4      4     1.33    *      *      U     pause
-# CHECK-NEXT:  3      2     1.50                        rclb	%dil
-# CHECK-NEXT:  3      2     1.50                        rcrb	%dil
+# CHECK-NEXT:  3      2     1.00                        rclb	%dil
+# CHECK-NEXT:  3      2     1.00                        rcrb	%dil
 # CHECK-NEXT:  11     11    3.50           *            rclb	(%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrb	(%rax)
-# CHECK-NEXT:  8      5     4.00                        rclb	$7, %dil
-# CHECK-NEXT:  8      5     4.00                        rcrb	$7, %dil
+# CHECK-NEXT:  8      4     2.67                        rclb	$7, %dil
+# CHECK-NEXT:  8      3     2.67                        rcrb	$7, %dil
 # CHECK-NEXT:  11     11    3.50           *            rclb	$7, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrb	$7, (%rax)
 # CHECK-NEXT:  8      5     4.00                        rclb	%cl, %dil
 # CHECK-NEXT:  8      5     4.00                        rcrb	%cl, %dil
 # CHECK-NEXT:  11     11    3.50           *            rclb	%cl, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrb	%cl, (%rax)
-# CHECK-NEXT:  3      2     1.50                        rclw	%di
-# CHECK-NEXT:  3      2     1.50                        rcrw	%di
+# CHECK-NEXT:  3      2     1.00                        rclw	%di
+# CHECK-NEXT:  3      2     1.00                        rcrw	%di
 # CHECK-NEXT:  11     11    3.50           *            rclw	(%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrw	(%rax)
-# CHECK-NEXT:  8      5     4.00                        rclw	$7, %di
-# CHECK-NEXT:  8      5     4.00                        rcrw	$7, %di
+# CHECK-NEXT:  8      4     2.67                        rclw	$7, %di
+# CHECK-NEXT:  8      3     2.67                        rcrw	$7, %di
 # CHECK-NEXT:  11     11    3.50           *            rclw	$7, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrw	$7, (%rax)
 # CHECK-NEXT:  8      5     4.00                        rclw	%cl, %di
 # CHECK-NEXT:  8      5     4.00                        rcrw	%cl, %di
 # CHECK-NEXT:  11     11    3.50           *            rclw	%cl, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrw	%cl, (%rax)
-# CHECK-NEXT:  3      2     1.50                        rcll	%edi
-# CHECK-NEXT:  3      2     1.50                        rcrl	%edi
+# CHECK-NEXT:  3      2     1.00                        rcll	%edi
+# CHECK-NEXT:  3      2     1.00                        rcrl	%edi
 # CHECK-NEXT:  11     11    3.50           *            rcll	(%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrl	(%rax)
-# CHECK-NEXT:  8      5     4.00                        rcll	$7, %edi
-# CHECK-NEXT:  8      5     4.00                        rcrl	$7, %edi
+# CHECK-NEXT:  8      4     2.67                        rcll	$7, %edi
+# CHECK-NEXT:  8      3     2.67                        rcrl	$7, %edi
 # CHECK-NEXT:  11     11    3.50           *            rcll	$7, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrl	$7, (%rax)
 # CHECK-NEXT:  8      5     4.00                        rcll	%cl, %edi
 # CHECK-NEXT:  8      5     4.00                        rcrl	%cl, %edi
 # CHECK-NEXT:  11     11    3.50           *            rcll	%cl, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrl	%cl, (%rax)
-# CHECK-NEXT:  3      2     1.50                        rclq	%rdi
-# CHECK-NEXT:  3      2     1.50                        rcrq	%rdi
+# CHECK-NEXT:  3      2     1.00                        rclq	%rdi
+# CHECK-NEXT:  3      2     1.00                        rcrq	%rdi
 # CHECK-NEXT:  11     11    3.50           *            rclq	(%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrq	(%rax)
-# CHECK-NEXT:  8      5     4.00                        rclq	$7, %rdi
-# CHECK-NEXT:  8      5     4.00                        rcrq	$7, %rdi
+# CHECK-NEXT:  8      4     2.67                        rclq	$7, %rdi
+# CHECK-NEXT:  8      3     2.67                        rcrq	$7, %rdi
 # CHECK-NEXT:  11     11    3.50           *            rclq	$7, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrq	$7, (%rax)
 # CHECK-NEXT:  8      5     4.00                        rclq	%cl, %rdi
@@ -1953,7 +1953,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT: 160.00  -     670.17 294.67 361.00 687.17 455.50 455.50
+# CHECK-NEXT: 160.00  -     658.17 310.67 361.00 683.17 455.50 455.50
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
@@ -2433,48 +2433,48 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outsw	(%rsi), %dx
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outsl	(%rsi), %dx
 # CHECK-NEXT:  -      -     1.00   1.00    -     2.00    -      -     pause
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rclb	%dil
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rcrb	%dil
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rclb	%dil
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rcrb	%dil
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclb	(%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrb	(%rax)
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rclb	$7, %dil
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrb	$7, %dil
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rclb	$7, %dil
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rcrb	$7, %dil
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclb	$7, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrb	$7, (%rax)
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rclb	%cl, %dil
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrb	%cl, %dil
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclb	%cl, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrb	%cl, (%rax)
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rclw	%di
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rcrw	%di
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rclw	%di
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rcrw	%di
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclw	(%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrw	(%rax)
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rclw	$7, %di
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrw	$7, %di
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rclw	$7, %di
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rcrw	$7, %di
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclw	$7, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrw	$7, (%rax)
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rclw	%cl, %di
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrw	%cl, %di
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclw	%cl, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrw	%cl, (%rax)
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rcll	%edi
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rcrl	%edi
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rcll	%edi
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rcrl	%edi
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcll	(%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrl	(%rax)
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcll	$7, %edi
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrl	$7, %edi
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rcll	$7, %edi
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rcrl	$7, %edi
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcll	$7, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrl	$7, (%rax)
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcll	%cl, %edi
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrl	%cl, %edi
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcll	%cl, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrl	%cl, (%rax)
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rclq	%rdi
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rcrq	%rdi
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rclq	%rdi
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rcrq	%rdi
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclq	(%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrq	(%rax)
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rclq	$7, %rdi
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrq	$7, %rdi
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rclq	$7, %rdi
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rcrq	$7, %rdi
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclq	$7, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrq	$7, (%rax)
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rclq	%cl, %rdi

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 389e0956d6991..21449cb85f63b 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
@@ -1506,48 +1506,48 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.25                  U     outsw	(%rsi), %dx
 # CHECK-NEXT:  1      100   0.25                  U     outsl	(%rsi), %dx
 # CHECK-NEXT:  5      5     1.25    *      *      U     pause
-# CHECK-NEXT:  3      3     0.75                        rclb	%dil
-# CHECK-NEXT:  3      3     0.75                        rcrb	%dil
+# CHECK-NEXT:  3      2     0.75                        rclb	%dil
+# CHECK-NEXT:  3      2     0.75                        rcrb	%dil
 # CHECK-NEXT:  5      8     0.75           *            rclb	(%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrb	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rclb	$7, %dil
-# CHECK-NEXT:  3      3     0.75                        rcrb	$7, %dil
+# CHECK-NEXT:  8      6     2.00                        rclb	$7, %dil
+# CHECK-NEXT:  8      5     2.00                        rcrb	$7, %dil
 # CHECK-NEXT:  5      8     0.75           *            rclb	$7, (%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrb	$7, (%rax)
 # CHECK-NEXT:  9      11    2.25                        rclb	%cl, %dil
 # CHECK-NEXT:  10     14    2.50                        rcrb	%cl, %dil
 # CHECK-NEXT:  10     15    2.00           *            rclb	%cl, (%rax)
 # CHECK-NEXT:  11     18    2.25           *            rcrb	%cl, (%rax)
-# CHECK-NEXT:  3      3     0.75                        rclw	%di
-# CHECK-NEXT:  3      3     0.75                        rcrw	%di
+# CHECK-NEXT:  3      2     0.75                        rclw	%di
+# CHECK-NEXT:  3      2     0.75                        rcrw	%di
 # CHECK-NEXT:  5      8     0.75           *            rclw	(%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrw	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rclw	$7, %di
-# CHECK-NEXT:  3      3     0.75                        rcrw	$7, %di
+# CHECK-NEXT:  8      6     2.00                        rclw	$7, %di
+# CHECK-NEXT:  8      5     2.00                        rcrw	$7, %di
 # CHECK-NEXT:  5      8     0.75           *            rclw	$7, (%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrw	$7, (%rax)
 # CHECK-NEXT:  7      11    2.00                        rclw	%cl, %di
 # CHECK-NEXT:  7      11    2.00                        rcrw	%cl, %di
 # CHECK-NEXT:  10     15    2.00           *            rclw	%cl, (%rax)
 # CHECK-NEXT:  11     18    2.25           *            rcrw	%cl, (%rax)
-# CHECK-NEXT:  3      3     0.75                        rcll	%edi
-# CHECK-NEXT:  3      3     0.75                        rcrl	%edi
+# CHECK-NEXT:  3      2     0.75                        rcll	%edi
+# CHECK-NEXT:  3      2     0.75                        rcrl	%edi
 # CHECK-NEXT:  5      8     0.75           *            rcll	(%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrl	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rcll	$7, %edi
-# CHECK-NEXT:  3      3     0.75                        rcrl	$7, %edi
+# CHECK-NEXT:  8      6     2.00                        rcll	$7, %edi
+# CHECK-NEXT:  8      5     2.00                        rcrl	$7, %edi
 # CHECK-NEXT:  5      8     0.75           *            rcll	$7, (%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrl	$7, (%rax)
 # CHECK-NEXT:  7      11    2.00                        rcll	%cl, %edi
 # CHECK-NEXT:  7      11    2.00                        rcrl	%cl, %edi
 # CHECK-NEXT:  10     15    2.00           *            rcll	%cl, (%rax)
 # CHECK-NEXT:  11     18    2.25           *            rcrl	%cl, (%rax)
-# CHECK-NEXT:  3      3     0.75                        rclq	%rdi
-# CHECK-NEXT:  3      3     0.75                        rcrq	%rdi
+# CHECK-NEXT:  3      2     0.75                        rclq	%rdi
+# CHECK-NEXT:  3      2     0.75                        rcrq	%rdi
 # CHECK-NEXT:  5      8     0.75           *            rclq	(%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrq	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rclq	$7, %rdi
-# CHECK-NEXT:  3      3     0.75                        rcrq	$7, %rdi
+# CHECK-NEXT:  8      6     2.00                        rclq	$7, %rdi
+# CHECK-NEXT:  8      5     2.00                        rcrq	$7, %rdi
 # CHECK-NEXT:  5      8     0.75           *            rclq	$7, (%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrq	$7, (%rax)
 # CHECK-NEXT:  7      11    2.00                        rclq	%cl, %rdi
@@ -1955,7 +1955,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 50.00   -     590.50 380.00 378.50 378.50 345.00 292.50 624.00 129.00
+# CHECK-NEXT: 50.00   -     602.50 396.00 378.50 378.50 345.00 292.50 636.00 129.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -2439,8 +2439,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrb	%dil
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclb	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrb	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rclb	$7, %dil
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrb	$7, %dil
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rclb	$7, %dil
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcrb	$7, %dil
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclb	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrb	$7, (%rax)
 # CHECK-NEXT:  -      -     2.75   2.25    -      -      -     1.25   2.75    -     rclb	%cl, %dil
@@ -2451,8 +2451,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrw	%di
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclw	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrw	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rclw	$7, %di
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrw	$7, %di
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rclw	$7, %di
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcrw	$7, %di
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclw	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrw	$7, (%rax)
 # CHECK-NEXT:  -      -     1.75   2.75    -      -      -     0.75   1.75    -     rclw	%cl, %di
@@ -2463,8 +2463,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrl	%edi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcll	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrl	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcll	$7, %edi
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrl	$7, %edi
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcll	$7, %edi
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcrl	$7, %edi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcll	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrl	$7, (%rax)
 # CHECK-NEXT:  -      -     1.75   2.75    -      -      -     0.75   1.75    -     rcll	%cl, %edi
@@ -2475,8 +2475,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrq	%rdi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclq	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrq	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rclq	$7, %rdi
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrq	$7, %rdi
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rclq	$7, %rdi
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcrq	$7, %rdi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclq	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrq	$7, (%rax)
 # CHECK-NEXT:  -      -     1.75   2.75    -      -      -     0.75   1.75    -     rclq	%cl, %rdi

diff  --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
index c9e7f6329b70e..eec07637c2475 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
@@ -1506,48 +1506,48 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.33                  U     outsw	(%rsi), %dx
 # CHECK-NEXT:  1      100   0.33                  U     outsl	(%rsi), %dx
 # CHECK-NEXT:  4      4     1.33    *      *      U     pause
-# CHECK-NEXT:  3      2     1.50                        rclb	%dil
-# CHECK-NEXT:  3      2     1.50                        rcrb	%dil
+# CHECK-NEXT:  3      2     1.00                        rclb	%dil
+# CHECK-NEXT:  3      2     1.00                        rcrb	%dil
 # CHECK-NEXT:  11     11    3.50           *            rclb	(%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrb	(%rax)
-# CHECK-NEXT:  8      5     4.00                        rclb	$7, %dil
-# CHECK-NEXT:  8      5     4.00                        rcrb	$7, %dil
+# CHECK-NEXT:  8      4     2.67                        rclb	$7, %dil
+# CHECK-NEXT:  8      3     2.67                        rcrb	$7, %dil
 # CHECK-NEXT:  11     11    3.50           *            rclb	$7, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrb	$7, (%rax)
 # CHECK-NEXT:  8      5     4.00                        rclb	%cl, %dil
 # CHECK-NEXT:  8      5     4.00                        rcrb	%cl, %dil
 # CHECK-NEXT:  11     11    3.50           *            rclb	%cl, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrb	%cl, (%rax)
-# CHECK-NEXT:  3      2     1.50                        rclw	%di
-# CHECK-NEXT:  3      2     1.50                        rcrw	%di
+# CHECK-NEXT:  3      2     1.00                        rclw	%di
+# CHECK-NEXT:  3      2     1.00                        rcrw	%di
 # CHECK-NEXT:  11     11    3.50           *            rclw	(%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrw	(%rax)
-# CHECK-NEXT:  8      5     4.00                        rclw	$7, %di
-# CHECK-NEXT:  8      5     4.00                        rcrw	$7, %di
+# CHECK-NEXT:  8      4     2.67                        rclw	$7, %di
+# CHECK-NEXT:  8      3     2.67                        rcrw	$7, %di
 # CHECK-NEXT:  11     11    3.50           *            rclw	$7, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrw	$7, (%rax)
 # CHECK-NEXT:  8      5     4.00                        rclw	%cl, %di
 # CHECK-NEXT:  8      5     4.00                        rcrw	%cl, %di
 # CHECK-NEXT:  11     11    3.50           *            rclw	%cl, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrw	%cl, (%rax)
-# CHECK-NEXT:  3      2     1.50                        rcll	%edi
-# CHECK-NEXT:  3      2     1.50                        rcrl	%edi
+# CHECK-NEXT:  3      2     1.00                        rcll	%edi
+# CHECK-NEXT:  3      2     1.00                        rcrl	%edi
 # CHECK-NEXT:  11     11    3.50           *            rcll	(%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrl	(%rax)
-# CHECK-NEXT:  8      5     4.00                        rcll	$7, %edi
-# CHECK-NEXT:  8      5     4.00                        rcrl	$7, %edi
+# CHECK-NEXT:  8      4     2.67                        rcll	$7, %edi
+# CHECK-NEXT:  8      3     2.67                        rcrl	$7, %edi
 # CHECK-NEXT:  11     11    3.50           *            rcll	$7, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrl	$7, (%rax)
 # CHECK-NEXT:  8      5     4.00                        rcll	%cl, %edi
 # CHECK-NEXT:  8      5     4.00                        rcrl	%cl, %edi
 # CHECK-NEXT:  11     11    3.50           *            rcll	%cl, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrl	%cl, (%rax)
-# CHECK-NEXT:  3      2     1.50                        rclq	%rdi
-# CHECK-NEXT:  3      2     1.50                        rcrq	%rdi
+# CHECK-NEXT:  3      2     1.00                        rclq	%rdi
+# CHECK-NEXT:  3      2     1.00                        rcrq	%rdi
 # CHECK-NEXT:  11     11    3.50           *            rclq	(%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrq	(%rax)
-# CHECK-NEXT:  8      5     4.00                        rclq	$7, %rdi
-# CHECK-NEXT:  8      5     4.00                        rcrq	$7, %rdi
+# CHECK-NEXT:  8      4     2.67                        rclq	$7, %rdi
+# CHECK-NEXT:  8      3     2.67                        rcrq	$7, %rdi
 # CHECK-NEXT:  11     11    3.50           *            rclq	$7, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrq	$7, (%rax)
 # CHECK-NEXT:  8      5     4.00                        rclq	%cl, %rdi
@@ -1953,7 +1953,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT: 160.00  -     670.17 294.67 361.00 687.17 455.50 455.50
+# CHECK-NEXT: 160.00  -     658.17 310.67 361.00 683.17 455.50 455.50
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
@@ -2433,48 +2433,48 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outsw	(%rsi), %dx
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outsl	(%rsi), %dx
 # CHECK-NEXT:  -      -     1.00   1.00    -     2.00    -      -     pause
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rclb	%dil
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rcrb	%dil
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rclb	%dil
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rcrb	%dil
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclb	(%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrb	(%rax)
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rclb	$7, %dil
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrb	$7, %dil
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rclb	$7, %dil
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rcrb	$7, %dil
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclb	$7, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrb	$7, (%rax)
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rclb	%cl, %dil
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrb	%cl, %dil
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclb	%cl, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrb	%cl, (%rax)
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rclw	%di
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rcrw	%di
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rclw	%di
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rcrw	%di
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclw	(%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrw	(%rax)
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rclw	$7, %di
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrw	$7, %di
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rclw	$7, %di
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rcrw	$7, %di
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclw	$7, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrw	$7, (%rax)
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rclw	%cl, %di
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrw	%cl, %di
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclw	%cl, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrw	%cl, (%rax)
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rcll	%edi
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rcrl	%edi
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rcll	%edi
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rcrl	%edi
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcll	(%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrl	(%rax)
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcll	$7, %edi
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrl	$7, %edi
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rcll	$7, %edi
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rcrl	$7, %edi
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcll	$7, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrl	$7, (%rax)
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcll	%cl, %edi
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrl	%cl, %edi
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcll	%cl, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrl	%cl, (%rax)
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rclq	%rdi
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rcrq	%rdi
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rclq	%rdi
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rcrq	%rdi
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclq	(%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrq	(%rax)
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rclq	$7, %rdi
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrq	$7, %rdi
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rclq	$7, %rdi
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rcrq	$7, %rdi
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclq	$7, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrq	$7, (%rax)
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rclq	%cl, %rdi

diff  --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
index c265464cede2c..b71906feb72ed 100644
--- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
@@ -1506,48 +1506,48 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.25                  U     outsw	(%rsi), %dx
 # CHECK-NEXT:  1      100   0.25                  U     outsl	(%rsi), %dx
 # CHECK-NEXT:  5      5     1.25    *      *      U     pause
-# CHECK-NEXT:  3      3     0.75                        rclb	%dil
-# CHECK-NEXT:  3      3     0.75                        rcrb	%dil
+# CHECK-NEXT:  3      2     0.75                        rclb	%dil
+# CHECK-NEXT:  3      2     0.75                        rcrb	%dil
 # CHECK-NEXT:  5      9     0.75           *            rclb	(%rax)
 # CHECK-NEXT:  5      9     0.75           *            rcrb	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rclb	$7, %dil
-# CHECK-NEXT:  3      3     0.75                        rcrb	$7, %dil
+# CHECK-NEXT:  8      6     2.00                        rclb	$7, %dil
+# CHECK-NEXT:  8      5     2.00                        rcrb	$7, %dil
 # CHECK-NEXT:  5      9     0.75           *            rclb	$7, (%rax)
 # CHECK-NEXT:  5      9     0.75           *            rcrb	$7, (%rax)
 # CHECK-NEXT:  9      11    2.25                        rclb	%cl, %dil
 # CHECK-NEXT:  10     14    2.50                        rcrb	%cl, %dil
 # CHECK-NEXT:  10     16    2.00           *            rclb	%cl, (%rax)
 # CHECK-NEXT:  11     19    2.25           *            rcrb	%cl, (%rax)
-# CHECK-NEXT:  3      3     0.75                        rclw	%di
-# CHECK-NEXT:  3      3     0.75                        rcrw	%di
+# CHECK-NEXT:  3      2     0.75                        rclw	%di
+# CHECK-NEXT:  3      2     0.75                        rcrw	%di
 # CHECK-NEXT:  5      9     0.75           *            rclw	(%rax)
 # CHECK-NEXT:  5      9     0.75           *            rcrw	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rclw	$7, %di
-# CHECK-NEXT:  3      3     0.75                        rcrw	$7, %di
+# CHECK-NEXT:  8      6     2.00                        rclw	$7, %di
+# CHECK-NEXT:  8      5     2.00                        rcrw	$7, %di
 # CHECK-NEXT:  5      9     0.75           *            rclw	$7, (%rax)
 # CHECK-NEXT:  5      9     0.75           *            rcrw	$7, (%rax)
 # CHECK-NEXT:  7      11    2.00                        rclw	%cl, %di
 # CHECK-NEXT:  7      11    2.00                        rcrw	%cl, %di
 # CHECK-NEXT:  10     16    2.00           *            rclw	%cl, (%rax)
 # CHECK-NEXT:  11     19    2.25           *            rcrw	%cl, (%rax)
-# CHECK-NEXT:  3      3     0.75                        rcll	%edi
-# CHECK-NEXT:  3      3     0.75                        rcrl	%edi
+# CHECK-NEXT:  3      2     0.75                        rcll	%edi
+# CHECK-NEXT:  3      2     0.75                        rcrl	%edi
 # CHECK-NEXT:  5      9     0.75           *            rcll	(%rax)
 # CHECK-NEXT:  5      9     0.75           *            rcrl	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rcll	$7, %edi
-# CHECK-NEXT:  3      3     0.75                        rcrl	$7, %edi
+# CHECK-NEXT:  8      6     2.00                        rcll	$7, %edi
+# CHECK-NEXT:  8      5     2.00                        rcrl	$7, %edi
 # CHECK-NEXT:  5      9     0.75           *            rcll	$7, (%rax)
 # CHECK-NEXT:  5      9     0.75           *            rcrl	$7, (%rax)
 # CHECK-NEXT:  7      11    2.00                        rcll	%cl, %edi
 # CHECK-NEXT:  7      11    2.00                        rcrl	%cl, %edi
 # CHECK-NEXT:  10     16    2.00           *            rcll	%cl, (%rax)
 # CHECK-NEXT:  11     19    2.25           *            rcrl	%cl, (%rax)
-# CHECK-NEXT:  3      3     0.75                        rclq	%rdi
-# CHECK-NEXT:  3      3     0.75                        rcrq	%rdi
+# CHECK-NEXT:  3      2     0.75                        rclq	%rdi
+# CHECK-NEXT:  3      2     0.75                        rcrq	%rdi
 # CHECK-NEXT:  5      9     0.75           *            rclq	(%rax)
 # CHECK-NEXT:  5      9     0.75           *            rcrq	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rclq	$7, %rdi
-# CHECK-NEXT:  3      3     0.75                        rcrq	$7, %rdi
+# CHECK-NEXT:  8      6     2.00                        rclq	$7, %rdi
+# CHECK-NEXT:  8      5     2.00                        rcrq	$7, %rdi
 # CHECK-NEXT:  5      9     0.75           *            rclq	$7, (%rax)
 # CHECK-NEXT:  5      9     0.75           *            rcrq	$7, (%rax)
 # CHECK-NEXT:  7      11    2.00                        rclq	%cl, %rdi
@@ -1955,7 +1955,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 80.00   -     643.50 403.00 371.50 371.50 331.00 317.50 706.00 123.00
+# CHECK-NEXT: 80.00   -     655.50 419.00 371.50 371.50 331.00 317.50 718.00 123.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -2439,8 +2439,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrb	%dil
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclb	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrb	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rclb	$7, %dil
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrb	$7, %dil
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rclb	$7, %dil
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcrb	$7, %dil
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclb	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrb	$7, (%rax)
 # CHECK-NEXT:  -      -     2.75   2.25    -      -      -     1.25   2.75    -     rclb	%cl, %dil
@@ -2451,8 +2451,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrw	%di
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclw	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrw	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rclw	$7, %di
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrw	$7, %di
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rclw	$7, %di
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcrw	$7, %di
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclw	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrw	$7, (%rax)
 # CHECK-NEXT:  -      -     1.75   2.75    -      -      -     0.75   1.75    -     rclw	%cl, %di
@@ -2463,8 +2463,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrl	%edi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcll	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrl	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcll	$7, %edi
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrl	$7, %edi
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcll	$7, %edi
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcrl	$7, %edi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcll	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrl	$7, (%rax)
 # CHECK-NEXT:  -      -     1.75   2.75    -      -      -     0.75   1.75    -     rcll	%cl, %edi
@@ -2475,8 +2475,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrq	%rdi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclq	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrq	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rclq	$7, %rdi
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrq	$7, %rdi
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rclq	$7, %rdi
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcrq	$7, %rdi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclq	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrq	$7, (%rax)
 # CHECK-NEXT:  -      -     1.75   2.75    -      -      -     0.75   1.75    -     rclq	%cl, %rdi

diff  --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-x86_64.s
index a9cb405f0bd05..87e6d113b181d 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-x86_64.s
@@ -1506,48 +1506,48 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.25                  U     outsw	(%rsi), %dx
 # CHECK-NEXT:  1      100   0.25                  U     outsl	(%rsi), %dx
 # CHECK-NEXT:  4      140   1.00    *      *      U     pause
-# CHECK-NEXT:  3      3     0.75                        rclb	%dil
-# CHECK-NEXT:  3      3     0.75                        rcrb	%dil
+# CHECK-NEXT:  3      2     0.75                        rclb	%dil
+# CHECK-NEXT:  3      2     0.75                        rcrb	%dil
 # CHECK-NEXT:  5      8     0.75           *            rclb	(%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrb	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rclb	$7, %dil
-# CHECK-NEXT:  3      3     0.75                        rcrb	$7, %dil
+# CHECK-NEXT:  7      6     2.00                        rclb	$7, %dil
+# CHECK-NEXT:  7      5     2.00                        rcrb	$7, %dil
 # CHECK-NEXT:  5      8     0.75           *            rclb	$7, (%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrb	$7, (%rax)
 # CHECK-NEXT:  9      11    2.50                        rclb	%cl, %dil
 # CHECK-NEXT:  10     14    2.50                        rcrb	%cl, %dil
 # CHECK-NEXT:  10     15    2.50           *            rclb	%cl, (%rax)
 # CHECK-NEXT:  11     18    2.25           *            rcrb	%cl, (%rax)
-# CHECK-NEXT:  3      3     0.75                        rclw	%di
-# CHECK-NEXT:  3      3     0.75                        rcrw	%di
+# CHECK-NEXT:  3      2     0.75                        rclw	%di
+# CHECK-NEXT:  3      2     0.75                        rcrw	%di
 # CHECK-NEXT:  5      8     0.75           *            rclw	(%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrw	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rclw	$7, %di
-# CHECK-NEXT:  3      3     0.75                        rcrw	$7, %di
+# CHECK-NEXT:  7      6     2.00                        rclw	$7, %di
+# CHECK-NEXT:  7      5     2.00                        rcrw	$7, %di
 # CHECK-NEXT:  5      8     0.75           *            rclw	$7, (%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrw	$7, (%rax)
 # CHECK-NEXT:  7      11    2.00                        rclw	%cl, %di
 # CHECK-NEXT:  7      11    2.00                        rcrw	%cl, %di
 # CHECK-NEXT:  10     15    2.50           *            rclw	%cl, (%rax)
 # CHECK-NEXT:  11     18    2.25           *            rcrw	%cl, (%rax)
-# CHECK-NEXT:  3      3     0.75                        rcll	%edi
-# CHECK-NEXT:  3      3     0.75                        rcrl	%edi
+# CHECK-NEXT:  3      2     0.75                        rcll	%edi
+# CHECK-NEXT:  3      2     0.75                        rcrl	%edi
 # CHECK-NEXT:  5      8     0.75           *            rcll	(%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrl	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rcll	$7, %edi
-# CHECK-NEXT:  3      3     0.75                        rcrl	$7, %edi
+# CHECK-NEXT:  7      6     2.00                        rcll	$7, %edi
+# CHECK-NEXT:  7      5     2.00                        rcrl	$7, %edi
 # CHECK-NEXT:  5      8     0.75           *            rcll	$7, (%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrl	$7, (%rax)
 # CHECK-NEXT:  7      11    2.00                        rcll	%cl, %edi
 # CHECK-NEXT:  7      11    2.00                        rcrl	%cl, %edi
 # CHECK-NEXT:  10     15    2.50           *            rcll	%cl, (%rax)
 # CHECK-NEXT:  11     18    2.25           *            rcrl	%cl, (%rax)
-# CHECK-NEXT:  3      3     0.75                        rclq	%rdi
-# CHECK-NEXT:  3      3     0.75                        rcrq	%rdi
+# CHECK-NEXT:  3      2     0.75                        rclq	%rdi
+# CHECK-NEXT:  3      2     0.75                        rcrq	%rdi
 # CHECK-NEXT:  5      8     0.75           *            rclq	(%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrq	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rclq	$7, %rdi
-# CHECK-NEXT:  3      3     0.75                        rcrq	$7, %rdi
+# CHECK-NEXT:  7      6     2.00                        rclq	$7, %rdi
+# CHECK-NEXT:  7      5     2.00                        rcrq	$7, %rdi
 # CHECK-NEXT:  5      8     0.75           *            rclq	$7, (%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrq	$7, (%rax)
 # CHECK-NEXT:  7      11    2.00                        rclq	%cl, %rdi
@@ -1957,7 +1957,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]
-# CHECK-NEXT: 60.00   -     663.00 360.00 378.50 378.50 345.00 327.50 723.50 129.00  -      -
+# CHECK-NEXT: 60.00   -     671.00 376.00 378.50 378.50 345.00 327.50 731.50 129.00  -      -
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   Instructions:
@@ -2441,8 +2441,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -      -      -     rcrb	%dil
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33    -      -     rclb	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33    -      -     rcrb	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -      -      -     rclb	$7, %dil
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -      -      -     rcrb	$7, %dil
+# CHECK-NEXT:  -      -     2.00   2.50    -      -      -     0.50   2.00    -      -      -     rclb	$7, %dil
+# CHECK-NEXT:  -      -     2.00   2.50    -      -      -     0.50   2.00    -      -      -     rcrb	$7, %dil
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33    -      -     rclb	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33    -      -     rcrb	$7, (%rax)
 # CHECK-NEXT:  -      -     3.00   2.00    -      -      -     1.00   3.00    -      -      -     rclb	%cl, %dil
@@ -2453,8 +2453,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -      -      -     rcrw	%di
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33    -      -     rclw	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33    -      -     rcrw	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -      -      -     rclw	$7, %di
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -      -      -     rcrw	$7, %di
+# CHECK-NEXT:  -      -     2.00   2.50    -      -      -     0.50   2.00    -      -      -     rclw	$7, %di
+# CHECK-NEXT:  -      -     2.00   2.50    -      -      -     0.50   2.00    -      -      -     rcrw	$7, %di
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33    -      -     rclw	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33    -      -     rcrw	$7, (%rax)
 # CHECK-NEXT:  -      -     2.00   2.50    -      -      -     0.50   2.00    -      -      -     rclw	%cl, %di
@@ -2465,8 +2465,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -      -      -     rcrl	%edi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33    -      -     rcll	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33    -      -     rcrl	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -      -      -     rcll	$7, %edi
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -      -      -     rcrl	$7, %edi
+# CHECK-NEXT:  -      -     2.00   2.50    -      -      -     0.50   2.00    -      -      -     rcll	$7, %edi
+# CHECK-NEXT:  -      -     2.00   2.50    -      -      -     0.50   2.00    -      -      -     rcrl	$7, %edi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33    -      -     rcll	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33    -      -     rcrl	$7, (%rax)
 # CHECK-NEXT:  -      -     2.00   2.50    -      -      -     0.50   2.00    -      -      -     rcll	%cl, %edi
@@ -2477,8 +2477,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -      -      -     rcrq	%rdi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33    -      -     rclq	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33    -      -     rcrq	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -      -      -     rclq	$7, %rdi
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -      -      -     rcrq	$7, %rdi
+# CHECK-NEXT:  -      -     2.00   2.50    -      -      -     0.50   2.00    -      -      -     rclq	$7, %rdi
+# CHECK-NEXT:  -      -     2.00   2.50    -      -      -     0.50   2.00    -      -      -     rcrq	$7, %rdi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33    -      -     rclq	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33    -      -     rcrq	$7, (%rax)
 # CHECK-NEXT:  -      -     2.00   2.50    -      -      -     0.50   2.00    -      -      -     rclq	%cl, %rdi

diff  --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
index 1df4761c55b20..90d0a53840361 100644
--- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
@@ -1506,48 +1506,48 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.33                  U     outsw	(%rsi), %dx
 # CHECK-NEXT:  1      100   0.33                  U     outsl	(%rsi), %dx
 # CHECK-NEXT:  4      4     1.33    *      *      U     pause
-# CHECK-NEXT:  3      2     1.50                        rclb	%dil
-# CHECK-NEXT:  3      2     1.50                        rcrb	%dil
+# CHECK-NEXT:  3      2     1.00                        rclb	%dil
+# CHECK-NEXT:  3      2     1.00                        rcrb	%dil
 # CHECK-NEXT:  11     11    3.50           *            rclb	(%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrb	(%rax)
-# CHECK-NEXT:  8      5     4.00                        rclb	$7, %dil
-# CHECK-NEXT:  8      5     4.00                        rcrb	$7, %dil
+# CHECK-NEXT:  8      4     2.67                        rclb	$7, %dil
+# CHECK-NEXT:  8      3     2.67                        rcrb	$7, %dil
 # CHECK-NEXT:  11     11    3.50           *            rclb	$7, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrb	$7, (%rax)
 # CHECK-NEXT:  8      5     4.00                        rclb	%cl, %dil
 # CHECK-NEXT:  8      5     4.00                        rcrb	%cl, %dil
 # CHECK-NEXT:  11     11    3.50           *            rclb	%cl, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrb	%cl, (%rax)
-# CHECK-NEXT:  3      2     1.50                        rclw	%di
-# CHECK-NEXT:  3      2     1.50                        rcrw	%di
+# CHECK-NEXT:  3      2     1.00                        rclw	%di
+# CHECK-NEXT:  3      2     1.00                        rcrw	%di
 # CHECK-NEXT:  11     11    3.50           *            rclw	(%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrw	(%rax)
-# CHECK-NEXT:  8      5     4.00                        rclw	$7, %di
-# CHECK-NEXT:  8      5     4.00                        rcrw	$7, %di
+# CHECK-NEXT:  8      4     2.67                        rclw	$7, %di
+# CHECK-NEXT:  8      3     2.67                        rcrw	$7, %di
 # CHECK-NEXT:  11     11    3.50           *            rclw	$7, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrw	$7, (%rax)
 # CHECK-NEXT:  8      5     4.00                        rclw	%cl, %di
 # CHECK-NEXT:  8      5     4.00                        rcrw	%cl, %di
 # CHECK-NEXT:  11     11    3.50           *            rclw	%cl, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrw	%cl, (%rax)
-# CHECK-NEXT:  3      2     1.50                        rcll	%edi
-# CHECK-NEXT:  3      2     1.50                        rcrl	%edi
+# CHECK-NEXT:  3      2     1.00                        rcll	%edi
+# CHECK-NEXT:  3      2     1.00                        rcrl	%edi
 # CHECK-NEXT:  11     11    3.50           *            rcll	(%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrl	(%rax)
-# CHECK-NEXT:  8      5     4.00                        rcll	$7, %edi
-# CHECK-NEXT:  8      5     4.00                        rcrl	$7, %edi
+# CHECK-NEXT:  8      4     2.67                        rcll	$7, %edi
+# CHECK-NEXT:  8      3     2.67                        rcrl	$7, %edi
 # CHECK-NEXT:  11     11    3.50           *            rcll	$7, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrl	$7, (%rax)
 # CHECK-NEXT:  8      5     4.00                        rcll	%cl, %edi
 # CHECK-NEXT:  8      5     4.00                        rcrl	%cl, %edi
 # CHECK-NEXT:  11     11    3.50           *            rcll	%cl, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrl	%cl, (%rax)
-# CHECK-NEXT:  3      2     1.50                        rclq	%rdi
-# CHECK-NEXT:  3      2     1.50                        rcrq	%rdi
+# CHECK-NEXT:  3      2     1.00                        rclq	%rdi
+# CHECK-NEXT:  3      2     1.00                        rcrq	%rdi
 # CHECK-NEXT:  11     11    3.50           *            rclq	(%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrq	(%rax)
-# CHECK-NEXT:  8      5     4.00                        rclq	$7, %rdi
-# CHECK-NEXT:  8      5     4.00                        rcrq	$7, %rdi
+# CHECK-NEXT:  8      4     2.67                        rclq	$7, %rdi
+# CHECK-NEXT:  8      3     2.67                        rcrq	$7, %rdi
 # CHECK-NEXT:  11     11    3.50           *            rclq	$7, (%rax)
 # CHECK-NEXT:  11     11    3.50           *            rcrq	$7, (%rax)
 # CHECK-NEXT:  8      5     4.00                        rclq	%cl, %rdi
@@ -1953,7 +1953,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT: 160.00  -     670.17 294.67 361.00 687.17 455.50 455.50
+# CHECK-NEXT: 160.00  -     658.17 310.67 361.00 683.17 455.50 455.50
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
@@ -2433,48 +2433,48 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outsw	(%rsi), %dx
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outsl	(%rsi), %dx
 # CHECK-NEXT:  -      -     1.00   1.00    -     2.00    -      -     pause
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rclb	%dil
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rcrb	%dil
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rclb	%dil
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rcrb	%dil
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclb	(%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrb	(%rax)
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rclb	$7, %dil
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrb	$7, %dil
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rclb	$7, %dil
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rcrb	$7, %dil
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclb	$7, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrb	$7, (%rax)
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rclb	%cl, %dil
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrb	%cl, %dil
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclb	%cl, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrb	%cl, (%rax)
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rclw	%di
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rcrw	%di
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rclw	%di
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rcrw	%di
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclw	(%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrw	(%rax)
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rclw	$7, %di
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrw	$7, %di
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rclw	$7, %di
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rcrw	$7, %di
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclw	$7, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrw	$7, (%rax)
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rclw	%cl, %di
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrw	%cl, %di
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclw	%cl, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrw	%cl, (%rax)
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rcll	%edi
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rcrl	%edi
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rcll	%edi
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rcrl	%edi
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcll	(%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrl	(%rax)
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcll	$7, %edi
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrl	$7, %edi
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rcll	$7, %edi
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rcrl	$7, %edi
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcll	$7, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrl	$7, (%rax)
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcll	%cl, %edi
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrl	%cl, %edi
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcll	%cl, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrl	%cl, (%rax)
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rclq	%rdi
-# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rcrq	%rdi
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rclq	%rdi
+# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     rcrq	%rdi
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclq	(%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrq	(%rax)
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rclq	$7, %rdi
-# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrq	$7, %rdi
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rclq	$7, %rdi
+# CHECK-NEXT:  -      -     2.67   1.67    -     3.67    -      -     rcrq	$7, %rdi
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclq	$7, (%rax)
 # CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrq	$7, (%rax)
 # CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rclq	%cl, %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 c0da94ba45a75..9dc08a736fc0c 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
@@ -1506,48 +1506,48 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.25                  U     outsw	(%rsi), %dx
 # CHECK-NEXT:  1      100   0.25                  U     outsl	(%rsi), %dx
 # CHECK-NEXT:  4      4     1.00    *      *      U     pause
-# CHECK-NEXT:  3      3     0.75                        rclb	%dil
-# CHECK-NEXT:  3      3     0.75                        rcrb	%dil
+# CHECK-NEXT:  3      2     0.75                        rclb	%dil
+# CHECK-NEXT:  3      2     0.75                        rcrb	%dil
 # CHECK-NEXT:  5      8     0.75           *            rclb	(%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrb	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rclb	$7, %dil
-# CHECK-NEXT:  3      3     0.75                        rcrb	$7, %dil
+# CHECK-NEXT:  8      6     2.00                        rclb	$7, %dil
+# CHECK-NEXT:  8      5     2.00                        rcrb	$7, %dil
 # CHECK-NEXT:  5      8     0.75           *            rclb	$7, (%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrb	$7, (%rax)
 # CHECK-NEXT:  9      11    2.50                        rclb	%cl, %dil
 # CHECK-NEXT:  10     14    2.50                        rcrb	%cl, %dil
 # CHECK-NEXT:  10     15    2.50           *            rclb	%cl, (%rax)
 # CHECK-NEXT:  11     18    2.25           *            rcrb	%cl, (%rax)
-# CHECK-NEXT:  3      3     0.75                        rclw	%di
-# CHECK-NEXT:  3      3     0.75                        rcrw	%di
+# CHECK-NEXT:  3      2     0.75                        rclw	%di
+# CHECK-NEXT:  3      2     0.75                        rcrw	%di
 # CHECK-NEXT:  5      8     0.75           *            rclw	(%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrw	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rclw	$7, %di
-# CHECK-NEXT:  3      3     0.75                        rcrw	$7, %di
+# CHECK-NEXT:  8      6     2.00                        rclw	$7, %di
+# CHECK-NEXT:  8      5     2.00                        rcrw	$7, %di
 # CHECK-NEXT:  5      8     0.75           *            rclw	$7, (%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrw	$7, (%rax)
 # CHECK-NEXT:  7      11    2.00                        rclw	%cl, %di
 # CHECK-NEXT:  7      11    2.00                        rcrw	%cl, %di
 # CHECK-NEXT:  10     15    2.50           *            rclw	%cl, (%rax)
 # CHECK-NEXT:  11     18    2.25           *            rcrw	%cl, (%rax)
-# CHECK-NEXT:  3      3     0.75                        rcll	%edi
-# CHECK-NEXT:  3      3     0.75                        rcrl	%edi
+# CHECK-NEXT:  3      2     0.75                        rcll	%edi
+# CHECK-NEXT:  3      2     0.75                        rcrl	%edi
 # CHECK-NEXT:  5      8     0.75           *            rcll	(%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrl	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rcll	$7, %edi
-# CHECK-NEXT:  3      3     0.75                        rcrl	$7, %edi
+# CHECK-NEXT:  8      6     2.00                        rcll	$7, %edi
+# CHECK-NEXT:  8      5     2.00                        rcrl	$7, %edi
 # CHECK-NEXT:  5      8     0.75           *            rcll	$7, (%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrl	$7, (%rax)
 # CHECK-NEXT:  7      11    2.00                        rcll	%cl, %edi
 # CHECK-NEXT:  7      11    2.00                        rcrl	%cl, %edi
 # CHECK-NEXT:  10     15    2.50           *            rcll	%cl, (%rax)
 # CHECK-NEXT:  11     18    2.25           *            rcrl	%cl, (%rax)
-# CHECK-NEXT:  3      3     0.75                        rclq	%rdi
-# CHECK-NEXT:  3      3     0.75                        rcrq	%rdi
+# CHECK-NEXT:  3      2     0.75                        rclq	%rdi
+# CHECK-NEXT:  3      2     0.75                        rcrq	%rdi
 # CHECK-NEXT:  5      8     0.75           *            rclq	(%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrq	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rclq	$7, %rdi
-# CHECK-NEXT:  3      3     0.75                        rcrq	$7, %rdi
+# CHECK-NEXT:  8      6     2.00                        rclq	$7, %rdi
+# CHECK-NEXT:  8      5     2.00                        rcrq	$7, %rdi
 # CHECK-NEXT:  5      8     0.75           *            rclq	$7, (%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrq	$7, (%rax)
 # CHECK-NEXT:  7      11    2.00                        rclq	%cl, %rdi
@@ -1955,7 +1955,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 60.00   -     662.75 359.75 378.50 378.50 345.00 327.25 723.25 129.00
+# CHECK-NEXT: 60.00   -     674.75 375.75 378.50 378.50 345.00 327.25 735.25 129.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -2439,8 +2439,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrb	%dil
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclb	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrb	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rclb	$7, %dil
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrb	$7, %dil
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rclb	$7, %dil
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcrb	$7, %dil
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclb	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrb	$7, (%rax)
 # CHECK-NEXT:  -      -     3.00   2.00    -      -      -     1.00   3.00    -     rclb	%cl, %dil
@@ -2451,8 +2451,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrw	%di
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclw	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrw	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rclw	$7, %di
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrw	$7, %di
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rclw	$7, %di
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcrw	$7, %di
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclw	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrw	$7, (%rax)
 # CHECK-NEXT:  -      -     2.00   2.50    -      -      -     0.50   2.00    -     rclw	%cl, %di
@@ -2463,8 +2463,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrl	%edi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcll	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrl	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcll	$7, %edi
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrl	$7, %edi
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcll	$7, %edi
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcrl	$7, %edi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcll	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrl	$7, (%rax)
 # CHECK-NEXT:  -      -     2.00   2.50    -      -      -     0.50   2.00    -     rcll	%cl, %edi
@@ -2475,8 +2475,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrq	%rdi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclq	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrq	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rclq	$7, %rdi
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrq	$7, %rdi
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rclq	$7, %rdi
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcrq	$7, %rdi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclq	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrq	$7, (%rax)
 # CHECK-NEXT:  -      -     2.00   2.50    -      -      -     0.50   2.00    -     rclq	%cl, %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 907d7ccdebf99..ce2a7c6b9cf2c 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
@@ -1506,48 +1506,48 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.25                  U     outsw	(%rsi), %dx
 # CHECK-NEXT:  1      100   0.25                  U     outsl	(%rsi), %dx
 # CHECK-NEXT:  4      140   1.00    *      *      U     pause
-# CHECK-NEXT:  3      3     0.75                        rclb	%dil
-# CHECK-NEXT:  3      3     0.75                        rcrb	%dil
+# CHECK-NEXT:  3      2     0.75                        rclb	%dil
+# CHECK-NEXT:  3      2     0.75                        rcrb	%dil
 # CHECK-NEXT:  5      8     0.75           *            rclb	(%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrb	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rclb	$7, %dil
-# CHECK-NEXT:  3      3     0.75                        rcrb	$7, %dil
+# CHECK-NEXT:  8      6     2.00                        rclb	$7, %dil
+# CHECK-NEXT:  8      5     2.00                        rcrb	$7, %dil
 # CHECK-NEXT:  5      8     0.75           *            rclb	$7, (%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrb	$7, (%rax)
 # CHECK-NEXT:  9      11    2.50                        rclb	%cl, %dil
 # CHECK-NEXT:  10     14    2.50                        rcrb	%cl, %dil
 # CHECK-NEXT:  10     15    2.50           *            rclb	%cl, (%rax)
 # CHECK-NEXT:  11     18    2.25           *            rcrb	%cl, (%rax)
-# CHECK-NEXT:  3      3     0.75                        rclw	%di
-# CHECK-NEXT:  3      3     0.75                        rcrw	%di
+# CHECK-NEXT:  3      2     0.75                        rclw	%di
+# CHECK-NEXT:  3      2     0.75                        rcrw	%di
 # CHECK-NEXT:  5      8     0.75           *            rclw	(%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrw	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rclw	$7, %di
-# CHECK-NEXT:  3      3     0.75                        rcrw	$7, %di
+# CHECK-NEXT:  8      6     2.00                        rclw	$7, %di
+# CHECK-NEXT:  8      5     2.00                        rcrw	$7, %di
 # CHECK-NEXT:  5      8     0.75           *            rclw	$7, (%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrw	$7, (%rax)
 # CHECK-NEXT:  7      11    2.00                        rclw	%cl, %di
 # CHECK-NEXT:  7      11    2.00                        rcrw	%cl, %di
 # CHECK-NEXT:  10     15    2.50           *            rclw	%cl, (%rax)
 # CHECK-NEXT:  11     18    2.25           *            rcrw	%cl, (%rax)
-# CHECK-NEXT:  3      3     0.75                        rcll	%edi
-# CHECK-NEXT:  3      3     0.75                        rcrl	%edi
+# CHECK-NEXT:  3      2     0.75                        rcll	%edi
+# CHECK-NEXT:  3      2     0.75                        rcrl	%edi
 # CHECK-NEXT:  5      8     0.75           *            rcll	(%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrl	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rcll	$7, %edi
-# CHECK-NEXT:  3      3     0.75                        rcrl	$7, %edi
+# CHECK-NEXT:  8      6     2.00                        rcll	$7, %edi
+# CHECK-NEXT:  8      5     2.00                        rcrl	$7, %edi
 # CHECK-NEXT:  5      8     0.75           *            rcll	$7, (%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrl	$7, (%rax)
 # CHECK-NEXT:  7      11    2.00                        rcll	%cl, %edi
 # CHECK-NEXT:  7      11    2.00                        rcrl	%cl, %edi
 # CHECK-NEXT:  10     15    2.50           *            rcll	%cl, (%rax)
 # CHECK-NEXT:  11     18    2.25           *            rcrl	%cl, (%rax)
-# CHECK-NEXT:  3      3     0.75                        rclq	%rdi
-# CHECK-NEXT:  3      3     0.75                        rcrq	%rdi
+# CHECK-NEXT:  3      2     0.75                        rclq	%rdi
+# CHECK-NEXT:  3      2     0.75                        rcrq	%rdi
 # CHECK-NEXT:  5      8     0.75           *            rclq	(%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrq	(%rax)
-# CHECK-NEXT:  3      3     0.75                        rclq	$7, %rdi
-# CHECK-NEXT:  3      3     0.75                        rcrq	$7, %rdi
+# CHECK-NEXT:  8      6     2.00                        rclq	$7, %rdi
+# CHECK-NEXT:  8      5     2.00                        rcrq	$7, %rdi
 # CHECK-NEXT:  5      8     0.75           *            rclq	$7, (%rax)
 # CHECK-NEXT:  5      8     0.75           *            rcrq	$7, (%rax)
 # CHECK-NEXT:  7      11    2.00                        rclq	%cl, %rdi
@@ -1955,7 +1955,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 60.00   -     663.00 360.00 378.50 378.50 345.00 327.50 723.50 129.00
+# CHECK-NEXT: 60.00   -     675.00 376.00 378.50 378.50 345.00 327.50 735.50 129.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -2439,8 +2439,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrb	%dil
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclb	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrb	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rclb	$7, %dil
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrb	$7, %dil
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rclb	$7, %dil
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcrb	$7, %dil
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclb	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrb	$7, (%rax)
 # CHECK-NEXT:  -      -     3.00   2.00    -      -      -     1.00   3.00    -     rclb	%cl, %dil
@@ -2451,8 +2451,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrw	%di
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclw	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrw	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rclw	$7, %di
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrw	$7, %di
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rclw	$7, %di
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcrw	$7, %di
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclw	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrw	$7, (%rax)
 # CHECK-NEXT:  -      -     2.00   2.50    -      -      -     0.50   2.00    -     rclw	%cl, %di
@@ -2463,8 +2463,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrl	%edi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcll	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrl	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcll	$7, %edi
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrl	$7, %edi
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcll	$7, %edi
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcrl	$7, %edi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcll	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrl	$7, (%rax)
 # CHECK-NEXT:  -      -     2.00   2.50    -      -      -     0.50   2.00    -     rcll	%cl, %edi
@@ -2475,8 +2475,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrq	%rdi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclq	(%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrq	(%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rclq	$7, %rdi
-# CHECK-NEXT:  -      -     1.00   0.50    -      -      -     0.50   1.00    -     rcrq	$7, %rdi
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rclq	$7, %rdi
+# CHECK-NEXT:  -      -     2.50   2.50    -      -      -     0.50   2.50    -     rcrq	$7, %rdi
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rclq	$7, (%rax)
 # CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83    -     0.50   1.00   0.33   rcrq	$7, (%rax)
 # CHECK-NEXT:  -      -     2.00   2.50    -      -      -     0.50   2.00    -     rclq	%cl, %rdi


        


More information about the llvm-commits mailing list