summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2018-03-14 21:55:54 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2018-03-14 21:55:54 +0000
commitdfeebdbed7719a11bd672ebda74c7f37837ffa05 (patch)
tree42f4fa138b6215f8ea9aacace6cc6134f31dc63f
parent3a7a2e4a0ae44b6a035b09a95babe2bc6c646323 (diff)
downloadbcm5719-llvm-dfeebdbed7719a11bd672ebda74c7f37837ffa05.tar.gz
bcm5719-llvm-dfeebdbed7719a11bd672ebda74c7f37837ffa05.zip
[X86][Btver2] Add ResourceCycles and NumMicroOps overrides to scalar instructions. NFCI.
Currently still use default values - this is setup for a future patch. llvm-svn: 327582
-rw-r--r--llvm/lib/Target/X86/X86ScheduleBtVer2.td10
1 files changed, 8 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86ScheduleBtVer2.td b/llvm/lib/Target/X86/X86ScheduleBtVer2.td
index 5048946bbbb..e8987b7dce9 100644
--- a/llvm/lib/Target/X86/X86ScheduleBtVer2.td
+++ b/llvm/lib/Target/X86/X86ScheduleBtVer2.td
@@ -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;
}
}
OpenPOWER on IntegriCloud