[llvm] r327582 - [X86][Btver2] Add ResourceCycles and NumMicroOps overrides to scalar instructions. NFCI.

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 14 14:55:54 PDT 2018


Author: rksimon
Date: Wed Mar 14 14:55:54 2018
New Revision: 327582

URL: http://llvm.org/viewvc/llvm-project?rev=327582&view=rev
Log:
[X86][Btver2] Add ResourceCycles and NumMicroOps overrides to scalar instructions. NFCI.

Currently still use default values - this is setup for a future patch.

Modified:
    llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td

Modified: llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td?rev=327582&r1=327581&r2=327582&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td (original)
+++ llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td Wed Mar 14 14:55:54 2018
@@ -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;
   }
 }
 




More information about the llvm-commits mailing list