Home
last modified time | relevance | path

Searched refs:SplatValue (Results 1 – 22 of 22) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Target/Mips/
H A DMipsSEISelDAGToDAG.cpp517 APInt SplatValue, SplatUndef; in selectVSplat() local
521 if (!Node->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in selectVSplat()
525 Imm = SplatValue; in selectVSplat()
1044 APInt SplatValue, SplatUndef; in trySelect() local
1054 if (!BVN->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in trySelect()
1086 if (SplatValue.isSignedIntN(10)) { in trySelect()
1087 SDValue Imm = CurDAG->getTargetConstant(SplatValue, DL, in trySelect()
1091 } else if (SplatValue.isSignedIntN(16) && in trySelect()
1115 const unsigned Lo = SplatValue.getLoBits(16).getZExtValue(); in trySelect()
1121 } else if (SplatValue.isSignedIntN(32) && SplatBitSize == 32) { in trySelect()
[all …]
H A DMipsISelDAGToDAG.cpp198 APInt SplatValue, SplatUndef; in selectVecAddAsVecSubIfProfitable() local
202 if (!BVN->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in selectVecAddAsVecSubIfProfitable()
208 if (IsInlineConstant(SplatValue)) in selectVecAddAsVecSubIfProfitable()
211 APInt NegSplatValue = 0 - SplatValue; in selectVecAddAsVecSubIfProfitable()
H A DMipsSEISelLowering.cpp578 APInt SplatValue, SplatUndef; in isVSplat() local
582 if (!Node->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in isVSplat()
586 Imm = SplatValue; in isVSplat()
603 APInt SplatValue, SplatUndef; in isVectorAllOnes() local
609 if (BVN->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs)) in isVectorAllOnes()
610 return SplatValue.isAllOnes(); in isVectorAllOnes()
887 APInt SplatValue, SplatUndef; in performDSPShiftCombine() local
897 !BV->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in performDSPShiftCombine()
900 (SplatValue.getZExtValue() >= EltSize)) in performDSPShiftCombine()
905 DAG.getConstant(SplatValue.getZExtValue(), DL, MVT::i32)); in performDSPShiftCombine()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/LoongArch/
H A DLoongArchISelDAGToDAG.cpp113 APInt SplatValue, SplatUndef; in INITIALIZE_PASS() local
123 if (!BVN->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in INITIALIZE_PASS()
150 if (SplatValue.isSignedIntN(10)) { in INITIALIZE_PASS()
151 SDValue Imm = CurDAG->getTargetConstant(SplatValue, DL, in INITIALIZE_PASS()
378 APInt SplatValue, SplatUndef; in selectVSplat() local
382 if (!Node->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in selectVSplat()
386 Imm = SplatValue; in selectVSplat()
H A DLoongArchISelLowering.cpp2458 APInt SplatValue, SplatUndef; in lowerBUILD_VECTOR() local
2471 if (Node->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in lowerBUILD_VECTOR()
2499 SDValue Result = DAG.getConstant(SplatValue, DL, ViaVecTy); in lowerBUILD_VECTOR()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopIdiomRecognize.cpp478 Value *SplatValue = isBytewiseValue(StoredVal, *DL); in isLegalStore() local
485 if (!UnorderedAtomic && HasMemset && SplatValue && !DisableLIRP::Memset && in isLegalStore()
488 CurLoop->isLoopInvariant(SplatValue)) { in isLegalStore()
936 Value *SplatValue = MSI->getValue(); in processLoopMemSet() local
937 if (!SplatValue || !CurLoop->isLoopInvariant(SplatValue)) in processLoopMemSet()
943 MSI->getDestAlign(), SplatValue, MSI, MSIs, in processLoopMemSet()
1075 Value *SplatValue = isBytewiseValue(StoredVal, *DL); in processLoopStridedStore() local
1077 if (!SplatValue) in processLoopStridedStore()
1135 if (SplatValue) { in processLoopStridedStore()
1136 NewCall = Builder.CreateMemSet(BasePtr, SplatValue, MemsetArg, in processLoopStridedStore()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
H A DUtils.cpp1338 int SplatValue = *FirstDefinedIdx; in getSplatIndex() local
1340 [&SplatValue](int Elt) { return Elt >= 0 && Elt != SplatValue; })) in getSplatIndex()
1343 return SplatValue; in getSplatIndex()
1397 int64_t SplatValue, bool AllowUndef) { in isBuildVectorConstantSplat() argument
1399 return SplatValAndReg->Value.getSExtValue() == SplatValue; in isBuildVectorConstantSplat()
1406 int64_t SplatValue, bool AllowUndef) { in isBuildVectorConstantSplat() argument
1407 return isBuildVectorConstantSplat(MI.getOperand(0).getReg(), MRI, SplatValue, in isBuildVectorConstantSplat()
H A DCombinerHelper.cpp6901 bool CombinerHelper::isConstantSplatVector(Register Src, int64_t SplatValue, in isConstantSplatVector() argument
6917 if (IConstant && IConstant->Value == SplatValue) in isConstantSplatVector()
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/
H A DUtils.h460 int64_t SplatValue, bool AllowUndef);
466 int64_t SplatValue, bool AllowUndef);
H A DCombinerHelper.h1105 bool isConstantSplatVector(Register Src, int64_t SplatValue,
/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyISelLowering.cpp2564 SDValue SplatValue; in LowerBUILD_VECTOR() local
2566 std::tie(SplatValue, NumSplatLanes) = GetMostCommon(SplatValueCounts); in LowerBUILD_VECTOR()
2680 if (NumSplatLanes == 1 && Op->getOperand(0) == SplatValue && in LowerBUILD_VECTOR()
2683 Result = DAG.getNode(ISD::SCALAR_TO_VECTOR, DL, VecT, SplatValue); in LowerBUILD_VECTOR()
2686 Result = DAG.getSplatBuildVector(VecT, DL, SplatValue); in LowerBUILD_VECTOR()
2688 IsLaneConstructed = [&SplatValue](size_t _, const SDValue &Lane) { in LowerBUILD_VECTOR()
2689 return Lane == SplatValue; in LowerBUILD_VECTOR()
3002 APInt SplatValue, SplatUndef; in performVectorTruncZeroCombine() local
3008 Splat->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in performVectorTruncZeroCombine()
3010 SplatValue == 0; in performVectorTruncZeroCombine()
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64TargetTransformInfo.cpp1833 auto *SplatValue = in instCombineSVECmpNE() local
1835 if (!SplatValue || !SplatValue->isZero()) in instCombineSVECmpNE()
2376 auto *SplatValue = dyn_cast_or_null<ConstantInt>(getSplatValue(OpIndices)); in instCombineSVETBL() local
2377 if (!SplatValue || in instCombineSVETBL()
2378 SplatValue->getValue().uge(VTy->getElementCount().getKnownMinValue())) in instCombineSVETBL()
2383 auto *Extract = IC.Builder.CreateExtractElement(OpVal, SplatValue); in instCombineSVETBL()
2498 Value *SplatValue = getSplatValue(DivVec); in instCombineSVESDIV() local
2499 ConstantInt *SplatConstantInt = dyn_cast_or_null<ConstantInt>(SplatValue); in instCombineSVESDIV()
H A DAArch64ISelLowering.cpp21567 APInt SplatValue, SplatUndef; in tryCombineShiftImm() local
21570 if (!BVN->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in tryCombineShiftImm()
21575 ShiftAmount = SplatValue.getSExtValue(); in tryCombineShiftImm()
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DSelectionDAGNodes.h92 LLVM_ABI bool isConstantSplatVector(const SDNode *N, APInt &SplatValue);
2200 LLVM_ABI bool isConstantSplat(APInt &SplatValue, APInt &SplatUndef,
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/
H A DAArch64InstructionSelector.cpp5771 if (Constant *SplatValue = CV->getSplatValue()) { in emitConstantVector() local
5773 isa<ConstantFP>(SplatValue) in emitConstantVector()
5774 ? cast<ConstantFP>(SplatValue)->getValueAPF().bitcastToAPInt() in emitConstantVector()
5775 : SplatValue->getUniqueInteger(); in emitConstantVector()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DSelectionDAG.cpp13300 bool BuildVectorSDNode::isConstantSplat(APInt &SplatValue, APInt &SplatUndef, in isConstantSplat() argument
13313 SplatValue = APInt(VecWidth, 0); in isConstantSplat()
13332 SplatValue.insertBits(CN->getAPIntValue().zextOrTrunc(EltWidth), BitPos); in isConstantSplat()
13334 SplatValue.insertBits(CN->getValueAPF().bitcastToAPInt(), BitPos); in isConstantSplat()
13350 APInt HighValue = SplatValue.extractBits(HalfSize, HalfSize); in isConstantSplat()
13351 APInt LowValue = SplatValue.extractBits(HalfSize, 0); in isConstantSplat()
13360 SplatValue = HighValue | LowValue; in isConstantSplat()
H A DTargetLowering.cpp6874 auto SplatValue = llvm::find_if_not(Values, Predicate); in turnVectorIntoSplatVector() local
6875 if (SplatValue != Values.end()) { in turnVectorIntoSplatVector()
6877 if (llvm::all_of(Values, [Predicate, SplatValue](SDValue Value) { in turnVectorIntoSplatVector()
6878 return Value == *SplatValue || Predicate(Value); in turnVectorIntoSplatVector()
6880 Replacement = *SplatValue; in turnVectorIntoSplatVector()
H A DDAGCombiner.cpp7523 APInt SplatValue, SplatUndef; in visitAND() local
7533 Vector->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in visitAND()
7541 SplatValue |= SplatUndef; in visitAND()
7549 Constant &= SplatValue.extractBits(EltBitWidth, i * EltBitWidth); in visitAND()
13400 APInt SplatValue; in visitVSELECT() local
13402 ISD::isConstantSplatVector(OpRHS.getNode(), SplatValue) && in visitVSELECT()
13404 SplatValue.isSignMask()) { in visitVSELECT()
13407 OpRHS = DAG.getConstant(SplatValue, DL, VT); in visitVSELECT()
H A DLegalizeVectorTypes.cpp2773 APInt SplatValue; in SplitVecRes_VECTOR_SHUFFLE() local
2775 (ISD::isConstantSplatVector(N.getNode(), SplatValue) || in SplitVecRes_VECTOR_SHUFFLE()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineCalls.cpp399 if (auto *SplatValue = getSplatValue(II.getArgOperand(0))) { in simplifyMaskedScatter() local
403 StoreInst *S = new StoreInst(SplatValue, SplatPtr, /*IsVolatile=*/false, in simplifyMaskedScatter()
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVISelLowering.cpp4055 uint64_t SplatValue = 0; in lowerBuildVectorOfConstants() local
4060 SplatValue |= in lowerBuildVectorOfConstants()
4068 SplatValue = SignExtend64<32>(SplatValue); in lowerBuildVectorOfConstants()
4072 DAG.getSignedConstant(SplatValue, DL, XLenVT), 0); in lowerBuildVectorOfConstants()
4109 uint64_t SplatValue = 0; in lowerBuildVectorOfConstants() local
4114 SplatValue |= in lowerBuildVectorOfConstants()
4123 SplatValue = SignExtend64<32>(SplatValue); in lowerBuildVectorOfConstants()
4131 if (ViaIntVT.bitsLE(XLenVT) || isInt<32>(SplatValue)) { in lowerBuildVectorOfConstants()
4139 DAG.getSignedConstant(SplatValue, DL, XLenVT), ViaVL); in lowerBuildVectorOfConstants()
13043 SDValue SplatValue = DAG.getSignedConstant( in lowerVPExtMaskOp() local
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86ISelLowering.cpp4512 APInt SplatValue, SplatUndef; in getAVX512Node() local
4515 if (BV->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in getAVX512Node()
4517 !HasAnyUndefs && SplatValue.getBitWidth() == OpEltSizeInBits) in getAVX512Node()
4518 return DAG.getConstant(SplatValue, DL, DstVT); in getAVX512Node()
7570 static Constant *getConstantVector(MVT VT, const APInt &SplatValue, in getConstantVector() argument
7587 return getConstantScalar(SplatValue); in getConstantVector()
7592 APInt Val = SplatValue.extractBits(ScalarSize, ScalarSize * I); in getConstantVector()
7707 APInt SplatValue, Undef; in lowerBuildVectorAsBroadcast() local
7711 if (BVOp->isConstantSplat(SplatValue, Undef, SplatBitSize, HasUndef) && in lowerBuildVectorAsBroadcast()
7725 Constant *C = getConstantVector(VT, SplatValue, SplatBitSize, *Ctx); in lowerBuildVectorAsBroadcast()
[all …]