[llvm] r327332 - [X86][Btver2] Clean up formatting/comments in scheduler model. NFCI.
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 12 14:35:12 PDT 2018
Author: rksimon
Date: Mon Mar 12 14:35:12 2018
New Revision: 327332
URL: http://llvm.org/viewvc/llvm-project?rev=327332&view=rev
Log:
[X86][Btver2] Clean up formatting/comments in scheduler model. NFCI.
Moved 'special cases' to be closer to other system classes.
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=327332&r1=327331&r2=327332&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td (original)
+++ llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td Mon Mar 12 14:35:12 2018
@@ -83,7 +83,7 @@ multiclass JWriteResIntPair<X86FoldableS
// 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 Latency = !add(Lat, 3);
}
}
@@ -100,9 +100,9 @@ multiclass JWriteResFpuPair<X86FoldableS
// Memory variant also uses a cycle on JLAGU and adds 5 cycles to the
// latency.
def : WriteRes<SchedRW.Folded, [JLAGU, ExePort]> {
- let Latency = !add(Lat, 5);
- let ResourceCycles = [1, Res];
- let NumMicroOps = UOps;
+ let Latency = !add(Lat, 5);
+ let ResourceCycles = [1, Res];
+ let NumMicroOps = UOps;
}
}
@@ -194,11 +194,20 @@ def : WriteRes<WriteZero, []>;
defm : JWriteResIntPair<WriteJump, JALU01, 1>;
////////////////////////////////////////////////////////////////////////////////
+// Special case scheduling classes.
+// FIXME: pipe for system/microcode?
+////////////////////////////////////////////////////////////////////////////////
+
+def : WriteRes<WriteSystem, [JAny]> { let Latency = 100; }
+def : WriteRes<WriteMicrocoded, [JAny]> { let Latency = 100; }
+def : WriteRes<WriteFence, [JSAGU]>;
+def : WriteRes<WriteNop, []>;
+
+////////////////////////////////////////////////////////////////////////////////
// Floating point. This covers both scalar and vector operations.
// FIXME: should we bother splitting JFPU pipe + unit stages for fast instructions?
// FIXME: Double precision latencies
// FIXME: SS vs PS latencies
-// FIXME: ymm latencies
////////////////////////////////////////////////////////////////////////////////
defm : JWriteResFpuPair<WriteFAdd, JFPU0, 3>;
@@ -229,7 +238,11 @@ def : WriteRes<WriteFDivLd, [JFPU1, JLAG
let ResourceCycles = [1, 1, 19];
}
+////////////////////////////////////////////////////////////////////////////////
+// Conversions.
// FIXME: integer pipes
+////////////////////////////////////////////////////////////////////////////////
+
defm : JWriteResFpuPair<WriteCvtF2I, JFPU1, 3>; // Float -> Integer.
defm : JWriteResFpuPair<WriteCvtI2F, JFPU1, 3>; // Integer -> Float.
defm : JWriteResFpuPair<WriteCvtF2F, JFPU1, 3>; // Float -> Float size conversion.
@@ -333,12 +346,6 @@ def : InstRW<[JWriteFHAddYLd], (instrs V
defm : JWriteResFpuPair<WriteCLMul, JVIMUL, 2>;
-// FIXME: pipe for system/microcode?
-def : WriteRes<WriteSystem, [JAny]> { let Latency = 100; }
-def : WriteRes<WriteMicrocoded, [JAny]> { let Latency = 100; }
-def : WriteRes<WriteFence, [JSAGU]>;
-def : WriteRes<WriteNop, []>;
-
////////////////////////////////////////////////////////////////////////////////
// SSE4.1 instructions.
////////////////////////////////////////////////////////////////////////////////
More information about the llvm-commits
mailing list