reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
866 assert(isa<VectorType>(Src->getType()) && "Type must be a vector"); 874 BuildFunc = [&]() { return Builder.CreateAddReduce(Src); }; 877 BuildFunc = [&]() { return Builder.CreateMulReduce(Src); }; 880 BuildFunc = [&]() { return Builder.CreateAndReduce(Src); }; 883 BuildFunc = [&]() { return Builder.CreateOrReduce(Src); }; 886 BuildFunc = [&]() { return Builder.CreateXorReduce(Src); }; 891 Constant::getNullValue(Src->getType()->getVectorElementType()), Src); 891 Constant::getNullValue(Src->getType()->getVectorElementType()), Src); 897 Type *Ty = Src->getType()->getVectorElementType(); 898 auto Rdx = Builder.CreateFMulReduce(ConstantFP::get(Ty, 1.0), Src); 906 return Builder.CreateIntMaxReduce(Src, Flags.IsSigned); 911 return Builder.CreateIntMinReduce(Src, Flags.IsSigned); 918 BuildFunc = [&]() { return Builder.CreateFPMaxReduce(Src, Flags.NoNaN); }; 921 BuildFunc = [&]() { return Builder.CreateFPMinReduce(Src, Flags.NoNaN); }; 928 if (TTI->useReductionIntrinsic(Opcode, Src->getType(), Flags)) 930 return getShuffleReduction(Builder, Src, Opcode, MinMaxKind, RedOps);