[X86][Haswell][SchedModel] Add architecture specific scheduling models.
authorQuentin Colombet <qcolombet@apple.com>
Mon, 18 Aug 2014 17:55:32 +0000 (17:55 +0000)
committerQuentin Colombet <qcolombet@apple.com>
Mon, 18 Aug 2014 17:55:32 +0000 (17:55 +0000)
Group: Floating Point x87 instructions.
Sub-group: Math instructions.

<rdar://problem/15607571>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215913 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86SchedHaswell.td

index ec408d13d17c75d5c950a9c9d0a133108e566985..4dda178d0b073bfe8f616fb246573f2e32c000b2 100644 (file)
@@ -1175,4 +1175,20 @@ def WriteFRNDINT : SchedWriteRes<[]> {
 }
 def : InstRW<[WriteFRNDINT], (instregex "FRNDINT")>;
 
+//-- Math instructions --//
+
+// FSCALE.
+def WriteFSCALE : SchedWriteRes<[]> {
+  let Latency = 75; // 49-125
+  let NumMicroOps = 50; // 25-75
+}
+def : InstRW<[WriteFSCALE], (instregex "FSCALE")>;
+
+// FXTRACT.
+def WriteFXTRACT : SchedWriteRes<[]> {
+  let Latency = 15;
+  let NumMicroOps = 17;
+}
+def : InstRW<[WriteFXTRACT], (instregex "FXTRACT")>;
+
 } // SchedModel