Lines Matching defs:VPIntrin

8239 static unsigned getISDForVPIntrinsic(const VPIntrinsic &VPIntrin) {
8241 switch (VPIntrin.getIntrinsicID()) {
8243 bool IsZeroUndef = cast<ConstantInt>(VPIntrin.getArgOperand(1))->isOne();
8248 bool IsZeroUndef = cast<ConstantInt>(VPIntrin.getArgOperand(1))->isOne();
8253 bool IsZeroPoison = cast<ConstantInt>(VPIntrin.getArgOperand(1))->isOne();
8270 if (VPIntrin.getFastMathFlags().allowReassoc())
8279 const VPIntrinsic &VPIntrin, EVT VT,
8282 Value *PtrOperand = VPIntrin.getArgOperand(0);
8283 MaybeAlign Alignment = VPIntrin.getPointerAlignment();
8284 AAMDNodes AAInfo = VPIntrin.getAAMetadata();
8285 const MDNode *Ranges = getRangeMetadata(VPIntrin);
8301 setValue(&VPIntrin, LD);
8305 const VPIntrinsic &VPIntrin, EVT VT,
8309 Value *PtrOperand = VPIntrin.getArgOperand(0);
8310 MaybeAlign Alignment = VPIntrin.getPointerAlignment();
8311 AAMDNodes AAInfo = VPIntrin.getAAMetadata();
8312 const MDNode *Ranges = getRangeMetadata(VPIntrin);
8324 this, VPIntrin.getParent(),
8343 setValue(&VPIntrin, LD);
8347 const VPIntrinsic &VPIntrin, const SmallVectorImpl<SDValue> &OpValues) {
8349 Value *PtrOperand = VPIntrin.getArgOperand(1);
8351 MaybeAlign Alignment = VPIntrin.getPointerAlignment();
8352 AAMDNodes AAInfo = VPIntrin.getAAMetadata();
8365 setValue(&VPIntrin, ST);
8369 const VPIntrinsic &VPIntrin, const SmallVectorImpl<SDValue> &OpValues) {
8372 Value *PtrOperand = VPIntrin.getArgOperand(1);
8374 MaybeAlign Alignment = VPIntrin.getPointerAlignment();
8375 AAMDNodes AAInfo = VPIntrin.getAAMetadata();
8387 this, VPIntrin.getParent(),
8407 setValue(&VPIntrin, ST);
8411 const VPIntrinsic &VPIntrin, EVT VT,
8414 Value *PtrOperand = VPIntrin.getArgOperand(0);
8415 MaybeAlign Alignment = VPIntrin.getPointerAlignment();
8418 AAMDNodes AAInfo = VPIntrin.getAAMetadata();
8419 const MDNode *Ranges = getRangeMetadata(VPIntrin);
8434 setValue(&VPIntrin, LD);
8438 const VPIntrinsic &VPIntrin, const SmallVectorImpl<SDValue> &OpValues) {
8440 Value *PtrOperand = VPIntrin.getArgOperand(1);
8442 MaybeAlign Alignment = VPIntrin.getPointerAlignment();
8445 AAMDNodes AAInfo = VPIntrin.getAAMetadata();
8458 setValue(&VPIntrin, ST);
8461 void SelectionDAGBuilder::visitVPCmp(const VPCmpIntrinsic &VPIntrin) {
8466 CmpInst::Predicate CondCode = VPIntrin.getPredicate();
8467 bool IsFP = VPIntrin.getOperand(0)->getType()->isFPOrFPVectorTy();
8479 SDValue Op1 = getValue(VPIntrin.getOperand(0));
8480 SDValue Op2 = getValue(VPIntrin.getOperand(1));
8482 SDValue MaskOp = getValue(VPIntrin.getOperand(3));
8483 SDValue EVL = getValue(VPIntrin.getOperand(4));
8490 VPIntrin.getType());
8491 setValue(&VPIntrin,
8496 const VPIntrinsic &VPIntrin) {
8498 unsigned Opcode = getISDForVPIntrinsic(VPIntrin);
8500 auto IID = VPIntrin.getIntrinsicID();
8502 if (const auto *CmpI = dyn_cast<VPCmpIntrinsic>(&VPIntrin))
8507 ComputeValueVTs(TLI, DAG.getDataLayout(), VPIntrin.getType(), ValueVTs);
8518 for (unsigned I = 0; I < VPIntrin.arg_size(); ++I) {
8519 auto Op = getValue(VPIntrin.getArgOperand(I));
8528 if (auto *FPMO = dyn_cast<FPMathOperator>(&VPIntrin))
8531 setValue(&VPIntrin, Result);
8535 visitVPLoad(VPIntrin, ValueVTs[0], OpValues);
8538 visitVPGather(VPIntrin, ValueVTs[0], OpValues);
8541 visitVPStridedLoad(VPIntrin, ValueVTs[0], OpValues);
8544 visitVPStore(VPIntrin, OpValues);
8547 visitVPScatter(VPIntrin, OpValues);
8550 visitVPStridedStore(VPIntrin, OpValues);
8555 if (auto *FPMO = dyn_cast<FPMathOperator>(&VPIntrin))
8559 setValue(&VPIntrin, DAG.getNode(ISD::VP_FMA, DL, VTs, OpValues, SDFlags));
8567 setValue(&VPIntrin, Add);
8573 EVT DestVT = TLI.getValueType(DLayout, VPIntrin.getType());
8578 setValue(&VPIntrin, V);
8583 EVT DestVT = TLI.getValueType(DAG.getDataLayout(), VPIntrin.getType());
8584 EVT PtrMemVT = TLI.getMemValueType(DAG.getDataLayout(), VPIntrin.getType());
8589 setValue(&VPIntrin, N);
8595 VPIntrin.getType());
8597 VPIntrin.getOperand(0)->getType());
8602 setValue(&VPIntrin, N);
8614 setValue(&VPIntrin, Result);