diff options
author | Quentin Colombet <qcolombet@apple.com> | 2014-03-27 22:27:41 +0000 |
---|---|---|
committer | Quentin Colombet <qcolombet@apple.com> | 2014-03-27 22:27:41 +0000 |
commit | 85b904d875ca98408b27f773859b15c0aba1bf75 (patch) | |
tree | b121c6ca477ea98768a3cbb2784b7ab93572db0c /llvm/lib/Target | |
parent | 82569b63666d9605bae5257b6492a9015eb07ac9 (diff) | |
download | bcm5719-llvm-85b904d875ca98408b27f773859b15c0aba1bf75.tar.gz bcm5719-llvm-85b904d875ca98408b27f773859b15c0aba1bf75.zip |
[X86][Vector Cost Model] Add a comment to explain the workaround
in my previous commit (r204884).
<rdar://problem/16381225>
llvm-svn: 204972
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r-- | llvm/lib/Target/X86/X86TargetTransformInfo.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86TargetTransformInfo.cpp b/llvm/lib/Target/X86/X86TargetTransformInfo.cpp index 2d44db0acdb..f58c94683fd 100644 --- a/llvm/lib/Target/X86/X86TargetTransformInfo.cpp +++ b/llvm/lib/Target/X86/X86TargetTransformInfo.cpp @@ -512,6 +512,11 @@ unsigned X86TTI::getCastInstrCost(unsigned Opcode, Type *Dst, Type *Src) const { { ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i8, 2 }, { ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i16, 2 }, { ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i32, 6 }, + // The generic code to compute the scalar overhead is currently broken. + // Workaround this limitation by estimating the scalarization overhead + // here. We have roughly 10 instructions per scalar element. + // Multiply that by the vector width. + // FIXME: remove that when PR19268 is fixed. { ISD::UINT_TO_FP, MVT::v2f64, MVT::v2i64, 2*10 }, { ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i64, 4*10 }, |