|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
include/llvm/CodeGen/BasicTTIImpl.h 676 case TTI::SK_PermuteSingleSrc:
1635 ConcreteTTI->getShuffleCost(TTI::SK_PermuteSingleSrc, Ty,
1699 ConcreteTTI->getShuffleCost(TTI::SK_PermuteSingleSrc, Ty,
lib/Analysis/TargetTransformInfo.cpp 1316 return TTIImpl->getShuffleCost(SK_PermuteSingleSrc, Ty, 0, nullptr);
lib/Target/AArch64/AArch64TargetTransformInfo.cpp 951 Kind == TTI::SK_Select || Kind == TTI::SK_PermuteSingleSrc) {
986 { TTI::SK_PermuteSingleSrc, MVT::v2i32, 1 }, // mov.
987 { TTI::SK_PermuteSingleSrc, MVT::v4i32, 3 }, // perfectshuffle worst case.
988 { TTI::SK_PermuteSingleSrc, MVT::v2i64, 1 }, // mov.
989 { TTI::SK_PermuteSingleSrc, MVT::v2f32, 1 }, // mov.
990 { TTI::SK_PermuteSingleSrc, MVT::v4f32, 3 }, // perfectshuffle worst case.
991 { TTI::SK_PermuteSingleSrc, MVT::v2f64, 1 }, // mov.
lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp 660 case TTI::SK_PermuteSingleSrc:
lib/Target/X86/X86TargetTransformInfo.cpp 954 if (Kind == TTI::SK_PermuteSingleSrc && LT.first != 1) {
991 {TTI::SK_PermuteSingleSrc, MVT::v64i8, 1}, // vpermb
992 {TTI::SK_PermuteSingleSrc, MVT::v32i8, 1}, // vpermb
1012 {TTI::SK_PermuteSingleSrc, MVT::v32i16, 1}, // vpermw
1013 {TTI::SK_PermuteSingleSrc, MVT::v16i16, 1}, // vpermw
1014 {TTI::SK_PermuteSingleSrc, MVT::v8i16, 1}, // vpermw
1015 {TTI::SK_PermuteSingleSrc, MVT::v64i8, 8}, // extend to v32i16
1016 {TTI::SK_PermuteSingleSrc, MVT::v32i8, 3}, // vpermw + zext/trunc
1042 {TTI::SK_PermuteSingleSrc, MVT::v8f64, 1}, // vpermpd
1043 {TTI::SK_PermuteSingleSrc, MVT::v4f64, 1}, // vpermpd
1044 {TTI::SK_PermuteSingleSrc, MVT::v2f64, 1}, // vpermpd
1045 {TTI::SK_PermuteSingleSrc, MVT::v16f32, 1}, // vpermps
1046 {TTI::SK_PermuteSingleSrc, MVT::v8f32, 1}, // vpermps
1047 {TTI::SK_PermuteSingleSrc, MVT::v4f32, 1}, // vpermps
1048 {TTI::SK_PermuteSingleSrc, MVT::v8i64, 1}, // vpermq
1049 {TTI::SK_PermuteSingleSrc, MVT::v4i64, 1}, // vpermq
1050 {TTI::SK_PermuteSingleSrc, MVT::v2i64, 1}, // vpermq
1051 {TTI::SK_PermuteSingleSrc, MVT::v16i32, 1}, // vpermd
1052 {TTI::SK_PermuteSingleSrc, MVT::v8i32, 1}, // vpermd
1053 {TTI::SK_PermuteSingleSrc, MVT::v4i32, 1}, // vpermd
1054 {TTI::SK_PermuteSingleSrc, MVT::v16i8, 1}, // pshufb
1092 {TTI::SK_PermuteSingleSrc, MVT::v4f64, 1}, // vpermpd
1093 {TTI::SK_PermuteSingleSrc, MVT::v8f32, 1}, // vpermps
1094 {TTI::SK_PermuteSingleSrc, MVT::v4i64, 1}, // vpermq
1095 {TTI::SK_PermuteSingleSrc, MVT::v8i32, 1}, // vpermd
1096 {TTI::SK_PermuteSingleSrc, MVT::v16i16, 4}, // vperm2i128 + 2*vpshufb
1098 {TTI::SK_PermuteSingleSrc, MVT::v32i8, 4}, // vperm2i128 + 2*vpshufb
1116 {TTI::SK_PermuteSingleSrc, MVT::v4f64, 2}, // vperm2f128 + vpermil2pd
1117 {TTI::SK_PermuteSingleSrc, MVT::v8f32, 2}, // vperm2f128 + vpermil2ps
1118 {TTI::SK_PermuteSingleSrc, MVT::v4i64, 2}, // vperm2f128 + vpermil2pd
1119 {TTI::SK_PermuteSingleSrc, MVT::v8i32, 2}, // vperm2f128 + vpermil2ps
1120 {TTI::SK_PermuteSingleSrc, MVT::v16i16, 4}, // vextractf128 + 2*vpperm
1122 {TTI::SK_PermuteSingleSrc, MVT::v32i8, 4}, // vextractf128 + 2*vpperm
1161 {TTI::SK_PermuteSingleSrc, MVT::v4f64, 2}, // vperm2f128 + vshufpd
1162 {TTI::SK_PermuteSingleSrc, MVT::v4i64, 2}, // vperm2f128 + vshufpd
1163 {TTI::SK_PermuteSingleSrc, MVT::v8f32, 4}, // 2*vperm2f128 + 2*vshufps
1164 {TTI::SK_PermuteSingleSrc, MVT::v8i32, 4}, // 2*vperm2f128 + 2*vshufps
1165 {TTI::SK_PermuteSingleSrc, MVT::v16i16, 8}, // vextractf128 + 4*pshufb
1167 {TTI::SK_PermuteSingleSrc, MVT::v32i8, 8}, // vextractf128 + 4*pshufb
1207 {TTI::SK_PermuteSingleSrc, MVT::v8i16, 1}, // pshufb
1208 {TTI::SK_PermuteSingleSrc, MVT::v16i8, 1}, // pshufb
1238 {TTI::SK_PermuteSingleSrc, MVT::v2f64, 1}, // shufpd
1239 {TTI::SK_PermuteSingleSrc, MVT::v2i64, 1}, // pshufd
1240 {TTI::SK_PermuteSingleSrc, MVT::v4i32, 1}, // pshufd
1241 {TTI::SK_PermuteSingleSrc, MVT::v8i16, 5}, // 2*pshuflw + 2*pshufhw
1243 { TTI::SK_PermuteSingleSrc, MVT::v16i8, 10 }, // 2*pshuflw + 2*pshufhw
1261 { TTI::SK_PermuteSingleSrc, MVT::v4f32, 1 }, // shufps
3652 (NumOfMemOps > 1) ? TTI::SK_PermuteTwoSrc : TTI::SK_PermuteSingleSrc;
lib/Transforms/Vectorize/SLPVectorizer.cpp 312 : TargetTransformInfo::SK_PermuteSingleSrc;
2928 TTI->getShuffleCost(TargetTransformInfo::SK_PermuteSingleSrc, VecTy);
3003 TargetTransformInfo::SK_PermuteSingleSrc, VecTy);
3177 TargetTransformInfo::SK_PermuteSingleSrc, VecTy);
3515 Cost += TTI->getShuffleCost(TargetTransformInfo::SK_PermuteSingleSrc, Ty);