aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/X86Schedule.td
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2013-06-15 04:50:02 +0000
committerAndrew Trick <atrick@apple.com>2013-06-15 04:50:02 +0000
commita5ce5f36d3a1e312304e8312ca64a1342f5f55a6 (patch)
tree48b5f93d3c1ec9781977edafc9a09eb43673b8a9 /lib/Target/X86/X86Schedule.td
parentb86a0cdb674549d8493043331cecd9cbf53b80da (diff)
downloadexternal_llvm-a5ce5f36d3a1e312304e8312ca64a1342f5f55a6.zip
external_llvm-a5ce5f36d3a1e312304e8312ca64a1342f5f55a6.tar.gz
external_llvm-a5ce5f36d3a1e312304e8312ca64a1342f5f55a6.tar.bz2
Update machine models. Specify buffer sizes for OOO processors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184033 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86Schedule.td')
-rw-r--r--lib/Target/X86/X86Schedule.td7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/Target/X86/X86Schedule.td b/lib/Target/X86/X86Schedule.td
index c32d12b..625a05c 100644
--- a/lib/Target/X86/X86Schedule.td
+++ b/lib/Target/X86/X86Schedule.td
@@ -550,8 +550,9 @@ def IIC_NOP : InstrItinClass;
// Resources beyond the decoder operate on micro-ops and are bufferred
// so adjacent micro-ops don't directly compete.
//
-// MinLatency=0 indicates that RAW dependencies can be decoded in the
-// same cycle.
+// MicroOpBufferSize > 1 indicates that RAW dependencies can be
+// decoded in the same cycle. The value 32 is a reasonably arbitrary
+// number of in-flight instructions.
//
// HighLatency=10 is optimistic. X86InstrInfo::isHighLatencyDef
// indicates high latency opcodes. Alternatively, InstrItinData
@@ -562,7 +563,7 @@ def IIC_NOP : InstrItinClass;
// The GenericModel contains no instruciton itineraries.
def GenericModel : SchedMachineModel {
let IssueWidth = 4;
- let MinLatency = 0;
+ let MicroOpBufferSize = 32;
let LoadLatency = 4;
let HighLatency = 10;
}