1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00

[X86][SandyBridge] Add (V)DPPS memory fold latencies

Noticed this during D44654

llvm-svn: 329389
This commit is contained in:
Simon Pilgrim 2018-04-06 11:25:21 +00:00
parent 5eff8414e5
commit 0bed948de8
3 changed files with 19 additions and 5 deletions

View File

@ -1954,6 +1954,20 @@ def SBWriteResGroup120 : SchedWriteRes<[SBPort0,SBPort1,SBPort5,SBPort23]> {
}
def: InstRW<[SBWriteResGroup120], (instregex "(V?)DPPDrmi")>;
def SBWriteResGroup121 : SchedWriteRes<[SBPort0,SBPort1,SBPort5,SBPort23]> {
let Latency = 18;
let NumMicroOps = 5;
let ResourceCycles = [1,2,1,1];
}
def: InstRW<[SBWriteResGroup121], (instregex "(V?)DPPSrmi")>;
def SBWriteResGroup122 : SchedWriteRes<[SBPort0,SBPort1,SBPort5,SBPort23]> {
let Latency = 19;
let NumMicroOps = 5;
let ResourceCycles = [1,2,1,1];
}
def: InstRW<[SBWriteResGroup122], (instregex "VDPPSYrmi")>;
def SBWriteResGroup123 : SchedWriteRes<[SBPort0,SBPort23,SBFPDivider]> {
let Latency = 20;
let NumMicroOps = 2;

View File

@ -1607,13 +1607,13 @@ define <8 x float> @test_dpps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2
; GENERIC-LABEL: test_dpps:
; GENERIC: # %bb.0:
; GENERIC-NEXT: vdpps $7, %ymm1, %ymm0, %ymm0 # sched: [12:2.00]
; GENERIC-NEXT: vdpps $7, (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
; GENERIC-NEXT: vdpps $7, (%rdi), %ymm0, %ymm0 # sched: [19:2.00]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
; SANDY-LABEL: test_dpps:
; SANDY: # %bb.0:
; SANDY-NEXT: vdpps $7, %ymm1, %ymm0, %ymm0 # sched: [12:2.00]
; SANDY-NEXT: vdpps $7, (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
; SANDY-NEXT: vdpps $7, (%rdi), %ymm0, %ymm0 # sched: [19:2.00]
; SANDY-NEXT: retq # sched: [1:1.00]
;
; HASWELL-LABEL: test_dpps:

View File

@ -623,7 +623,7 @@ define <4 x float> @test_dpps(<4 x float> %a0, <4 x float> %a1, <4 x float> *%a2
; GENERIC-LABEL: test_dpps:
; GENERIC: # %bb.0:
; GENERIC-NEXT: dpps $7, %xmm1, %xmm0 # sched: [12:2.00]
; GENERIC-NEXT: dpps $7, (%rdi), %xmm0 # sched: [8:1.00]
; GENERIC-NEXT: dpps $7, (%rdi), %xmm0 # sched: [18:2.00]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
; SLM-LABEL: test_dpps:
@ -635,13 +635,13 @@ define <4 x float> @test_dpps(<4 x float> %a0, <4 x float> %a1, <4 x float> *%a2
; SANDY-SSE-LABEL: test_dpps:
; SANDY-SSE: # %bb.0:
; SANDY-SSE-NEXT: dpps $7, %xmm1, %xmm0 # sched: [12:2.00]
; SANDY-SSE-NEXT: dpps $7, (%rdi), %xmm0 # sched: [8:1.00]
; SANDY-SSE-NEXT: dpps $7, (%rdi), %xmm0 # sched: [18:2.00]
; SANDY-SSE-NEXT: retq # sched: [1:1.00]
;
; SANDY-LABEL: test_dpps:
; SANDY: # %bb.0:
; SANDY-NEXT: vdpps $7, %xmm1, %xmm0, %xmm0 # sched: [12:2.00]
; SANDY-NEXT: vdpps $7, (%rdi), %xmm0, %xmm0 # sched: [8:1.00]
; SANDY-NEXT: vdpps $7, (%rdi), %xmm0, %xmm0 # sched: [18:2.00]
; SANDY-NEXT: retq # sched: [1:1.00]
;
; HASWELL-SSE-LABEL: test_dpps: