[llvm] r342842 - [X86] Added missing RCL/RCR schedule overrides to the generic SNB model

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 23 10:40:24 PDT 2018


Author: rksimon
Date: Sun Sep 23 10:40:24 2018
New Revision: 342842

URL: http://llvm.org/viewvc/llvm-project?rev=342842&view=rev
Log:
[X86] Added missing RCL/RCR schedule overrides to the generic SNB model

The SandyBridge model was missing schedule values for the RCL/RCR values - instead using the (incredibly optimistic) WriteShift (now WriteRotate) defaults.

I've added overrides with more realistic (slow) values, based on a mixture of Agner/instlatx64 numbers and what later Intel models do as well.

This is necessary to allow WriteRotate to be updated to remove other rotate overrides.

It'd probably be a good idea to investigate a WriteRotateCarry class at some point but its not high priority given the unusualness of these instructions.

Modified:
    llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td
    llvm/trunk/test/CodeGen/X86/schedule-x86_64.ll
    llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
    llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s

Modified: llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td?rev=342842&r1=342841&r2=342842&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td Sun Sep 23 10:40:24 2018
@@ -655,6 +655,14 @@ def SBWriteResGroup22 : SchedWriteRes<[S
 }
 def: InstRW<[SBWriteResGroup22], (instregex "(V?)EXTRACTPSrr")>;
 
