summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86SchedSandyBridge.td
diff options
context:
space:
mode:
authorClement Courbet <courbet@google.com>2018-05-31 14:22:01 +0000
committerClement Courbet <courbet@google.com>2018-05-31 14:22:01 +0000
commit2e41c5a79c164250751c76da332e2f7dac9e646e (patch)
treedc7714107659cbf5a7de0add3532517240057cb9 /llvm/lib/Target/X86/X86SchedSandyBridge.td
parent62716803fee62f8c02701814d4c08e5734a146cf (diff)
downloadbcm5719-llvm-2e41c5a79c164250751c76da332e2f7dac9e646e.tar.gz
bcm5719-llvm-2e41c5a79c164250751c76da332e2f7dac9e646e.zip
[X86] Introduce WriteFLDC for x87 constant loads.
Summary: {FLDL2E, FLDL2T, FLDLG2, FLDLN2, FLDPI} were using WriteMicrocoded. - I've measured the values for Broadwell, Haswell, SandyBridge, Skylake. - For ZnVer1 and Atom, values were transferred form InstRWs. - For SLM and BtVer2, I've guessed some values :( Reviewers: RKSimon, craig.topper, andreadb Subscribers: gbedwell, llvm-commits Differential Revision: https://reviews.llvm.org/D47585 llvm-svn: 333656
Diffstat (limited to 'llvm/lib/Target/X86/X86SchedSandyBridge.td')
-rw-r--r--llvm/lib/Target/X86/X86SchedSandyBridge.td1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86SchedSandyBridge.td b/llvm/lib/Target/X86/X86SchedSandyBridge.td
index c13212d16b1..5387250f5af 100644
--- a/llvm/lib/Target/X86/X86SchedSandyBridge.td
+++ b/llvm/lib/Target/X86/X86SchedSandyBridge.td
@@ -150,6 +150,7 @@ defm : SBWriteResPair<WriteBZHI, [SBPort1], 1>;
// Scalar and vector floating point.
defm : X86WriteRes<WriteFLD0, [SBPort5], 1, [1], 1>;
defm : X86WriteRes<WriteFLD1, [SBPort0,SBPort5], 1, [1,1], 2>;
+defm : X86WriteRes<WriteFLDC, [SBPort0,SBPort1], 1, [1,1], 2>;
defm : X86WriteRes<WriteFLoad, [SBPort23], 5, [1], 1>;
defm : X86WriteRes<WriteFLoadX, [SBPort23], 6, [1], 1>;
defm : X86WriteRes<WriteFLoadY, [SBPort23], 7, [1], 1>;
OpenPOWER on IntegriCloud