Lines Matching defs:Rep
2019 Value *Rep = Builder.CreateIntrinsic(
2021 return emitX86Select(Builder, CI.getArgOperand(3), Rep, CI.getArgOperand(2));
2048 CallBase &CI, Value *&Rep) {
2277 Rep = Builder.CreateIntrinsic(IID, {}, Args);
2279 Rep = emitX86Select(Builder, CI.getArgOperand(NumArgs - 1), Rep,
2297 Value *Rep = nullptr;
2304 Rep = Builder.CreateSelect(Cmp, Arg, Neg, "abs");
2309 Rep = Builder.CreateAtomicRMW(AtomicRMWInst::FAdd, Ptr, Val, MaybeAlign(),
2319 Rep = Builder.CreateSelect(Cmp, Arg0, Arg1, "max");
2328 Rep = Builder.CreateSelect(Cmp, Arg0, Arg1, "min");
2335 Rep = Builder.CreateTrunc(Ctlz, Builder.getInt32Ty(), "ctlz.trunc");
2342 Rep = Builder.CreateTrunc(Popc, Builder.getInt32Ty(), "ctpop.trunc");
2344 Rep = Builder.CreateIntrinsic(Intrinsic::convert_from_fp16,
2350 Rep = Builder.CreateBitCast(CI->getArgOperand(0), CI->getType());
2354 Rep = Builder.CreateIntrinsic(Builder.getInt32Ty(), Intrinsic::fshl,
2360 Rep = Builder.CreateIntrinsic(Int64Ty, Intrinsic::fshl,
2366 Rep = Builder.CreateIntrinsic(Int64Ty, Intrinsic::fshr,
2376 Rep = Builder.CreateAddrSpaceCast(CI->getArgOperand(0), CI->getType());
2402 Rep = Builder.CreateCall(NewFn, Args);
2404 Rep = Builder.CreateBitCast(Rep, F->getReturnType());
2408 return Rep;
2414 Value *Rep = nullptr;
2473 Rep = Builder.CreateICmp(CmpEq ? ICmpInst::ICMP_EQ : ICmpInst::ICMP_SGT,
2475 Rep = Builder.CreateSExt(Rep, CI->getType(), "");
2482 Rep = Builder.CreateZExt(CI->getArgOperand(0), ExtTy);
2483 Rep = Builder.CreateVectorSplat(NumElts, Rep);
2488 Rep = Builder.CreateInsertElement(Vec, Elt0, (uint64_t)0);
2492 Rep = Builder.CreateIntrinsic(Intrinsic::sqrt, CI->getType(),
2502 Rep = Builder.CreateIntrinsic(IID, {}, Args);
2504 Rep = Builder.CreateIntrinsic(Intrinsic::sqrt, CI->getType(),
2507 Rep =
2508 emitX86Select(Builder, CI->getArgOperand(2), Rep, CI->getArgOperand(1));
2514 Rep = Builder.CreateAnd(Op0, Op1);
2520 Rep = Builder.CreateICmp(Pred, Rep, Zero);
2521 Rep = applyX86MaskOn1BitsVec(Builder, Rep, Mask);
2525 Rep = Builder.CreateVectorSplat(NumElts, CI->getArgOperand(0));
2526 Rep =
2527 emitX86Select(Builder, CI->getArgOperand(2), Rep, CI->getArgOperand(1));
2542 Rep = Builder.CreateShuffleVector(RHS, LHS, ArrayRef(Indices, NumElts));
2543 Rep = Builder.CreateBitCast(Rep, CI->getType());
2547 Rep = Builder.CreateAnd(LHS, RHS);
2548 Rep = Builder.CreateBitCast(Rep, CI->getType());
2553 Rep = Builder.CreateAnd(LHS, RHS);
2554 Rep = Builder.CreateBitCast(Rep, CI->getType());
2558 Rep = Builder.CreateOr(LHS, RHS);
2559 Rep = Builder.CreateBitCast(Rep, CI->getType());
2563 Rep = Builder.CreateXor(LHS, RHS);
2564 Rep = Builder.CreateBitCast(Rep, CI->getType());
2569 Rep = Builder.CreateXor(LHS, RHS);
2570 Rep = Builder.CreateBitCast(Rep, CI->getType());
2572 Rep = getX86MaskVec(Builder, CI->getArgOperand(0), 16);
2573 Rep = Builder.CreateNot(Rep);
2574 Rep = Builder.CreateBitCast(Rep, CI->getType());
2578 Rep = Builder.CreateOr(LHS, RHS);
2579 Rep = Builder.CreateBitCast(Rep, Builder.getInt16Ty());
2585 Rep = Builder.CreateICmpEQ(Rep, C);
2586 Rep = Builder.CreateZExt(Rep, Builder.getInt32Ty());
2605 Rep = Builder.CreateInsertElement(CI->getArgOperand(0), EltOp,
2610 Rep = upgradeMaskedCompare(Builder, *CI, CmpEq ? 0 : 6, true);
2629 Rep = Builder.CreateIntrinsic(IID, {},
2631 Rep = applyX86MaskOn1BitsVec(Builder, Rep, CI->getArgOperand(2));
2652 Rep = Builder.CreateIntrinsic(IID, {},
2654 Rep = applyX86MaskOn1BitsVec(Builder, Rep, CI->getArgOperand(2));
2681 Rep = Builder.CreateIntrinsic(IID, {}, Args);
2685 Rep = upgradeMaskedCompare(Builder, *CI, Imm, true);
2688 Rep = upgradeMaskedCompare(Builder, *CI, Imm, false);
2695 Rep = Builder.CreateICmp(ICmpInst::ICMP_SLT, Op, Zero);
2696 Rep = applyX86MaskOn1BitsVec(Builder, Rep, nullptr);
2700 Rep = upgradeAbs(Builder, *CI);
2704 Rep = upgradeX86BinaryIntrinsics(Builder, *CI, Intrinsic::smax);
2708 Rep = upgradeX86BinaryIntrinsics(Builder, *CI, Intrinsic::umax);
2712 Rep = upgradeX86BinaryIntrinsics(Builder, *CI, Intrinsic::smin);
2716 Rep = upgradeX86BinaryIntrinsics(Builder, *CI, Intrinsic::umin);
2720 Rep = upgradePMULDQ(Builder, *CI, /*Signed*/ false);
2724 Rep = upgradePMULDQ(Builder, *CI, /*Signed*/ true);
2727 Rep =
2730 Rep = Builder.CreateInsertElement(CI->getArgOperand(0), Rep, (uint64_t)0);
2732 Rep =
2735 Rep = Builder.CreateInsertElement(CI->getArgOperand(0), Rep, (uint64_t)0);
2737 Rep = Builder.CreateExtractElement(CI->getArgOperand(1), (uint64_t)0);
2738 Rep = Builder.CreateFPExt(
2739 Rep, cast<VectorType>(CI->getType())->getElementType());
2740 Rep = Builder.CreateInsertElement(CI->getArgOperand(0), Rep, (uint64_t)0);
2757 Rep = CI->getArgOperand(0);
2758 auto *SrcTy = cast<FixedVectorType>(Rep->getType());
2763 Rep = Builder.CreateShuffleVector(Rep, Rep, ArrayRef<int>{0, 1});
2769 Rep = Builder.CreateFPExt(Rep, DstTy, "cvtps2pd");
2775 Rep = Builder.CreateIntrinsic(IID, {DstTy, SrcTy},
2776 {Rep, CI->getArgOperand(3)});
2778 Rep = IsUnsigned ? Builder.CreateUIToFP(Rep, DstTy, "cvt")
2779 : Builder.CreateSIToFP(Rep, DstTy, "cvt");
2783 Rep = emitX86Select(Builder, CI->getArgOperand(2), Rep,
2788 Rep = CI->getArgOperand(0);
2789 auto *SrcTy = cast<FixedVectorType>(Rep->getType());
2793 Rep = Builder.CreateShuffleVector(Rep, Rep, ArrayRef<int>{0, 1, 2, 3});
2795 Rep = Builder.CreateBitCast(
2796 Rep, FixedVectorType::get(Type::getHalfTy(C), NumDstElts));
2797 Rep = Builder.CreateFPExt(Rep, DstTy, "cvtph2ps");
2799 Rep = emitX86Select(Builder, CI->getArgOperand(2), Rep,
2804 Rep = upgradeMaskedLoad(Builder, CI->getArgOperand(0), CI->getArgOperand(1),
2811 Rep = Builder.CreateIntrinsic(
2820 Rep = Builder.CreateIntrinsic(
2833 Rep = Builder.CreateIntrinsic(
2871 Rep = upgradeX86vpcom(Builder, *CI, Imm, IsSigned);
2877 Rep = Builder.CreateOr(Sel0, Sel1);
2880 Rep = upgradeX86Rotate(Builder, *CI, false);
2883 Rep = upgradeX86Rotate(Builder, *CI, true);
2888 Rep = upgradeX86ConcatShift(Builder, *CI, false, ZeroMask);
2893 Rep = upgradeX86ConcatShift(Builder, *CI, true, ZeroMask);
2897 Rep = Builder.CreateIntrinsic(Intrinsic::x86_sse42_crc32_32_8, {},
2899 Rep = Builder.CreateZExt(Rep, CI->getType(), "");
2908 Rep = PoisonValue::get(VecTy);
2910 Rep = Builder.CreateInsertElement(Rep, Load, ConstantInt::get(I32Ty, I));
2928 Rep =
2932 Rep = emitX86Select(Builder, CI->getArgOperand(2), Rep,
2939 Rep = Builder.CreateTrunc(CI->getArgOperand(0), Ty);
2940 Rep =
2941 emitX86Select(Builder, CI->getArgOperand(2), Rep, CI->getArgOperand(1));
2950 Rep = Builder.CreateShuffleVector(Load, ArrayRef<int>{0, 1, 0, 1});
2952 Rep = Builder.CreateShuffleVector(Load,
2972 Rep = Builder.CreateShuffleVector(CI->getArgOperand(0),
2974 Rep =
2975 emitX86Select(Builder, CI->getArgOperand(4), Rep, CI->getArgOperand(3));
2987 Rep = Builder.CreateShuffleVector(CI->getArgOperand(0),
2989 Rep =
2990 emitX86Select(Builder, CI->getArgOperand(2), Rep, CI->getArgOperand(1));
3001 Rep = Builder.CreateShuffleVector(Op, M);
3004 Rep = emitX86Select(Builder, CI->getArgOperand(2), Rep,
3010 Rep = upgradeX86BinaryIntrinsics(Builder, *CI, Intrinsic::sadd_sat);
3015 Rep = upgradeX86BinaryIntrinsics(Builder, *CI, Intrinsic::ssub_sat);
3019 Rep = upgradeX86BinaryIntrinsics(Builder, *CI, Intrinsic::uadd_sat);
3023 Rep = upgradeX86BinaryIntrinsics(Builder, *CI, Intrinsic::usub_sat);
3025 Rep = upgradeX86ALIGNIntrinsics(Builder, CI->getArgOperand(0),
3030 Rep = upgradeX86ALIGNIntrinsics(
3036 Rep = upgradeX86PSLLDQIntrinsics(Builder, CI->getArgOperand(0),
3041 Rep = upgradeX86PSRLDQIntrinsics(Builder, CI->getArgOperand(0),
3047 Rep = upgradeX86PSLLDQIntrinsics(Builder, CI->getArgOperand(0), Shift);
3052 Rep = upgradeX86PSRLDQIntrinsics(Builder, CI->getArgOperand(0), Shift);
3066 Rep = Builder.CreateShuffleVector(Op0, Op1, Idxs);
3088 Rep = Builder.CreateShuffleVector(Op1, Idxs);
3107 Rep = Builder.CreateShuffleVector(Op0, Rep, Idxs);
3111 Rep = emitX86Select(Builder, CI->getArgOperand(4), Rep,
3132 Rep = Builder.CreateShuffleVector(Op0, Op0, Idxs);
3136 Rep = emitX86Select(Builder, CI->getArgOperand(3), Rep,
3149 Rep = Builder.CreateShuffleVector(Op0, Op0, Idxs);
3152 Rep = emitX86Select(Builder, CI->getArgOperand(3), Rep,
3187 Rep = Builder.CreateShuffleVector(V0, V1, ShuffleMask);
3207 Rep = Builder.CreateShuffleVector(Op0, Op0, Idxs);
3210 Rep = emitX86Select(Builder, CI->getArgOperand(3), Rep,
3226 Rep = Builder.CreateShuffleVector(Op0, Op0, Idxs);
3229 Rep = emitX86Select(Builder, CI->getArgOperand(3), Rep,
3245 Rep = Builder.CreateShuffleVector(Op0, Op0, Idxs);
3248 Rep = emitX86Select(Builder, CI->getArgOperand(3), Rep,
3271 Rep = Builder.CreateShuffleVector(Op0, Op1, Idxs);
3273 Rep =
3274 emitX86Select(Builder, CI->getArgOperand(4), Rep, CI->getArgOperand(3));
3293 Rep = Builder.CreateShuffleVector(Op0, Op0, Idxs);
3295 Rep =
3296 emitX86Select(Builder, CI->getArgOperand(2), Rep, CI->getArgOperand(1));
3309 Rep = Builder.CreateShuffleVector(Op0, Op1, Idxs);
3311 Rep =
3312 emitX86Select(Builder, CI->getArgOperand(3), Rep, CI->getArgOperand(2));
3325 Rep = Builder.CreateShuffleVector(Op0, Op1, Idxs);
3327 Rep =
3328 emitX86Select(Builder, CI->getArgOperand(3), Rep, CI->getArgOperand(2));
3333 Rep = Builder.CreateAnd(Builder.CreateBitCast(CI->getArgOperand(0), ITy),
3335 Rep = Builder.CreateBitCast(Rep, FTy);
3336 Rep =
3337 emitX86Select(Builder, CI->getArgOperand(3), Rep, CI->getArgOperand(2));
3342 Rep = Builder.CreateNot(Builder.CreateBitCast(CI->getArgOperand(0), ITy));
3343 Rep = Builder.CreateAnd(Rep,
3345 Rep = Builder.CreateBitCast(Rep, FTy);
3346 Rep =
3347 emitX86Select(Builder, CI->getArgOperand(3), Rep, CI->getArgOperand(2));
3352 Rep = Builder.CreateOr(Builder.CreateBitCast(CI->getArgOperand(0), ITy),
3354 Rep = Builder.CreateBitCast(Rep, FTy);
3355 Rep =
3356 emitX86Select(Builder, CI->getArgOperand(3), Rep, CI->getArgOperand(2));
3361 Rep = Builder.CreateXor(Builder.CreateBitCast(CI->getArgOperand(0), ITy),
3363 Rep = Builder.CreateBitCast(Rep, FTy);
3364 Rep =
3365 emitX86Select(Builder, CI->getArgOperand(3), Rep, CI->getArgOperand(2));
3367 Rep = Builder.CreateAdd(CI->getArgOperand(0), CI->getArgOperand(1));
3368 Rep =
3369 emitX86Select(Builder, CI->getArgOperand(3), Rep, CI->getArgOperand(2));
3371 Rep = Builder.CreateSub(CI->getArgOperand(0), CI->getArgOperand(1));
3372 Rep =
3373 emitX86Select(Builder, CI->getArgOperand(3), Rep, CI->getArgOperand(2));
3375 Rep = Builder.CreateMul(CI->getArgOperand(0), CI->getArgOperand(1));
3376 Rep =
3377 emitX86Select(Builder, CI->getArgOperand(3), Rep, CI->getArgOperand(2));
3386 Rep = Builder.CreateIntrinsic(
3390 Rep = Builder.CreateFAdd(CI->getArgOperand(0), CI->getArgOperand(1));
3392 Rep =
3393 emitX86Select(Builder, CI->getArgOperand(3), Rep, CI->getArgOperand(2));
3402 Rep = Builder.CreateIntrinsic(
3406 Rep = Builder.CreateFDiv(CI->getArgOperand(0), CI->getArgOperand(1));
3408 Rep =
3409 emitX86Select(Builder, CI->getArgOperand(3), Rep, CI->getArgOperand(2));
3418 Rep = Builder.CreateIntrinsic(
3422 Rep = Builder.CreateFMul(CI->getArgOperand(0), CI->getArgOperand(1));
3424 Rep =
3425 emitX86Select(Builder, CI->getArgOperand(3), Rep, CI->getArgOperand(2));
3434 Rep = Builder.CreateIntrinsic(
3438 Rep = Builder.CreateFSub(CI->getArgOperand(0), CI->getArgOperand(1));
3440 Rep =
3441 emitX86Select(Builder, CI->getArgOperand(3), Rep, CI->getArgOperand(2));
3452 Rep = Builder.CreateIntrinsic(
3455 Rep =
3456 emitX86Select(Builder, CI->getArgOperand(3), Rep, CI->getArgOperand(2));
3458 Rep =
3461 Rep =
3462 emitX86Select(Builder, CI->getArgOperand(2), Rep, CI->getArgOperand(1));
3529 Rep = upgradeX86MaskedShift(Builder, *CI, IID);
3596 Rep = upgradeX86MaskedShift(Builder, *CI, IID);
3661 Rep = upgradeX86MaskedShift(Builder, *CI, IID);
3663 Rep = upgradeMaskedMove(Builder, *CI);
3665 Rep = upgradeMaskToInt(Builder, *CI);
3674 Rep = LI;
3699 Rep = Builder.CreateIntrinsic(Intrinsic::fma, Ops[0]->getType(), Ops);
3702 Rep = Builder.CreateInsertElement(CI->getArgOperand(0), Rep, (uint64_t)0);
3711 Rep = Builder.CreateIntrinsic(Intrinsic::fma, Ops[0]->getType(), Ops);
3713 Rep = Builder.CreateInsertElement(Constant::getNullValue(CI->getType()),
3714 Rep, (uint64_t)0);
3751 Rep = Builder.CreateIntrinsic(IID, {}, Ops);
3753 Rep = Builder.CreateIntrinsic(Intrinsic::fma, A->getType(), {A, B, C});
3756 Value *PassThru = IsMaskZ ? Constant::getNullValue(Rep->getType())
3766 Rep = emitX86ScalarSelect(Builder, CI->getArgOperand(3), Rep, PassThru);
3767 Rep = Builder.CreateInsertElement(CI->getArgOperand(IsMask3 ? 2 : 0), Rep,
3804 Rep = Builder.CreateIntrinsic(IID, {}, {A, B, C, CI->getArgOperand(4)});
3806 Rep = Builder.CreateIntrinsic(Intrinsic::fma, A->getType(), {A, B, C});
3813 Rep = emitX86Select(Builder, CI->getArgOperand(3), Rep, PassThru);
3832 Rep = Builder.CreateIntrinsic(IID, {}, Ops);
3855 Rep = Builder.CreateIntrinsic(IID, {}, Ops);
3875 Rep = Builder.CreateShuffleVector(Even, Odd, Idxs);
3882 Rep = emitX86Select(Builder, CI->getArgOperand(3), Rep, PassThru);
3906 Rep = Builder.CreateIntrinsic(IID, {}, Args);
3909 Rep = emitX86Select(Builder, CI->getArgOperand(4), Rep, PassThru);
3933 Rep = Builder.CreateIntrinsic(IID, {}, Args);
3936 Rep = emitX86Select(Builder, CI->getArgOperand(3), Rep, PassThru);
3942 Rep = upgradeX86VPERMT2Intrinsics(Builder, *CI, ZeroMask, IndexForm);
3968 Rep = Builder.CreateIntrinsic(IID, {}, Args);
3971 Rep = emitX86Select(Builder, CI->getArgOperand(3), Rep, PassThru);
3997 Rep = Builder.CreateIntrinsic(IID, {}, Args);
4000 Rep = emitX86Select(Builder, CI->getArgOperand(3), Rep, PassThru);
4028 Rep = nullptr;
4030 upgradeAVX512MaskToSelect(Name, Builder, *CI, Rep)) {
4031 // Rep will be updated by the call in the condition.
4034 return Rep;
4355 Value *Rep = nullptr;
4358 Rep = nullptr;
4360 Rep = upgradeNVVMIntrinsicCall(Name, CI, F, Builder);
4362 Rep = upgradeX86IntrinsicCall(Name, CI, F, Builder);
4364 Rep = upgradeAArch64IntrinsicCall(Name, CI, F, Builder);
4366 Rep = upgradeARMIntrinsicCall(Name, CI, F, Builder);
4368 Rep = upgradeAMDGCNIntrinsicCall(Name, CI, F, Builder);
4388 if (Rep)
4389 CI->replaceAllUsesWith(Rep);