[llvm] 0d0f39b - [X86][Atom] Add missing UOps override to AtomWriteResPair multiclass
    Simon Pilgrim via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Sat Sep  4 03:58:25 PDT 2021
    
    
  
Author: Simon Pilgrim
Date: 2021-09-04T11:58:09+01:00
New Revision: 0d0f39b0f3ee3b7d41a6caca6896a90d1a316437
URL: https://github.com/llvm/llvm-project/commit/0d0f39b0f3ee3b7d41a6caca6896a90d1a316437
DIFF: https://github.com/llvm/llvm-project/commit/0d0f39b0f3ee3b7d41a6caca6896a90d1a316437.diff
LOG: [X86][Atom] Add missing UOps override to AtomWriteResPair multiclass
Make it easier to describe microcoded instructions.
Added: 
    
Modified: 
    llvm/lib/Target/X86/X86ScheduleAtom.td
Removed: 
    
################################################################################
diff  --git a/llvm/lib/Target/X86/X86ScheduleAtom.td b/llvm/lib/Target/X86/X86ScheduleAtom.td
index eaed2aa05c1ed..7a02f5834b265 100644
--- a/llvm/lib/Target/X86/X86ScheduleAtom.td
+++ b/llvm/lib/Target/X86/X86ScheduleAtom.td
@@ -56,17 +56,21 @@ multiclass AtomWriteResPair<X86FoldableSchedWrite SchedRW,
                             list<ProcResourceKind> RMPorts,
                             int RRLat = 1, int RMLat = 1,
                             list<int> RRRes = [1],
-                            list<int> RMRes = [1]> {
+                            list<int> RMRes = [1],
+                            int RRUOps = 1,
+                            int RMUOps = 1> {
   // Register variant.
   def : WriteRes<SchedRW, RRPorts> {
     let Latency = RRLat;
     let ResourceCycles = RRRes;
+    let NumMicroOps = RRUOps;
   }
 
   // Memory variant.
   def : WriteRes<SchedRW.Folded, RMPorts> {
     let Latency = RMLat;
     let ResourceCycles = RMRes;
+    let NumMicroOps = RMUOps;
   }
 }
 
        
    
    
More information about the llvm-commits
mailing list