diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-03-14 21:55:54 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-03-14 21:55:54 +0000 |
commit | dfeebdbed7719a11bd672ebda74c7f37837ffa05 (patch) | |
tree | 42f4fa138b6215f8ea9aacace6cc6134f31dc63f | |
parent | 3a7a2e4a0ae44b6a035b09a95babe2bc6c646323 (diff) | |
download | bcm5719-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.td | 10 |
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; } } |