[PATCH] D49861: [X86] Improved sched models for X86 XCHG*rr instructions

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 27 10:29:43 PDT 2018


lebedev.ri added a comment.

In general - looks good, assuming that after rebasing ontop of https://reviews.llvm.org/D49912 there are no regressions.
A few nits.
The SLM & btver2 - are those placeholders, or those are real values from agner?



================
Comment at: lib/Target/X86/X86SchedHaswell.td:128
 defm : HWWriteResPair<WriteBSWAP64,[HWPort06, HWPort15], 2, [1,1], 2>;
+defm : X86WriteRes<WriteXCHG, [HWPort0156], 2, [3], 3>;
 
----------------
Nit: align?


================
Comment at: lib/Target/X86/X86SchedSkylakeClient.td:115
 defm : SKLWriteResPair<WriteBSWAP64,[SKLPort06, SKLPort15], 2, [1,1], 2>; //
+defm : X86WriteRes<WriteXCHG, [SKLPort0156], 2, [3], 3>;
 
----------------
Nit: align?


================
Comment at: lib/Target/X86/X86Schedule.td:123
 defm WriteBSWAP64: X86SchedWritePair; // Byte Order (Endiannes) Swap
+def  WriteXCHG   : SchedWrite;
 
----------------
`// Exchange the contents of two operands`
?


================
Comment at: lib/Target/X86/X86ScheduleBtVer2.td:173
 defm : JWriteResIntPair<WriteBSWAP64,[JALU01], 1>;
+defm : X86WriteRes<WriteXCHG,        [JALU01], 1, [1], 1>;
 
----------------
These are from agner?


https://reviews.llvm.org/D49861





More information about the llvm-commits mailing list