1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-02-01 05:01:59 +01:00

[ExynosM3] Fix scheduling info.

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

llvm-svn: 332713
This commit is contained in:
Clement Courbet 2018-05-18 13:10:41 +00:00
parent 2c4eac25a1
commit b982f02652

View File

@ -301,22 +301,22 @@ def M3WriteNEONH : SchedWriteRes<[M3UnitNALU,
def M3WriteNEONI : SchedWriteRes<[M3UnitNSHF,
M3UnitS]> { let Latency = 5;
let NumMicroOps = 2; }
def M3WriteNEONV : SchedWriteRes<[M3UnitFDIV,
M3UnitFDIV]> { let Latency = 7;
let NumMicroOps = 1;
let ResourceCycles = [8]; }
def M3WriteNEONW : SchedWriteRes<[M3UnitFDIV,
M3UnitFDIV]> { let Latency = 12;
let NumMicroOps = 1;
let ResourceCycles = [13]; }
def M3WriteNEONV : SchedWriteRes<[M3UnitFDIV0,
M3UnitFDIV1]> { let Latency = 7;
let NumMicroOps = 2;
let ResourceCycles = [8, 8]; }
def M3WriteNEONW : SchedWriteRes<[M3UnitFDIV0,
M3UnitFDIV1]> { let Latency = 12;
let NumMicroOps = 2;
let ResourceCycles = [13, 13]; }
def M3WriteNEONX : SchedWriteRes<[M3UnitFSQR,
M3UnitFSQR]> { let Latency = 18;
let NumMicroOps = 1;
let ResourceCycles = [19]; }
let NumMicroOps = 2;
let ResourceCycles = [19, 19]; }
def M3WriteNEONY : SchedWriteRes<[M3UnitFSQR,
M3UnitFSQR]> { let Latency = 25;
let NumMicroOps = 1;
let ResourceCycles = [26]; }
let NumMicroOps = 2;
let ResourceCycles = [26, 26]; }
def M3WriteNEONZ : SchedWriteRes<[M3UnitNMSC,
M3UnitNMSC]> { let Latency = 5;
let NumMicroOps = 2; }
@ -365,50 +365,50 @@ def M3WriteVLDC : SchedWriteRes<[M3UnitL,
def M3WriteVLDD : SchedWriteRes<[M3UnitL,
M3UnitNALU]> { let Latency = 7;
let NumMicroOps = 2;
let ResourceCycles = [2]; }
let ResourceCycles = [2, 1]; }
def M3WriteVLDE : SchedWriteRes<[M3UnitL,
M3UnitNALU]> { let Latency = 6;
let NumMicroOps = 2;
let ResourceCycles = [2]; }
let ResourceCycles = [2, 1]; }
def M3WriteVLDF : SchedWriteRes<[M3UnitL,
M3UnitL]> { let Latency = 10;
let NumMicroOps = 2;
let ResourceCycles = [5]; }
let ResourceCycles = [5, 5]; }
def M3WriteVLDG : SchedWriteRes<[M3UnitL,
M3UnitNALU,
M3UnitNALU]> { let Latency = 7;
let NumMicroOps = 3;
let ResourceCycles = [2]; }
let ResourceCycles = [2, 1, 1]; }
def M3WriteVLDH : SchedWriteRes<[M3UnitL,
M3UnitNALU,
M3UnitNALU]> { let Latency = 6;
let NumMicroOps = 3;
let ResourceCycles = [2]; }
let ResourceCycles = [2, 1, 1]; }
def M3WriteVLDI : SchedWriteRes<[M3UnitL,
M3UnitL,
M3UnitL]> { let Latency = 12;
let NumMicroOps = 3;
let ResourceCycles = [6]; }
let ResourceCycles = [6, 6, 6]; }
def M3WriteVLDJ : SchedWriteRes<[M3UnitL,
M3UnitNALU,
M3UnitNALU,
M3UnitNALU]> { let Latency = 7;
let NumMicroOps = 4;
let ResourceCycles = [2]; }
let ResourceCycles = [2, 1, 1, 1]; }
def M3WriteVLDK : SchedWriteRes<[M3UnitL,
M3UnitNALU,
M3UnitNALU,
M3UnitNALU,
M3UnitNALU]> { let Latency = 9;
let NumMicroOps = 5;
let ResourceCycles = [4]; }
let ResourceCycles = [4, 1, 1, 1, 1]; }
def M3WriteVLDL : SchedWriteRes<[M3UnitL,
M3UnitNALU,
M3UnitNALU,
M3UnitL,
M3UnitNALU]> { let Latency = 6;
let NumMicroOps = 5;
let ResourceCycles = [3]; }
let ResourceCycles = [6, 1, 1, 6, 1]; }
def M3WriteVLDM : SchedWriteRes<[M3UnitL,
M3UnitNALU,
M3UnitNALU,
@ -416,13 +416,13 @@ def M3WriteVLDM : SchedWriteRes<[M3UnitL,
M3UnitNALU,
M3UnitNALU]> { let Latency = 7;
let NumMicroOps = 6;
let ResourceCycles = [3]; }
let ResourceCycles = [6, 1, 1, 6, 1, 1]; }
def M3WriteVLDN : SchedWriteRes<[M3UnitL,
M3UnitL,
M3UnitL,
M3UnitL]> { let Latency = 14;
let NumMicroOps = 4;
let ResourceCycles = [7]; }
let ResourceCycles = [6, 6, 6, 6]; }
def M3WriteVSTA : WriteSequence<[WriteVST], 2>;
def M3WriteVSTB : WriteSequence<[WriteVST], 3>;
def M3WriteVSTC : WriteSequence<[WriteVST], 4>;
@ -430,16 +430,16 @@ def M3WriteVSTD : SchedWriteRes<[M3UnitS,
M3UnitFST,
M3UnitS,
M3UnitFST]> { let Latency = 7;
let NumMicroOps = 2;
let ResourceCycles = [7]; }
let NumMicroOps = 4;
let ResourceCycles = [1, 3, 1, 3]; }
def M3WriteVSTE : SchedWriteRes<[M3UnitS,
M3UnitFST,
M3UnitS,
M3UnitFST,
M3UnitS,
M3UnitFST]> { let Latency = 8;
let NumMicroOps = 3;
let ResourceCycles = [8]; }
let NumMicroOps = 6;
let ResourceCycles = [1, 3, 1, 3, 1, 3]; }
def M3WriteVSTF : SchedWriteRes<[M3UnitNALU,
M3UnitFST,
M3UnitFST,
@ -447,8 +447,8 @@ def M3WriteVSTF : SchedWriteRes<[M3UnitNALU,
M3UnitFST,
M3UnitS,
M3UnitFST]> { let Latency = 15;
let NumMicroOps = 5;
let ResourceCycles = [15]; }
let NumMicroOps = 7;
let ResourceCycles = [1, 3, 3, 1, 3, 1, 3]; }
def M3WriteVSTG : SchedWriteRes<[M3UnitNALU,
M3UnitFST,
M3UnitFST,
@ -458,15 +458,15 @@ def M3WriteVSTG : SchedWriteRes<[M3UnitNALU,
M3UnitFST,
M3UnitS,
M3UnitFST]> { let Latency = 16;
let NumMicroOps = 6;
let ResourceCycles = [16]; }
let NumMicroOps = 9;
let ResourceCycles = [1, 3, 3, 1, 3, 1, 3, 1, 3]; }
def M3WriteVSTH : SchedWriteRes<[M3UnitNALU,
M3UnitFST,
M3UnitFST,
M3UnitS,
M3UnitFST]> { let Latency = 14;
let NumMicroOps = 4;
let ResourceCycles = [14]; }
let NumMicroOps = 5;
let ResourceCycles = [1, 3, 3, 1, 3]; }
def M3WriteVSTI : SchedWriteRes<[M3UnitNALU,
M3UnitFST,
M3UnitFST,
@ -476,8 +476,8 @@ def M3WriteVSTI : SchedWriteRes<[M3UnitNALU,
M3UnitFST,
M3UnitS,
M3UnitFST]> { let Latency = 17;
let NumMicroOps = 7;
let ResourceCycles = [17]; }
let NumMicroOps = 9;
let ResourceCycles = [1, 3, 3, 1, 3, 1, 3, 1, 3]; }
// Special cases.
def M3WriteAES : SchedWriteRes<[M3UnitNCRY]> { let Latency = 1; }