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

References

include/llvm/CodeGen/BasicTTIImpl.h
  677     case TTI::SK_PermuteTwoSrc:
lib/Analysis/TargetTransformInfo.cpp
 1318     return TTIImpl->getShuffleCost(SK_PermuteTwoSrc, Ty, 0, nullptr);
lib/Target/X86/X86TargetTransformInfo.cpp
  896     Kind = TTI::SK_PermuteTwoSrc;
  973              getShuffleCost(TTI::SK_PermuteTwoSrc, SingleOpTy, 0, nullptr);
  980   if (Kind == TTI::SK_PermuteTwoSrc && LT.first != 1) {
  994       {TTI::SK_PermuteTwoSrc, MVT::v64i8, 1}, // vpermt2b
  995       {TTI::SK_PermuteTwoSrc, MVT::v32i8, 1}, // vpermt2b
  996       {TTI::SK_PermuteTwoSrc, MVT::v16i8, 1}  // vpermt2b
 1018       {TTI::SK_PermuteTwoSrc, MVT::v32i16, 1}, // vpermt2w
 1019       {TTI::SK_PermuteTwoSrc, MVT::v16i16, 1}, // vpermt2w
 1020       {TTI::SK_PermuteTwoSrc, MVT::v8i16, 1},  // vpermt2w
 1021       {TTI::SK_PermuteTwoSrc, MVT::v32i8, 3},  // zext + vpermt2w + trunc
 1022       {TTI::SK_PermuteTwoSrc, MVT::v64i8, 19}, // 6 * v32i8 + 1
 1023       {TTI::SK_PermuteTwoSrc, MVT::v16i8, 3}   // zext + vpermt2w + trunc
 1056       {TTI::SK_PermuteTwoSrc, MVT::v8f64, 1},  // vpermt2pd
 1057       {TTI::SK_PermuteTwoSrc, MVT::v16f32, 1}, // vpermt2ps
 1058       {TTI::SK_PermuteTwoSrc, MVT::v8i64, 1},  // vpermt2q
 1059       {TTI::SK_PermuteTwoSrc, MVT::v16i32, 1}, // vpermt2d
 1060       {TTI::SK_PermuteTwoSrc, MVT::v4f64, 1},  // vpermt2pd
 1061       {TTI::SK_PermuteTwoSrc, MVT::v8f32, 1},  // vpermt2ps
 1062       {TTI::SK_PermuteTwoSrc, MVT::v4i64, 1},  // vpermt2q
 1063       {TTI::SK_PermuteTwoSrc, MVT::v8i32, 1},  // vpermt2d
 1064       {TTI::SK_PermuteTwoSrc, MVT::v2f64, 1},  // vpermt2pd
 1065       {TTI::SK_PermuteTwoSrc, MVT::v4f32, 1},  // vpermt2ps
 1066       {TTI::SK_PermuteTwoSrc, MVT::v2i64, 1},  // vpermt2q
 1067       {TTI::SK_PermuteTwoSrc, MVT::v4i32, 1}   // vpermt2d
 1101       {TTI::SK_PermuteTwoSrc, MVT::v4f64, 3},  // 2*vpermpd + vblendpd
 1102       {TTI::SK_PermuteTwoSrc, MVT::v8f32, 3},  // 2*vpermps + vblendps
 1103       {TTI::SK_PermuteTwoSrc, MVT::v4i64, 3},  // 2*vpermq + vpblendd
 1104       {TTI::SK_PermuteTwoSrc, MVT::v8i32, 3},  // 2*vpermd + vpblendd
 1105       {TTI::SK_PermuteTwoSrc, MVT::v16i16, 7}, // 2*vperm2i128 + 4*vpshufb
 1107       {TTI::SK_PermuteTwoSrc, MVT::v32i8, 7},  // 2*vperm2i128 + 4*vpshufb
 1125       {TTI::SK_PermuteTwoSrc, MVT::v16i16, 9}, // 2*vextractf128 + 6*vpperm
 1127       {TTI::SK_PermuteTwoSrc, MVT::v8i16, 1},  // vpperm
 1128       {TTI::SK_PermuteTwoSrc, MVT::v32i8, 9},  // 2*vextractf128 + 6*vpperm
 1130       {TTI::SK_PermuteTwoSrc, MVT::v16i8, 1},  // vpperm
 1170       {TTI::SK_PermuteTwoSrc, MVT::v4f64, 3},   // 2*vperm2f128 + vshufpd
 1171       {TTI::SK_PermuteTwoSrc, MVT::v4i64, 3},   // 2*vperm2f128 + vshufpd
 1172       {TTI::SK_PermuteTwoSrc, MVT::v8f32, 4},   // 2*vperm2f128 + 2*vshufps
 1173       {TTI::SK_PermuteTwoSrc, MVT::v8i32, 4},   // 2*vperm2f128 + 2*vshufps
 1174       {TTI::SK_PermuteTwoSrc, MVT::v16i16, 15}, // 2*vextractf128 + 8*pshufb
 1176       {TTI::SK_PermuteTwoSrc, MVT::v32i8, 15},  // 2*vextractf128 + 8*pshufb
 1210       {TTI::SK_PermuteTwoSrc, MVT::v8i16, 3}, // 2*pshufb + por
 1211       {TTI::SK_PermuteTwoSrc, MVT::v16i8, 3}, // 2*pshufb + por
 1246     { TTI::SK_PermuteTwoSrc,    MVT::v2f64,  1 }, // shufpd
 1247     { TTI::SK_PermuteTwoSrc,    MVT::v2i64,  1 }, // shufpd
 1248     { TTI::SK_PermuteTwoSrc,    MVT::v4i32,  2 }, // 2*{unpck,movsd,pshufd}
 1249     { TTI::SK_PermuteTwoSrc,    MVT::v8i16,  8 }, // blend+permute
 1250     { TTI::SK_PermuteTwoSrc,    MVT::v16i8, 13 }, // blend+permute
 1262     { TTI::SK_PermuteTwoSrc,    MVT::v4f32, 2 }, // 2*shufps
 2489     Cost += getShuffleCost(TTI::SK_PermuteTwoSrc, SrcVTy, 0, nullptr) +
 2490             getShuffleCost(TTI::SK_PermuteTwoSrc, MaskTy, 0, nullptr);
 3652         (NumOfMemOps > 1) ? TTI::SK_PermuteTwoSrc : TTI::SK_PermuteSingleSrc;
 3678     if (NumOfResults > 1 && ShuffleKind == TTI::SK_PermuteTwoSrc)
 3711       getShuffleCost(TTI::SK_PermuteTwoSrc, SingleMemOpTy, 0, nullptr);
lib/Transforms/Vectorize/SLPVectorizer.cpp
  311   return Vec2 ? TargetTransformInfo::SK_PermuteTwoSrc