[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