mirror of
https://github.com/RPCS3/llvm.git
synced 2026-07-21 03:05:26 -04:00
[X86][Btver2] Add ResourceCycles and NumMicroOps overrides to scalar instructions. NFCI.
Currently still use default values - this is setup for a future patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327582 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -76,14 +76,20 @@ def : ReadAdvance<ReadAfterLd, 3>;
|
||||
// folded loads.
|
||||
multiclass JWriteResIntPair<X86FoldableSchedWrite SchedRW,
|
||||
ProcResourceKind ExePort,
|
||||
int Lat> {
|
||||
int Lat, int Res = 1, int UOps = 1> {
|
||||
// Register variant is using a single cycle on ExePort.
|
||||
def : WriteRes<SchedRW, [ExePort]> { let Latency = Lat; }
|
||||
def : WriteRes<SchedRW, [ExePort]> {
|
||||
let Latency = Lat;
|
||||
let ResourceCycles = [Res];
|
||||
let NumMicroOps = UOps;
|
||||
}
|
||||
|
||||
// Memory variant also uses a cycle on JLAGU and adds 3 cycles to the
|
||||
// latency.
|
||||
def : WriteRes<SchedRW.Folded, [JLAGU, ExePort]> {
|
||||
let Latency = !add(Lat, 3);
|
||||
let ResourceCycles = [1, Res];
|
||||
let NumMicroOps = UOps;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user