Home
last modified time | relevance | path

Searched refs:SplatVal (Results 1 – 24 of 24) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVISelDAGToDAG.h139 bool selectVSplat(SDValue N, SDValue &SplatVal);
140 bool selectVSplatSimm5(SDValue N, SDValue &SplatVal);
141 bool selectVSplatUimm(SDValue N, unsigned Bits, SDValue &SplatVal);
145 bool selectVSplatSimm5Plus1(SDValue N, SDValue &SplatVal);
146 bool selectVSplatSimm5Plus1NoDec(SDValue N, SDValue &SplatVal);
147 bool selectVSplatSimm5Plus1NonZero(SDValue N, SDValue &SplatVal);
148 bool selectVSplatImm64Neg(SDValue N, SDValue &SplatVal);
151 bool selectLow8BitsVSplat(SDValue N, SDValue &SplatVal);
H A DRISCVISelDAGToDAG.cpp3841 bool RISCVDAGToDAGISel::selectVSplat(SDValue N, SDValue &SplatVal) { in selectVSplat() argument
3846 SplatVal = Splat.getOperand(1); in selectVSplat()
3850 static bool selectVSplatImmHelper(SDValue N, SDValue &SplatVal, in selectVSplatImmHelper() argument
3880 SplatVal = in selectVSplatImmHelper()
3885 bool RISCVDAGToDAGISel::selectVSplatSimm5(SDValue N, SDValue &SplatVal) { in selectVSplatSimm5() argument
3886 return selectVSplatImmHelper(N, SplatVal, *CurDAG, *Subtarget, in selectVSplatSimm5()
3890 bool RISCVDAGToDAGISel::selectVSplatSimm5Plus1(SDValue N, SDValue &SplatVal) { in selectVSplatSimm5Plus1() argument
3892 N, SplatVal, *CurDAG, *Subtarget, in selectVSplatSimm5Plus1()
3897 bool RISCVDAGToDAGISel::selectVSplatSimm5Plus1NoDec(SDValue N, SDValue &SplatVal) { in selectVSplatSimm5Plus1NoDec() argument
3899 N, SplatVal, *CurDAG, *Subtarget, in selectVSplatSimm5Plus1NoDec()
[all …]
H A DRISCVISelLowering.cpp3696 static SDValue matchSplatAsGather(SDValue SplatVal, MVT VT, const SDLoc &DL, in matchSplatAsGather() argument
3699 if (SplatVal.getOpcode() != ISD::EXTRACT_VECTOR_ELT) in matchSplatAsGather()
3701 SDValue Src = SplatVal.getOperand(0); in matchSplatAsGather()
3710 SDValue Idx = SplatVal.getOperand(1); in matchSplatAsGather()
9514 SDValue SplatVal = Op.getOperand(0); in lowerVectorMaskSplat() local
9525 SplatVal = DAG.getNode(ISD::AND, DL, SplatVal.getValueType(), SplatVal, in lowerVectorMaskSplat()
9526 DAG.getConstant(1, DL, SplatVal.getValueType())); in lowerVectorMaskSplat()
9527 SDValue LHS = DAG.getSplatVector(InterVT, DL, SplatVal); in lowerVectorMaskSplat()
19389 APInt &SplatVal) { in combineTruncToVnclip() argument
19406 if (ISD::isConstantSplatVector(Op.getNode(), SplatVal)) in combineTruncToVnclip()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/LoongArch/
H A DLoongArchISelDAGToDAG.cpp392 bool LoongArchDAGToDAGISel::selectVSplatImm(SDValue N, SDValue &SplatVal) { in selectVSplatImm() argument
402 SplatVal = CurDAG->getSignedTargetConstant( in selectVSplatImm()
407 SplatVal = CurDAG->getTargetConstant(ImmValue.getZExtValue(), SDLoc(N), in selectVSplatImm()
H A DLoongArchISelDAGToDAG.h63 bool selectVSplatImm(SDValue N, SDValue &SplatVal);
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DConstants.cpp118 if (const auto *SplatVal = getSplatValue()) in isAllOnesValue() local
119 return SplatVal->isAllOnesValue(); in isAllOnesValue()
135 if (const auto *SplatVal = getSplatValue()) in isOneValue() local
136 return SplatVal->isOneValue(); in isOneValue()
162 if (const auto *SplatVal = getSplatValue()) in isNotOneValue() local
163 return SplatVal->isNotOneValue(); in isNotOneValue()
180 if (const auto *SplatVal = getSplatValue()) in isMinSignedValue() local
181 return SplatVal->isMinSignedValue(); in isMinSignedValue()
207 if (const auto *SplatVal = getSplatValue()) in isNotMinSignedValue() local
208 return SplatVal->isNotMinSignedValue(); in isNotMinSignedValue()
[all …]
H A DAsmWriter.cpp1763 if (auto *SplatVal = CV->getSplatValue()) { in WriteConstantInternal() local
1764 if (isa<ConstantInt>(SplatVal) || isa<ConstantFP>(SplatVal)) { in WriteConstantInternal()
1768 WriteAsOperandInternal(Out, SplatVal, WriterCtx); in WriteConstantInternal()
1815 if (auto *SplatVal = CE->getSplatValue()) { in WriteConstantInternal() local
1816 if (isa<ConstantInt>(SplatVal) || isa<ConstantFP>(SplatVal)) { in WriteConstantInternal()
1818 WriterCtx.TypePrinter->print(SplatVal->getType(), Out); in WriteConstantInternal()
1820 WriteAsOperandInternal(Out, SplatVal, WriterCtx); in WriteConstantInternal()
H A DConstantFold.cpp397 if (Constant *SplatVal = Val->getSplatValue()) in ConstantFoldExtractElementInstruction() local
398 return SplatVal; in ConstantFoldExtractElementInstruction()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DSIFoldOperands.cpp234 int64_t SplatVal,
1038 MachineInstr *UseMI, unsigned UseOpIdx, int64_t SplatVal, in tryFoldRegSeqSplat() argument
1057 if (SplatVal != 0 && SplatVal != -1) { in tryFoldRegSeqSplat()
1078 MachineOperand TmpOp = MachineOperand::CreateImm(SplatVal); in tryFoldRegSeqSplat()
1160 int64_t SplatVal; in foldOperand() local
1162 std::tie(SplatVal, SplatRC) = isRegSeqSplat(*UseMI); in foldOperand()
1172 if (tryFoldRegSeqSplat(RSUseMI, OpNo, SplatVal, SplatRC)) { in foldOperand()
1173 FoldableDef SplatDef(SplatVal, SplatRC); in foldOperand()
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/GISel/
H A DRISCVLegalizerInfo.cpp1016 Register SplatVal = MI.getOperand(1).getReg(); in legalizeSplatVector() local
1025 buildSplatSplitS64WithVL(Dst, MIB.buildUndef(VecTy), SplatVal, VL, MIB, in legalizeSplatVector()
1032 MachineInstr &SplatValMI = *MRI.getVRegDef(SplatVal); in legalizeSplatVector()
1050 auto ZExtSplatVal = MIB.buildZExt(InterEltTy, SplatVal); in legalizeSplatVector()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineVectorOps.cpp1309 Value *SplatVal = InsElt.getOperand(1); in foldInsSequenceIntoSplat() local
1318 if (!Idx || CurrIE->getOperand(1) != SplatVal) in foldInsSequenceIntoSplat()
1351 FirstIE = InsertElementInst::Create(PoisonVec, SplatVal, Zero, "", in foldInsSequenceIntoSplat()
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64ISelLowering.cpp11559 SDValue SplatVal = DAG.getSExtOrTrunc(CCVal, DL, SplatValVT); in LowerSELECT() local
11560 SDValue SplatPred = DAG.getNode(ISD::SPLAT_VECTOR, DL, PredVT, SplatVal); in LowerSELECT()
14180 SDValue SplatVal = DAG.getAnyExtOrTrunc(Op.getOperand(0), DL, MVT::i64); in LowerSPLAT_VECTOR() local
14181 SplatVal = DAG.getNode(ISD::SIGN_EXTEND_INREG, DL, MVT::i64, SplatVal, in LowerSPLAT_VECTOR()
14189 Zero, SplatVal), in LowerSPLAT_VECTOR()
14191 return DAG.getNode(ISD::INTRINSIC_WO_CHAIN, DL, VT, ID, Zero, SplatVal); in LowerSPLAT_VECTOR()
15555 static bool isPow2Splat(SDValue Op, uint64_t &SplatVal, bool &Negated) { in isPow2Splat() argument
15562 !isAllConstantBuildVector(Op, SplatVal)) in isPow2Splat()
15569 SplatVal = Op->getConstantOperandVal(0); in isPow2Splat()
15571 SplatVal = (int32_t)SplatVal; in isPow2Splat()
[all …]
H A DAArch64TargetTransformInfo.cpp1926 if (auto *SplatVal = getSplatValue(Vec)) in instCombineSVELast() local
1927 return IC.replaceInstUsesWith(II, SplatVal); in instCombineSVELast()
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86ISelLowering.h1035 bool isConstantSplat(SDValue Op, APInt &SplatVal,
H A DX86ISelDAGToDAG.cpp1021 APInt SplatVal; in PreprocessISelDAG() local
1022 if (X86::isConstantSplat(N->getOperand(1), SplatVal) && in PreprocessISelDAG()
1023 SplatVal.isOne()) { in PreprocessISelDAG()
H A DX86ISelLowering.cpp5323 bool isConstantSplat(SDValue Op, APInt &SplatVal, bool AllowPartialUndefs) { in isConstantSplat() argument
5340 SplatVal = EltBits[SplatIndex]; in isConstantSplat()
33936 APInt SplatVal; in ReplaceNodeResults() local
33937 if (ISD::isConstantSplatVector(N->getOperand(1).getNode(), SplatVal)) { in ReplaceNodeResults()
33943 SDValue N1 = DAG.getConstant(SplatVal, dl, ResVT); in ReplaceNodeResults()
51169 APInt SplatVal; in combineAndMaskToShift() local
51170 if (!X86::isConstantSplat(Op1, SplatVal, false) || !SplatVal.isMask()) in combineAndMaskToShift()
51184 unsigned ShiftVal = SplatVal.countr_one(); in combineAndMaskToShift()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DSelectionDAG.cpp151 bool ISD::isConstantSplatVector(const SDNode *N, APInt &SplatVal) { in isConstantSplatVector() argument
156 SplatVal = OptAPInt->trunc(EltSize); in isConstantSplatVector()
174 return BV->isConstantSplat(SplatVal, SplatUndef, SplatBitSize, HasUndefs, in isConstantSplatVector()
188 APInt SplatVal; in isConstantSplatVectorAllOnes() local
189 return isConstantSplatVector(N, SplatVal) && SplatVal.isAllOnes(); in isConstantSplatVectorAllOnes()
234 APInt SplatVal; in isConstantSplatVectorAllZeros() local
235 return isConstantSplatVector(N, SplatVal) && SplatVal.isZero(); in isConstantSplatVectorAllZeros()
H A DDAGCombiner.cpp12458 if (SDValue SplatVal = DAG.getSplatValue(Index); in refineUniformBase() local
12459 SplatVal && !isNullConstant(SplatVal) && in refineUniformBase()
12460 SplatVal.getValueType() == VT) { in refineUniformBase()
12461 BasePtr = DAG.getNode(ISD::ADD, DL, VT, BasePtr, SplatVal); in refineUniformBase()
12469 if (SDValue SplatVal = DAG.getSplatValue(Index.getOperand(0)); in refineUniformBase() local
12470 SplatVal && SplatVal.getValueType() == VT) { in refineUniformBase()
12471 BasePtr = DAG.getNode(ISD::ADD, DL, VT, BasePtr, SplatVal); in refineUniformBase()
12475 if (SDValue SplatVal = DAG.getSplatValue(Index.getOperand(1)); in refineUniformBase() local
12476 SplatVal && SplatVal.getValueType() == VT) { in refineUniformBase()
12477 BasePtr = DAG.getNode(ISD::ADD, DL, VT, BasePtr, SplatVal); in refineUniformBase()
[all …]
H A DLegalizeDAG.cpp2116 SDValue SplatVal = Node->getOperand(0); in ExpandSPLAT_VECTOR() local
2118 return DAG.getSplatBuildVector(VT, DL, SplatVal); in ExpandSPLAT_VECTOR()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
H A DIRTranslator.cpp3323 auto SplatVal = MIRBuilder.buildExtractVectorElementConstant( in translateShuffleVector() local
3325 MIRBuilder.buildSplatVector(getOrCreateVReg(U), SplatVal); in translateShuffleVector()
H A DLegalizerHelper.cpp9698 APInt SplatVal = APInt::getSplat(NumBits, Scalar); in getMemsetValue() local
9699 return MIB.buildConstant(Ty, SplatVal).getReg(0); in getMemsetValue()
/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyISelLowering.cpp3000 auto IsZeroSplat = [](SDValue SplatVal) { in performVectorTruncZeroCombine() argument
3001 auto *Splat = dyn_cast<BuildVectorSDNode>(SplatVal.getNode()); in performVectorTruncZeroCombine()
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZISelLowering.cpp8255 SDValue SplatVal = Op1->getOperand(0); in combineSTORE() local
8256 if (auto *C = dyn_cast<ConstantSDNode>(SplatVal)) in combineSTORE()
8257 FindReplicatedImm(C, SplatVal.getValueType().getStoreSize()); in combineSTORE()
8259 FindReplicatedReg(SplatVal); in combineSTORE()
8272 SDValue SplatVal = DAG.getSplatVector(SplatVT, SDLoc(SN), Word); in combineSTORE() local
8273 return DAG.getStore(SN->getChain(), SDLoc(SN), SplatVal, in combineSTORE()
/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/
H A DPPCISelLowering.cpp10349 unsigned SplatVal = APSplatValue.getZExtValue(); in lowerToXXSPLTI32DX() local
10351 SplatVal |= (SplatVal << SplatBitSize); in lowerToXXSPLTI32DX()
10355 Index, DAG.getTargetConstant(SplatVal, DL, MVT::i32)); in lowerToXXSPLTI32DX()
16557 SDValue SplatVal = in combineVectorShuffle() local
16559 TheSplat = DAG.getSplatBuildVector(TheSplat.getValueType(), dl, SplatVal); in combineVectorShuffle()