aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/X86Schedule.td
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2013-06-21 18:33:04 +0000
committerAndrew Trick <atrick@apple.com>2013-06-21 18:33:04 +0000
commit9b5575d55add0bb2c8769f76db250ff0f4efe8dc (patch)
treeeb903d99319eab226ae34d2d985d8adcd10a11c0 /lib/Target/X86/X86Schedule.td
parent3bf23304ee80946409626cf64282a76c13a44352 (diff)
downloadexternal_llvm-9b5575d55add0bb2c8769f76db250ff0f4efe8dc.zip
external_llvm-9b5575d55add0bb2c8769f76db250ff0f4efe8dc.tar.gz
external_llvm-9b5575d55add0bb2c8769f76db250ff0f4efe8dc.tar.bz2
Fix IMULX machine model. Multiple def operands require multiple SchedWrites.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184566 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86Schedule.td')
-rw-r--r--lib/Target/X86/X86Schedule.td1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Target/X86/X86Schedule.td b/lib/Target/X86/X86Schedule.td
index 625a05c..ceb2e05 100644
--- a/lib/Target/X86/X86Schedule.td
+++ b/lib/Target/X86/X86Schedule.td
@@ -42,6 +42,7 @@ multiclass X86SchedWritePair {
// Arithmetic.
defm WriteALU : X86SchedWritePair; // Simple integer ALU op.
defm WriteIMul : X86SchedWritePair; // Integer multiplication.
+def WriteIMulH : SchedWrite; // Integer multiplication, high part.
defm WriteIDiv : X86SchedWritePair; // Integer division.
def WriteLEA : SchedWrite; // LEA instructions can't fold loads.