+def SBWriteResGroup23 : SchedWriteRes<[SBPort05]> {
+  let Latency = 2;
+  let NumMicroOps = 3;
+  let ResourceCycles = [3];
+}
+def: InstRW<[SBWriteResGroup23], (instregex "RCL(8|16|32|64)r1",
+                                            "RCR(8|16|32|64)r1")>;
+
 def SBWriteResGroup23_2 : SchedWriteRes<[SBPort05]> {
   let Latency = 3;
   let NumMicroOps = 3;
@@ -729,6 +737,14 @@ def SBWriteResGroup31 : SchedWriteRes<[S
 def: InstRW<[SBWriteResGroup31], (instregex "MOVSX(16|32|64)rm(8|16|32)",
                                             "MOVZX(16|32|64)rm(8|16)")>;
 
+def SBWriteResGroup76 : SchedWriteRes<[SBPort05]> {
+  let Latency = 5;
+  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 SBWriteResGroup33 : SchedWriteRes<[SBPort4,SBPort23]> {
   let Latency = 5;
   let NumMicroOps = 2;
@@ -1102,6 +1118,14 @@ def SBWriteResGroup106 : SchedWriteRes<[
 }
 def: InstRW<[SBWriteResGroup106], (instregex "FICOM(P?)(16|32)m")>;
 
+def SBWriteResGroup108 : SchedWriteRes<[SBPort05,SBPort23]> {
+  let Latency = 11;
+  let NumMicroOps = 11;
+  let ResourceCycles = [7,4];
+}
+def: InstRW<[SBWriteResGroup108], (instregex "RCL(8|16|32|64)m",
+                                             "RCR(8|16|32|64)m")>;
+
 def SBWriteResGroup111 : SchedWriteRes<[SBPort0,SBPort23]> {
   let Latency = 12;
   let NumMicroOps = 2;

Modified: llvm/trunk/test/CodeGen/X86/schedule-x86_64.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/schedule-x86_64.ll?rev=342842&r1=342841&r2=342842&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/schedule-x86_64.ll (original)
+++ llvm/trunk/test/CodeGen/X86/schedule-x86_64.ll Sun Sep 23 10:40:24 2018
@@ -9972,18 +9972,18 @@ define void @test_rcl_rcr_8(i8 %a0, i8 %
 ; GENERIC-LABEL: test_rcl_rcr_8:
 ; GENERIC:       # %bb.0:
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    rclb %dil # sched: [1:0.50]
-; GENERIC-NEXT:    rcrb %dil # sched: [1:0.50]
-; GENERIC-NEXT:    rclb (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rcrb (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rclb $7, %dil # sched: [1:0.50]
-; GENERIC-NEXT:    rcrb $7, %dil # sched: [1:0.50]
-; GENERIC-NEXT:    rclb $7, (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rcrb $7, (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rclb %cl, %dil # sched: [1:0.50]
-; GENERIC-NEXT:    rcrb %cl, %dil # sched: [1:0.50]
-; GENERIC-NEXT:    rclb %cl, (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rcrb %cl, (%rdx) # sched: [6:1.00]
+; GENERIC-NEXT:    rclb %dil # sched: [2:1.50]
+; GENERIC-NEXT:    rcrb %dil # sched: [2:1.50]
+; GENERIC-NEXT:    rclb (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rcrb (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rclb $7, %dil # sched: [5:4.00]
+; GENERIC-NEXT:    rcrb $7, %dil # sched: [5:4.00]
+; GENERIC-NEXT:    rclb $7, (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rcrb $7, (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rclb %cl, %dil # sched: [5:4.00]
+; GENERIC-NEXT:    rcrb %cl, %dil # sched: [5:4.00]
+; GENERIC-NEXT:    rclb %cl, (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rcrb %cl, (%rdx) # sched: [11:3.50]
 ; GENERIC-NEXT:    #NO_APP
 ; GENERIC-NEXT:    retq # sched: [1:1.00]
 ;
@@ -10026,18 +10026,18 @@ define void @test_rcl_rcr_8(i8 %a0, i8 %
 ; SANDY-LABEL: test_rcl_rcr_8:
 ; SANDY:       # %bb.0:
 ; SANDY-NEXT:    #APP
-; SANDY-NEXT:    rclb %dil # sched: [1:0.50]
-; SANDY-NEXT:    rcrb %dil # sched: [1:0.50]
-; SANDY-NEXT:    rclb (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rcrb (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rclb $7, %dil # sched: [1:0.50]
-; SANDY-NEXT:    rcrb $7, %dil # sched: [1:0.50]
-; SANDY-NEXT:    rclb $7, (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rcrb $7, (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rclb %cl, %dil # sched: [1:0.50]
-; SANDY-NEXT:    rcrb %cl, %dil # sched: [1:0.50]
-; SANDY-NEXT:    rclb %cl, (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rcrb %cl, (%rdx) # sched: [6:1.00]
+; SANDY-NEXT:    rclb %dil # sched: [2:1.50]
+; SANDY-NEXT:    rcrb %dil # sched: [2:1.50]
+; SANDY-NEXT:    rclb (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rcrb (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rclb $7, %dil # sched: [5:4.00]
+; SANDY-NEXT:    rcrb $7, %dil # sched: [5:4.00]
+; SANDY-NEXT:    rclb $7, (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rcrb $7, (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rclb %cl, %dil # sched: [5:4.00]
+; SANDY-NEXT:    rcrb %cl, %dil # sched: [5:4.00]
+; SANDY-NEXT:    rclb %cl, (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rcrb %cl, (%rdx) # sched: [11:3.50]
 ; SANDY-NEXT:    #NO_APP
 ; SANDY-NEXT:    retq # sched: [1:1.00]
 ;
@@ -10155,18 +10155,18 @@ define void @test_rcl_rcr_16(i16 %a0, i1
 ; GENERIC-LABEL: test_rcl_rcr_16:
 ; GENERIC:       # %bb.0:
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    rclw %di # sched: [1:0.50]
-; GENERIC-NEXT:    rcrw %di # sched: [1:0.50]
-; GENERIC-NEXT:    rclw (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rcrw (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rclw $7, %di # sched: [1:0.50]
-; GENERIC-NEXT:    rcrw $7, %di # sched: [1:0.50]
-; GENERIC-NEXT:    rclw $7, (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rcrw $7, (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rclw %cl, %di # sched: [1:0.50]
-; GENERIC-NEXT:    rcrw %cl, %di # sched: [1:0.50]
-; GENERIC-NEXT:    rclw %cl, (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rcrw %cl, (%rdx) # sched: [6:1.00]
+; GENERIC-NEXT:    rclw %di # sched: [2:1.50]
+; GENERIC-NEXT:    rcrw %di # sched: [2:1.50]
+; GENERIC-NEXT:    rclw (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rcrw (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rclw $7, %di # sched: [5:4.00]
+; GENERIC-NEXT:    rcrw $7, %di # sched: [5:4.00]
+; GENERIC-NEXT:    rclw $7, (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rcrw $7, (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rclw %cl, %di # sched: [5:4.00]
+; GENERIC-NEXT:    rcrw %cl, %di # sched: [5:4.00]
+; GENERIC-NEXT:    rclw %cl, (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rcrw %cl, (%rdx) # sched: [11:3.50]
 ; GENERIC-NEXT:    #NO_APP
 ; GENERIC-NEXT:    retq # sched: [1:1.00]
 ;
@@ -10209,18 +10209,18 @@ define void @test_rcl_rcr_16(i16 %a0, i1
 ; SANDY-LABEL: test_rcl_rcr_16:
 ; SANDY:       # %bb.0:
 ; SANDY-NEXT:    #APP
-; SANDY-NEXT:    rclw %di # sched: [1:0.50]
-; SANDY-NEXT:    rcrw %di # sched: [1:0.50]
-; SANDY-NEXT:    rclw (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rcrw (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rclw $7, %di # sched: [1:0.50]
-; SANDY-NEXT:    rcrw $7, %di # sched: [1:0.50]
-; SANDY-NEXT:    rclw $7, (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rcrw $7, (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rclw %cl, %di # sched: [1:0.50]
-; SANDY-NEXT:    rcrw %cl, %di # sched: [1:0.50]
-; SANDY-NEXT:    rclw %cl, (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rcrw %cl, (%rdx) # sched: [6:1.00]
+; SANDY-NEXT:    rclw %di # sched: [2:1.50]
+; SANDY-NEXT:    rcrw %di # sched: [2:1.50]
+; SANDY-NEXT:    rclw (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rcrw (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rclw $7, %di # sched: [5:4.00]
+; SANDY-NEXT:    rcrw $7, %di # sched: [5:4.00]
+; SANDY-NEXT:    rclw $7, (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rcrw $7, (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rclw %cl, %di # sched: [5:4.00]
+; SANDY-NEXT:    rcrw %cl, %di # sched: [5:4.00]
+; SANDY-NEXT:    rclw %cl, (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rcrw %cl, (%rdx) # sched: [11:3.50]
 ; SANDY-NEXT:    #NO_APP
 ; SANDY-NEXT:    retq # sched: [1:1.00]
 ;
@@ -10338,18 +10338,18 @@ define void @test_rcl_rcr_32(i32 %a0, i3
 ; GENERIC-LABEL: test_rcl_rcr_32:
 ; GENERIC:       # %bb.0:
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    rcll %edi # sched: [1:0.50]
-; GENERIC-NEXT:    rcrl %edi # sched: [1:0.50]
-; GENERIC-NEXT:    rcll (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rcrl (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rcll $7, %edi # sched: [1:0.50]
-; GENERIC-NEXT:    rcrl $7, %edi # sched: [1:0.50]
-; GENERIC-NEXT:    rcll $7, (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rcrl $7, (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rcll %cl, %edi # sched: [1:0.50]
-; GENERIC-NEXT:    rcrl %cl, %edi # sched: [1:0.50]
-; GENERIC-NEXT:    rcll %cl, (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rcrl %cl, (%rdx) # sched: [6:1.00]
+; GENERIC-NEXT:    rcll %edi # sched: [2:1.50]
+; GENERIC-NEXT:    rcrl %edi # sched: [2:1.50]
+; GENERIC-NEXT:    rcll (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rcrl (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rcll $7, %edi # sched: [5:4.00]
+; GENERIC-NEXT:    rcrl $7, %edi # sched: [5:4.00]
+; GENERIC-NEXT:    rcll $7, (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rcrl $7, (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rcll %cl, %edi # sched: [5:4.00]
+; GENERIC-NEXT:    rcrl %cl, %edi # sched: [5:4.00]
+; GENERIC-NEXT:    rcll %cl, (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rcrl %cl, (%rdx) # sched: [11:3.50]
 ; GENERIC-NEXT:    #NO_APP
 ; GENERIC-NEXT:    retq # sched: [1:1.00]
 ;
@@ -10392,18 +10392,18 @@ define void @test_rcl_rcr_32(i32 %a0, i3
 ; SANDY-LABEL: test_rcl_rcr_32:
 ; SANDY:       # %bb.0:
 ; SANDY-NEXT:    #APP
-; SANDY-NEXT:    rcll %edi # sched: [1:0.50]
-; SANDY-NEXT:    rcrl %edi # sched: [1:0.50]
-; SANDY-NEXT:    rcll (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rcrl (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rcll $7, %edi # sched: [1:0.50]
-; SANDY-NEXT:    rcrl $7, %edi # sched: [1:0.50]
-; SANDY-NEXT:    rcll $7, (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rcrl $7, (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rcll %cl, %edi # sched: [1:0.50]
-; SANDY-NEXT:    rcrl %cl, %edi # sched: [1:0.50]
-; SANDY-NEXT:    rcll %cl, (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rcrl %cl, (%rdx) # sched: [6:1.00]
+; SANDY-NEXT:    rcll %edi # sched: [2:1.50]
+; SANDY-NEXT:    rcrl %edi # sched: [2:1.50]
+; SANDY-NEXT:    rcll (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rcrl (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rcll $7, %edi # sched: [5:4.00]
+; SANDY-NEXT:    rcrl $7, %edi # sched: [5:4.00]
+; SANDY-NEXT:    rcll $7, (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rcrl $7, (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rcll %cl, %edi # sched: [5:4.00]
+; SANDY-NEXT:    rcrl %cl, %edi # sched: [5:4.00]
+; SANDY-NEXT:    rcll %cl, (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rcrl %cl, (%rdx) # sched: [11:3.50]
 ; SANDY-NEXT:    #NO_APP
 ; SANDY-NEXT:    retq # sched: [1:1.00]
 ;
@@ -10521,18 +10521,18 @@ define void @test_rcl_rcr_64(i64 %a0, i6
 ; GENERIC-LABEL: test_rcl_rcr_64:
 ; GENERIC:       # %bb.0:
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    rclq %rdi # sched: [1:0.50]
-; GENERIC-NEXT:    rcrq %rdi # sched: [1:0.50]
-; GENERIC-NEXT:    rclq (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rcrq (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rclq $7, %rdi # sched: [1:0.50]
-; GENERIC-NEXT:    rcrq $7, %rdi # sched: [1:0.50]
-; GENERIC-NEXT:    rclq $7, (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rcrq $7, (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rclq %cl, %rdi # sched: [1:0.50]
-; GENERIC-NEXT:    rcrq %cl, %rdi # sched: [1:0.50]
-; GENERIC-NEXT:    rclq %cl, (%rdx) # sched: [6:1.00]
-; GENERIC-NEXT:    rcrq %cl, (%rdx) # sched: [6:1.00]
+; GENERIC-NEXT:    rclq %rdi # sched: [2:1.50]
+; GENERIC-NEXT:    rcrq %rdi # sched: [2:1.50]
+; GENERIC-NEXT:    rclq (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rcrq (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rclq $7, %rdi # sched: [5:4.00]
+; GENERIC-NEXT:    rcrq $7, %rdi # sched: [5:4.00]
+; GENERIC-NEXT:    rclq $7, (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rcrq $7, (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rclq %cl, %rdi # sched: [5:4.00]
+; GENERIC-NEXT:    rcrq %cl, %rdi # sched: [5:4.00]
+; GENERIC-NEXT:    rclq %cl, (%rdx) # sched: [11:3.50]
+; GENERIC-NEXT:    rcrq %cl, (%rdx) # sched: [11:3.50]
 ; GENERIC-NEXT:    #NO_APP
 ; GENERIC-NEXT:    retq # sched: [1:1.00]
 ;
@@ -10575,18 +10575,18 @@ define void @test_rcl_rcr_64(i64 %a0, i6
 ; SANDY-LABEL: test_rcl_rcr_64:
 ; SANDY:       # %bb.0:
 ; SANDY-NEXT:    #APP
-; SANDY-NEXT:    rclq %rdi # sched: [1:0.50]
-; SANDY-NEXT:    rcrq %rdi # sched: [1:0.50]
-; SANDY-NEXT:    rclq (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rcrq (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rclq $7, %rdi # sched: [1:0.50]
-; SANDY-NEXT:    rcrq $7, %rdi # sched: [1:0.50]
-; SANDY-NEXT:    rclq $7, (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rcrq $7, (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rclq %cl, %rdi # sched: [1:0.50]
-; SANDY-NEXT:    rcrq %cl, %rdi # sched: [1:0.50]
-; SANDY-NEXT:    rclq %cl, (%rdx) # sched: [6:1.00]
-; SANDY-NEXT:    rcrq %cl, (%rdx) # sched: [6:1.00]
+; SANDY-NEXT:    rclq %rdi # sched: [2:1.50]
+; SANDY-NEXT:    rcrq %rdi # sched: [2:1.50]
+; SANDY-NEXT:    rclq (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rcrq (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rclq $7, %rdi # sched: [5:4.00]
+; SANDY-NEXT:    rcrq $7, %rdi # sched: [5:4.00]
+; SANDY-NEXT:    rclq $7, (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rcrq $7, (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rclq %cl, %rdi # sched: [5:4.00]
+; SANDY-NEXT:    rcrq %cl, %rdi # sched: [5:4.00]
+; SANDY-NEXT:    rclq %cl, (%rdx) # sched: [11:3.50]
+; SANDY-NEXT:    rcrq %cl, (%rdx) # sched: [11:3.50]
 ; SANDY-NEXT:    #NO_APP
 ; SANDY-NEXT:    retq # sched: [1:1.00]
 ;

Modified: llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s?rev=342842&r1=342841&r2=342842&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s Sun Sep 23 10:40:24 2018
@@ -1235,54 +1235,54 @@ 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:  1      1     0.50                        rclb	%dil
-# CHECK-NEXT:  1      1     0.50                        rcrb	%dil
-# CHECK-NEXT:  3      6     1.00           *            rclb	(%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrb	(%rax)
-# CHECK-NEXT:  1      1     0.50                        rclb	$7, %dil
-# CHECK-NEXT:  1      1     0.50                        rcrb	$7, %dil
-# CHECK-NEXT:  3      6     1.00           *            rclb	$7, (%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrb	$7, (%rax)
-# CHECK-NEXT:  1      1     0.50                        rclb	%cl, %dil
-# CHECK-NEXT:  1      1     0.50                        rcrb	%cl, %dil
-# CHECK-NEXT:  3      6     1.00           *            rclb	%cl, (%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrb	%cl, (%rax)
-# CHECK-NEXT:  1      1     0.50                        rclw	%di
-# CHECK-NEXT:  1      1     0.50                        rcrw	%di
-# CHECK-NEXT:  3      6     1.00           *            rclw	(%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrw	(%rax)
-# CHECK-NEXT:  1      1     0.50                        rclw	$7, %di
-# CHECK-NEXT:  1      1     0.50                        rcrw	$7, %di
-# CHECK-NEXT:  3      6     1.00           *            rclw	$7, (%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrw	$7, (%rax)
-# CHECK-NEXT:  1      1     0.50                        rclw	%cl, %di
-# CHECK-NEXT:  1      1     0.50                        rcrw	%cl, %di
-# CHECK-NEXT:  3      6     1.00           *            rclw	%cl, (%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrw	%cl, (%rax)
-# CHECK-NEXT:  1      1     0.50                        rcll	%edi
-# CHECK-NEXT:  1      1     0.50                        rcrl	%edi
-# CHECK-NEXT:  3      6     1.00           *            rcll	(%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrl	(%rax)
-# CHECK-NEXT:  1      1     0.50                        rcll	$7, %edi
-# CHECK-NEXT:  1      1     0.50                        rcrl	$7, %edi
-# CHECK-NEXT:  3      6     1.00           *            rcll	$7, (%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrl	$7, (%rax)
-# CHECK-NEXT:  1      1     0.50                        rcll	%cl, %edi
-# CHECK-NEXT:  1      1     0.50                        rcrl	%cl, %edi
-# CHECK-NEXT:  3      6     1.00           *            rcll	%cl, (%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrl	%cl, (%rax)
-# CHECK-NEXT:  1      1     0.50                        rclq	%rdi
-# CHECK-NEXT:  1      1     0.50                        rcrq	%rdi
-# CHECK-NEXT:  3      6     1.00           *            rclq	(%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrq	(%rax)
-# CHECK-NEXT:  1      1     0.50                        rclq	$7, %rdi
-# CHECK-NEXT:  1      1     0.50                        rcrq	$7, %rdi
-# CHECK-NEXT:  3      6     1.00           *            rclq	$7, (%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrq	$7, (%rax)
-# CHECK-NEXT:  1      1     0.50                        rclq	%cl, %rdi
-# CHECK-NEXT:  1      1     0.50                        rcrq	%cl, %rdi
-# CHECK-NEXT:  3      6     1.00           *            rclq	%cl, (%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrq	%cl, (%rax)
+# CHECK-NEXT:  3      2     1.50                        rclb	%dil
+# CHECK-NEXT:  3      2     1.50                        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:  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:  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:  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:  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:  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:  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:  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
+# CHECK-NEXT:  8      5     4.00                        rcrq	%cl, %rdi
+# CHECK-NEXT:  11     11    3.50           *            rclq	%cl, (%rax)
+# CHECK-NEXT:  11     11    3.50           *            rcrq	%cl, (%rax)
 # CHECK-NEXT:  2      2     1.00                        rolb	%dil
 # CHECK-NEXT:  2      2     1.00                        rorb	%dil
 # CHECK-NEXT:  5      8     1.00    *      *            rolb	(%rax)
@@ -1620,7 +1620,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  -     435.83 221.33 246.00 435.83 292.00 292.00
+# CHECK-NEXT: 160.00  -     571.83 221.33 222.00 571.83 316.00 316.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
@@ -1998,54 +1998,54 @@ 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:  -      -     0.50    -      -     0.50    -      -     rclb	%dil
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrb	%dil
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rclb	(%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrb	(%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rclb	$7, %dil
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrb	$7, %dil
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rclb	$7, (%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrb	$7, (%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rclb	%cl, %dil
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrb	%cl, %dil
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rclb	%cl, (%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrb	%cl, (%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rclw	%di
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrw	%di
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rclw	(%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrw	(%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rclw	$7, %di
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrw	$7, %di
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rclw	$7, (%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrw	$7, (%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rclw	%cl, %di
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrw	%cl, %di
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rclw	%cl, (%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrw	%cl, (%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcll	%edi
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrl	%edi
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcll	(%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrl	(%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcll	$7, %edi
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrl	$7, %edi
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcll	$7, (%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrl	$7, (%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcll	%cl, %edi
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrl	%cl, %edi
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcll	%cl, (%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrl	%cl, (%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rclq	%rdi
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrq	%rdi
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rclq	(%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrq	(%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rclq	$7, %rdi
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrq	$7, %rdi
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rclq	$7, (%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrq	$7, (%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rclq	%cl, %rdi
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrq	%cl, %rdi
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rclq	%cl, (%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrq	%cl, (%rax)
+# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rclb	%dil
+# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     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:  -      -     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:  -      -     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:  -      -     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:  -      -     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:  -      -     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:  -      -     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:  -      -     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
+# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrq	%cl, %rdi
+# CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclq	%cl, (%rax)
+# CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrq	%cl, (%rax)
 # CHECK-NEXT:  -      -     1.00    -      -     1.00    -      -     rolb	%dil
 # CHECK-NEXT:  -      -     1.00    -      -     1.00    -      -     rorb	%dil
 # CHECK-NEXT:  -      -     1.00    -     1.00   1.00   1.00   1.00   rolb	(%rax)

Modified: llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s?rev=342842&r1=342841&r2=342842&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s Sun Sep 23 10:40:24 2018
@@ -1237,54 +1237,54 @@ 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:  1      1     0.50                        rclb	%dil
-# CHECK-NEXT:  1      1     0.50                        rcrb	%dil
-# CHECK-NEXT:  3      6     1.00           *            rclb	(%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrb	(%rax)
-# CHECK-NEXT:  1      1     0.50                        rclb	$7, %dil
-# CHECK-NEXT:  1      1     0.50                        rcrb	$7, %dil
-# CHECK-NEXT:  3      6     1.00           *            rclb	$7, (%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrb	$7, (%rax)
-# CHECK-NEXT:  1      1     0.50                        rclb	%cl, %dil
-# CHECK-NEXT:  1      1     0.50                        rcrb	%cl, %dil
-# CHECK-NEXT:  3      6     1.00           *            rclb	%cl, (%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrb	%cl, (%rax)
-# CHECK-NEXT:  1      1     0.50                        rclw	%di
-# CHECK-NEXT:  1      1     0.50                        rcrw	%di
-# CHECK-NEXT:  3      6     1.00           *            rclw	(%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrw	(%rax)
-# CHECK-NEXT:  1      1     0.50                        rclw	$7, %di
-# CHECK-NEXT:  1      1     0.50                        rcrw	$7, %di
-# CHECK-NEXT:  3      6     1.00           *            rclw	$7, (%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrw	$7, (%rax)
-# CHECK-NEXT:  1      1     0.50                        rclw	%cl, %di
-# CHECK-NEXT:  1      1     0.50                        rcrw	%cl, %di
-# CHECK-NEXT:  3      6     1.00           *            rclw	%cl, (%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrw	%cl, (%rax)
-# CHECK-NEXT:  1      1     0.50                        rcll	%edi
-# CHECK-NEXT:  1      1     0.50                        rcrl	%edi
-# CHECK-NEXT:  3      6     1.00           *            rcll	(%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrl	(%rax)
-# CHECK-NEXT:  1      1     0.50                        rcll	$7, %edi
-# CHECK-NEXT:  1      1     0.50                        rcrl	$7, %edi
-# CHECK-NEXT:  3      6     1.00           *            rcll	$7, (%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrl	$7, (%rax)
-# CHECK-NEXT:  1      1     0.50                        rcll	%cl, %edi
-# CHECK-NEXT:  1      1     0.50                        rcrl	%cl, %edi
-# CHECK-NEXT:  3      6     1.00           *            rcll	%cl, (%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrl	%cl, (%rax)
-# CHECK-NEXT:  1      1     0.50                        rclq	%rdi
-# CHECK-NEXT:  1      1     0.50                        rcrq	%rdi
-# CHECK-NEXT:  3      6     1.00           *            rclq	(%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrq	(%rax)
-# CHECK-NEXT:  1      1     0.50                        rclq	$7, %rdi
-# CHECK-NEXT:  1      1     0.50                        rcrq	$7, %rdi
-# CHECK-NEXT:  3      6     1.00           *            rclq	$7, (%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrq	$7, (%rax)
-# CHECK-NEXT:  1      1     0.50                        rclq	%cl, %rdi
-# CHECK-NEXT:  1      1     0.50                        rcrq	%cl, %rdi
-# CHECK-NEXT:  3      6     1.00           *            rclq	%cl, (%rax)
-# CHECK-NEXT:  3      6     1.00           *            rcrq	%cl, (%rax)
+# CHECK-NEXT:  3      2     1.50                        rclb	%dil
+# CHECK-NEXT:  3      2     1.50                        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:  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:  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:  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:  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:  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:  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:  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
+# CHECK-NEXT:  8      5     4.00                        rcrq	%cl, %rdi
+# CHECK-NEXT:  11     11    3.50           *            rclq	%cl, (%rax)
+# CHECK-NEXT:  11     11    3.50           *            rcrq	%cl, (%rax)
 # CHECK-NEXT:  2      2     1.00                        rolb	%dil
 # CHECK-NEXT:  2      2     1.00                        rorb	%dil
 # CHECK-NEXT:  5      8     1.00    *      *            rolb	(%rax)
@@ -1622,7 +1622,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  -     435.83 221.33 246.00 435.83 292.00 292.00
+# CHECK-NEXT: 160.00  -     571.83 221.33 222.00 571.83 316.00 316.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
@@ -2000,54 +2000,54 @@ 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:  -      -     0.50    -      -     0.50    -      -     rclb	%dil
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrb	%dil
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rclb	(%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrb	(%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rclb	$7, %dil
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrb	$7, %dil
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rclb	$7, (%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrb	$7, (%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rclb	%cl, %dil
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrb	%cl, %dil
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rclb	%cl, (%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrb	%cl, (%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rclw	%di
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrw	%di
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rclw	(%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrw	(%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rclw	$7, %di
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrw	$7, %di
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rclw	$7, (%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrw	$7, (%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rclw	%cl, %di
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrw	%cl, %di
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rclw	%cl, (%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrw	%cl, (%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcll	%edi
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrl	%edi
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcll	(%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrl	(%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcll	$7, %edi
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrl	$7, %edi
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcll	$7, (%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrl	$7, (%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcll	%cl, %edi
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrl	%cl, %edi
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcll	%cl, (%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrl	%cl, (%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rclq	%rdi
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrq	%rdi
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rclq	(%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrq	(%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rclq	$7, %rdi
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrq	$7, %rdi
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rclq	$7, (%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrq	$7, (%rax)
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rclq	%cl, %rdi
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     rcrq	%cl, %rdi
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rclq	%cl, (%rax)
-# CHECK-NEXT:  -      -     0.50    -     1.00   0.50   1.00   1.00   rcrq	%cl, (%rax)
+# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     rclb	%dil
+# CHECK-NEXT:  -      -     1.50    -      -     1.50    -      -     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:  -      -     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:  -      -     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:  -      -     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:  -      -     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:  -      -     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:  -      -     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:  -      -     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
+# CHECK-NEXT:  -      -     4.00    -      -     4.00    -      -     rcrq	%cl, %rdi
+# CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rclq	%cl, (%rax)
+# CHECK-NEXT:  -      -     3.50    -      -     3.50   2.00   2.00   rcrq	%cl, (%rax)
 # CHECK-NEXT:  -      -     1.00    -      -     1.00    -      -     rolb	%dil
 # CHECK-NEXT:  -      -     1.00    -      -     1.00    -      -     rorb	%dil
 # CHECK-NEXT:  -      -     1.00    -     1.00   1.00   1.00   1.00   rolb	(%rax)




More information about the llvm-commits mailing list