[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