diff options
author | Clement Courbet <courbet@google.com> | 2018-05-31 14:22:01 +0000 |
---|---|---|
committer | Clement Courbet <courbet@google.com> | 2018-05-31 14:22:01 +0000 |
commit | 2e41c5a79c164250751c76da332e2f7dac9e646e (patch) | |
tree | dc7714107659cbf5a7de0add3532517240057cb9 /llvm/lib/Target/X86/X86SchedSandyBridge.td | |
parent | 62716803fee62f8c02701814d4c08e5734a146cf (diff) | |
download | bcm5719-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.td | 1 |
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>; |