Lines Matching full:reduction

185   /// Lower this VP reduction to a call to an unpredicated reduction intrinsic.
373 llvm_unreachable("Expecting a VP reduction intrinsic"); in getNeutralReductionElement()
431 Value *Reduction; in expandPredicationInReduction() local
436 llvm_unreachable("Impossible reduction kind"); in expandPredicationInReduction()
438 Reduction = Builder.CreateAddReduce(RedOp); in expandPredicationInReduction()
439 Reduction = Builder.CreateAdd(Reduction, Start); in expandPredicationInReduction()
442 Reduction = Builder.CreateMulReduce(RedOp); in expandPredicationInReduction()
443 Reduction = Builder.CreateMul(Reduction, Start); in expandPredicationInReduction()
446 Reduction = Builder.CreateAndReduce(RedOp); in expandPredicationInReduction()
447 Reduction = Builder.CreateAnd(Reduction, Start); in expandPredicationInReduction()
450 Reduction = Builder.CreateOrReduce(RedOp); in expandPredicationInReduction()
451 Reduction = Builder.CreateOr(Reduction, Start); in expandPredicationInReduction()
454 Reduction = Builder.CreateXorReduce(RedOp); in expandPredicationInReduction()
455 Reduction = Builder.CreateXor(Reduction, Start); in expandPredicationInReduction()
458 Reduction = Builder.CreateIntMaxReduce(RedOp, /*IsSigned*/ true); in expandPredicationInReduction()
459 Reduction = in expandPredicationInReduction()
460 Builder.CreateBinaryIntrinsic(Intrinsic::smax, Reduction, Start); in expandPredicationInReduction()
463 Reduction = Builder.CreateIntMinReduce(RedOp, /*IsSigned*/ true); in expandPredicationInReduction()
464 Reduction = in expandPredicationInReduction()
465 Builder.CreateBinaryIntrinsic(Intrinsic::smin, Reduction, Start); in expandPredicationInReduction()
468 Reduction = Builder.CreateIntMaxReduce(RedOp, /*IsSigned*/ false); in expandPredicationInReduction()
469 Reduction = in expandPredicationInReduction()
470 Builder.CreateBinaryIntrinsic(Intrinsic::umax, Reduction, Start); in expandPredicationInReduction()
473 Reduction = Builder.CreateIntMinReduce(RedOp, /*IsSigned*/ false); in expandPredicationInReduction()
474 Reduction = in expandPredicationInReduction()
475 Builder.CreateBinaryIntrinsic(Intrinsic::umin, Reduction, Start); in expandPredicationInReduction()
478 Reduction = Builder.CreateFPMaxReduce(RedOp); in expandPredicationInReduction()
479 transferDecorations(*Reduction, VPI); in expandPredicationInReduction()
480 Reduction = in expandPredicationInReduction()
481 Builder.CreateBinaryIntrinsic(Intrinsic::maxnum, Reduction, Start); in expandPredicationInReduction()
484 Reduction = Builder.CreateFPMinReduce(RedOp); in expandPredicationInReduction()
485 transferDecorations(*Reduction, VPI); in expandPredicationInReduction()
486 Reduction = in expandPredicationInReduction()
487 Builder.CreateBinaryIntrinsic(Intrinsic::minnum, Reduction, Start); in expandPredicationInReduction()
490 Reduction = Builder.CreateFPMaximumReduce(RedOp); in expandPredicationInReduction()
491 transferDecorations(*Reduction, VPI); in expandPredicationInReduction()
492 Reduction = in expandPredicationInReduction()
493 Builder.CreateBinaryIntrinsic(Intrinsic::maximum, Reduction, Start); in expandPredicationInReduction()
496 Reduction = Builder.CreateFPMinimumReduce(RedOp); in expandPredicationInReduction()
497 transferDecorations(*Reduction, VPI); in expandPredicationInReduction()
498 Reduction = in expandPredicationInReduction()
499 Builder.CreateBinaryIntrinsic(Intrinsic::minimum, Reduction, Start); in expandPredicationInReduction()
502 Reduction = Builder.CreateFAddReduce(Start, RedOp); in expandPredicationInReduction()
505 Reduction = Builder.CreateFMulReduce(Start, RedOp); in expandPredicationInReduction()
509 replaceOperation(*Reduction, VPI); in expandPredicationInReduction()
510 return Reduction; in expandPredicationInReduction()