reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/X86/X86TargetTransformInfo.cpp
  193                                             LT.second))
  194       return LT.first * Entry->Cost;
  221     if (Args.size() == 2 && ISD == ISD::MUL && LT.second == MVT::v4i32) {
  232         return LT.first * 3; // pmullw/sext
  234         return LT.first * 3; // pmullw/zext
  236         return LT.first * 5; // pmullw/pmulhw/pshuf
  238         return LT.first * 5; // pmullw/pmulhw/pshuf
  242                                             LT.second)) {
  243       return LT.first * Entry->Cost;
  298                                             LT.second))
  299       return LT.first * Entry->Cost;
  311                                             LT.second))
  312       return LT.first * Entry->Cost;
  326                                             LT.second))
  327       return LT.first * Entry->Cost;
  344             CostTableLookup(SSE2UniformConstCostTable, ISD, LT.second))
  345       return LT.first * Entry->Cost;
  363             CostTableLookup(AVX512BWConstCostTable, ISD, LT.second))
  364       return LT.first * Entry->Cost;
  378             CostTableLookup(AVX512ConstCostTable, ISD, LT.second))
  379       return LT.first * Entry->Cost;
  400     if (const auto *Entry = CostTableLookup(AVX2ConstCostTable, ISD, LT.second))
  401       return LT.first * Entry->Cost;
  435     if (ISD == ISD::SDIV && LT.second == MVT::v8i32 && ST->hasAVX())
  436       return LT.first * 32;
  437     if (ISD == ISD::SREM && LT.second == MVT::v8i32 && ST->hasAVX())
  438       return LT.first * 38;
  439     if (ISD == ISD::SDIV && LT.second == MVT::v4i32 && ST->hasSSE41())
  440       return LT.first * 15;
  441     if (ISD == ISD::SREM && LT.second == MVT::v4i32 && ST->hasSSE41())
  442       return LT.first * 20;
  444     if (const auto *Entry = CostTableLookup(SSE2ConstCostTable, ISD, LT.second))
  445       return LT.first * Entry->Cost;
  459             CostTableLookup(AVX2UniformCostTable, ISD, LT.second))
  460       return LT.first * Entry->Cost;
  481             CostTableLookup(SSE2UniformCostTable, ISD, LT.second))
  482       return LT.first * Entry->Cost;
  493     if (const auto *Entry = CostTableLookup(AVX512DQCostTable, ISD, LT.second))
  494       return LT.first * Entry->Cost;
  520     if (const auto *Entry = CostTableLookup(AVX512BWCostTable, ISD, LT.second))
  521       return LT.first * Entry->Cost;
  552     if (const auto *Entry = CostTableLookup(AVX512CostTable, ISD, LT.second))
  553       return LT.first * Entry->Cost;
  572     if (ISD == ISD::SHL && LT.second == MVT::v16i16 &&
  581     if (const auto *Entry = CostTableLookup(AVX2ShiftCostTable, ISD, LT.second))
  582       return LT.first * Entry->Cost;
  624             CostTableLookup(XOPShiftCostTable, ShiftISD, LT.second))
  625       return LT.first * Entry->Cost;
  649     if (ISD == ISD::SRA && LT.second == MVT::v4i64 && ST->hasAVX2())
  650       return LT.first * 4; // 2*psrad + shuffle.
  653             CostTableLookup(SSE2UniformShiftCostTable, ISD, LT.second))
  654       return LT.first * Entry->Cost;
  659     MVT VT = LT.second;
  711     if (const auto *Entry = CostTableLookup(AVX2CostTable, ISD, LT.second))
  712       return LT.first * Entry->Cost;
  747     if (const auto *Entry = CostTableLookup(AVX1CostTable, ISD, LT.second))
  748       return LT.first * Entry->Cost;
  773     if (const auto *Entry = CostTableLookup(SSE42CostTable, ISD, LT.second))
  774       return LT.first * Entry->Cost;
  802     if (const auto *Entry = CostTableLookup(SSE41CostTable, ISD, LT.second))
  803       return LT.first * Entry->Cost;
  844     if (const auto *Entry = CostTableLookup(SSE2CostTable, ISD, LT.second))
  845       return LT.first * Entry->Cost;
  867     if (const auto *Entry = CostTableLookup(SSE1CostTable, ISD, LT.second))
  868       return LT.first * Entry->Cost;
  876   if (LT.second.isVector() && (ISD == ISD::SDIV || ISD == ISD::SREM ||
  881     return 20 * LT.first * LT.second.getVectorNumElements() * ScalarCost;
  881     return 20 * LT.first * LT.second.getVectorNumElements() * ScalarCost;