Home
last modified time | relevance | path

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

/llvm-project-15.0.7/llvm/lib/Target/RISCV/
H A DRISCVISelDAGToDAG.h80 bool selectVSplat(SDValue N, SDValue &SplatVal);
81 bool selectVSplatSimm5(SDValue N, SDValue &SplatVal);
82 bool selectVSplatUimm5(SDValue N, SDValue &SplatVal);
83 bool selectVSplatSimm5Plus1(SDValue N, SDValue &SplatVal);
84 bool selectVSplatSimm5Plus1NonZero(SDValue N, SDValue &SplatVal);
H A DRISCVISelDAGToDAG.cpp2255 bool RISCVDAGToDAGISel::selectVSplat(SDValue N, SDValue &SplatVal) { in selectVSplat() argument
2258 SplatVal = N.getOperand(1); in selectVSplat()
2264 static bool selectVSplatSimmHelper(SDValue N, SDValue &SplatVal, in selectVSplatSimmHelper() argument
2292 SplatVal = DAG.getTargetConstant(SplatImm, SDLoc(N), XLenVT); in selectVSplatSimmHelper()
2296 bool RISCVDAGToDAGISel::selectVSplatSimm5(SDValue N, SDValue &SplatVal) { in selectVSplatSimm5() argument
2297 return selectVSplatSimmHelper(N, SplatVal, *CurDAG, *Subtarget, in selectVSplatSimm5()
2303 N, SplatVal, *CurDAG, *Subtarget, in selectVSplatSimm5Plus1()
2308 SDValue &SplatVal) { in selectVSplatSimm5Plus1NonZero() argument
2310 N, SplatVal, *CurDAG, *Subtarget, [](int64_t Imm) { in selectVSplatSimm5Plus1NonZero()
2315 bool RISCVDAGToDAGISel::selectVSplatUimm5(SDValue N, SDValue &SplatVal) { in selectVSplatUimm5() argument
[all …]
H A DRISCVISelLowering.cpp2033 static SDValue matchSplatAsGather(SDValue SplatVal, MVT VT, const SDLoc &DL, in matchSplatAsGather() argument
2036 if (SplatVal.getOpcode() != ISD::EXTRACT_VECTOR_ELT) in matchSplatAsGather()
2038 SDValue Vec = SplatVal.getOperand(0); in matchSplatAsGather()
2044 SDValue Idx = SplatVal.getOperand(1); in matchSplatAsGather()
4136 SDValue SplatVal = Op.getOperand(0); in lowerVectorMaskSplat() local
4147 assert(SplatVal.getValueType() == XLenVT && in lowerVectorMaskSplat()
4150 SplatVal = DAG.getNode(ISD::AND, DL, XLenVT, SplatVal, in lowerVectorMaskSplat()
4152 SDValue LHS = DAG.getSplatVector(InterVT, DL, SplatVal); in lowerVectorMaskSplat()
/llvm-project-15.0.7/llvm/test/Transforms/LoopVectorize/X86/
H A Douter_loop_test1_no_explicit_vect_width.ll22 ; CHECK: %[[SplatVal:.*]] = insertelement <4 x i32> poison, i32 %n, i32 0
23 ; CHECK: %[[Splat:.*]] = shufflevector <4 x i32> %[[SplatVal]], <4 x i32> poison, <4 x i32> zeroini…
51 ; AVX: %[[SplatVal:.*]] = insertelement <8 x i32> poison, i32 %n, i32 0
52 ; AVX: %[[Splat:.*]] = shufflevector <8 x i32> %[[SplatVal]], <8 x i32> poison, <8 x i32> zeroiniti…
/llvm-project-15.0.7/llvm/test/Transforms/LoopVectorize/AArch64/
H A Douter_loop_test1_no_explicit_vect_width.ll21 ; CHECK: %[[SplatVal:.*]] = insertelement <4 x i32> poison, i32 %n, i32 0
22 ; CHECK: %[[Splat:.*]] = shufflevector <4 x i32> %[[SplatVal]], <4 x i32> poison, <4 x i32> zeroini…
88 ; CHECK: %[[SplatVal:.*]] = insertelement <2 x i64> poison, i64 %n, i32 0
89 ; CHECK: %[[Splat:.*]] = shufflevector <2 x i64> %[[SplatVal]], <2 x i64> poison, <2 x i32> zeroini…
/llvm-project-15.0.7/llvm/test/Transforms/LoopVectorize/
H A Douter_loop_test1.ll18 ; CHECK: %[[SplatVal:.*]] = insertelement <4 x i32> poison, i32 %n, i32 0
19 ; CHECK: %[[Splat:.*]] = shufflevector <4 x i32> %[[SplatVal]], <4 x i32> poison, <4 x i32> zeroini…
/llvm-project-15.0.7/llvm/lib/IR/
H A DConstants.cpp104 if (const auto *SplatVal = getSplatValue()) in isAllOnesValue() local
105 return SplatVal->isAllOnesValue(); in isAllOnesValue()
121 if (const auto *SplatVal = getSplatValue()) in isOneValue() local
122 return SplatVal->isOneValue(); in isOneValue()
148 if (const auto *SplatVal = getSplatValue()) in isNotOneValue() local
149 return SplatVal->isNotOneValue(); in isNotOneValue()
166 if (const auto *SplatVal = getSplatValue()) in isMinSignedValue() local
167 return SplatVal->isMinSignedValue(); in isMinSignedValue()
193 if (const auto *SplatVal = getSplatValue()) in isNotMinSignedValue() local
194 return SplatVal->isNotMinSignedValue(); in isNotMinSignedValue()
[all …]
H A DConstantFold.cpp667 if (Constant *SplatVal = Val->getSplatValue()) in ConstantFoldExtractElementInstruction() local
668 return SplatVal; in ConstantFoldExtractElementInstruction()
/llvm-project-15.0.7/llvm/unittests/IR/
H A DConstantsTest.cpp766 Constant *SplatVal = Splat->getSplatValue(); in TEST() local
767 EXPECT_NE(nullptr, SplatVal); in TEST()
768 EXPECT_EQ(SplatVal, C); in TEST()
/llvm-project-15.0.7/llvm/lib/Target/AArch64/
H A DAArch64ISelLowering.cpp10641 SplatVal = DAG.getNode(ISD::SIGN_EXTEND_INREG, DL, MVT::i64, SplatVal, in LowerSPLAT_VECTOR()
11765 SplatVal = Op->getConstantOperandVal(0); in isPow2Splat()
11767 SplatVal = (int32_t)SplatVal; in isPow2Splat()
11770 if (isPowerOf2_64(SplatVal)) in isPow2Splat()
11774 if (isPowerOf2_64(-SplatVal)) { in isPow2Splat()
11775 SplatVal = -SplatVal; in isPow2Splat()
11795 uint64_t SplatVal; in LowerDIV() local
17079 SDValue SplatVal = in replaceZeroVectorStore() local
17112 SDValue SplatVal; in replaceSplatVectorStore() local
17120 SplatVal = StVal.getOperand(1); in replaceSplatVectorStore()
[all …]
H A DAArch64TargetTransformInfo.cpp802 if (auto *SplatVal = getSplatValue(Vec)) in instCombineSVELast() local
803 return IC.replaceInstUsesWith(II, SplatVal); in instCombineSVELast()
/llvm-project-15.0.7/llvm/lib/Transforms/InstCombine/
H A DInstCombineVectorOps.cpp1189 Value *SplatVal = InsElt.getOperand(1); in foldInsSequenceIntoSplat() local
1198 if (!Idx || CurrIE->getOperand(1) != SplatVal) in foldInsSequenceIntoSplat()
1231 FirstIE = InsertElementInst::Create(PoisonVec, SplatVal, Zero, "", &InsElt); in foldInsSequenceIntoSplat()
/llvm-project-15.0.7/llvm/lib/Target/X86/
H A DX86ISelLowering.h912 bool isConstantSplat(SDValue Op, APInt &SplatVal,
H A DX86ISelDAGToDAG.cpp956 APInt SplatVal; in PreprocessISelDAG() local
957 if (X86::isConstantSplat(N->getOperand(1), SplatVal) && in PreprocessISelDAG()
958 SplatVal.isOne()) { in PreprocessISelDAG()
H A DX86ISelLowering.cpp7495 bool isConstantSplat(SDValue Op, APInt &SplatVal, bool AllowPartialUndefs) { in isConstantSplat() argument
7512 SplatVal = EltBits[SplatIndex]; in isConstantSplat()
32535 APInt SplatVal; in ReplaceNodeResults() local
32536 if (ISD::isConstantSplatVector(N->getOperand(1).getNode(), SplatVal)) { in ReplaceNodeResults()
32542 SDValue N1 = DAG.getConstant(SplatVal, dl, ResVT); in ReplaceNodeResults()
47655 APInt SplatVal; in combineAndMaskToShift() local
47656 if (!ISD::isConstantSplatVector(Op1.getNode(), SplatVal) || in combineAndMaskToShift()
47657 !SplatVal.isMask()) in combineAndMaskToShift()
47672 unsigned ShiftVal = SplatVal.countTrailingOnes(); in combineAndMaskToShift()
/llvm-project-15.0.7/llvm/lib/CodeGen/SelectionDAG/
H A DSelectionDAG.cpp139 bool ISD::isConstantSplatVector(const SDNode *N, APInt &SplatVal) { in isConstantSplatVector() argument
144 SplatVal = Op0->getAPIntValue().trunc(EltSize); in isConstantSplatVector()
148 SplatVal = Op0->getValueAPF().bitcastToAPInt().trunc(EltSize); in isConstantSplatVector()
161 return BV->isConstantSplat(SplatVal, SplatUndef, SplatBitSize, HasUndefs, in isConstantSplatVector()
175 APInt SplatVal; in isConstantSplatVectorAllOnes() local
176 return isConstantSplatVector(N, SplatVal) && SplatVal.isAllOnes(); in isConstantSplatVectorAllOnes()
224 APInt SplatVal; in isConstantSplatVectorAllZeros() local
225 return isConstantSplatVector(N, SplatVal) && SplatVal.isZero(); in isConstantSplatVectorAllZeros()
H A DLegalizeDAG.cpp2010 SDValue SplatVal = Node->getOperand(0); in ExpandSPLAT_VECTOR() local
2012 return DAG.getSplatBuildVector(VT, DL, SplatVal); in ExpandSPLAT_VECTOR()
H A DDAGCombiner.cpp10581 SDValue SplatVal = DAG.getSplatValue(LHS); in refineUniformBase() local
10582 if (!SplatVal || SplatVal.getValueType() != BasePtr.getValueType()) in refineUniformBase()
10585 BasePtr = SplatVal; in refineUniformBase()
19743 APInt SplatVal; in scalarizeExtractedBinop() local
19745 ISD::isConstantSplatVector(Op0.getNode(), SplatVal) || in scalarizeExtractedBinop()
19747 ISD::isConstantSplatVector(Op1.getNode(), SplatVal)) { in scalarizeExtractedBinop()
/llvm-project-15.0.7/llvm/lib/Target/WebAssembly/
H A DWebAssemblyISelLowering.cpp2522 auto IsZeroSplat = [](SDValue SplatVal) { in performVectorTruncZeroCombine() argument
2523 auto *Splat = dyn_cast<BuildVectorSDNode>(SplatVal.getNode()); in performVectorTruncZeroCombine()
/llvm-project-15.0.7/llvm/lib/Target/SystemZ/
H A DSystemZISelLowering.cpp6496 SDValue SplatVal = Op1->getOperand(0); in combineSTORE() local
6497 if (auto *C = dyn_cast<ConstantSDNode>(SplatVal)) in combineSTORE()
6498 FindReplicatedImm(C, SplatVal.getValueType().getStoreSize()); in combineSTORE()
6500 FindReplicatedReg(SplatVal); in combineSTORE()
6513 SDValue SplatVal = DAG.getSplatVector(SplatVT, SDLoc(SN), Word); in combineSTORE() local
6514 return DAG.getStore(SN->getChain(), SDLoc(SN), SplatVal, in combineSTORE()
/llvm-project-15.0.7/llvm/lib/Target/PowerPC/
H A DPPCISelLowering.cpp9816 unsigned SplatVal = APSplatValue.getZExtValue(); in lowerToXXSPLTI32DX() local
9818 SplatVal |= (SplatVal << SplatBitSize); in lowerToXXSPLTI32DX()
9822 Index, DAG.getTargetConstant(SplatVal, DL, MVT::i32)); in lowerToXXSPLTI32DX()
15020 SDValue SplatVal = in combineVectorShuffle() local
15022 TheSplat = DAG.getSplatBuildVector(TheSplat.getValueType(), dl, SplatVal); in combineVectorShuffle()
/llvm-project-15.0.7/llvm/lib/CodeGen/GlobalISel/
H A DLegalizerHelper.cpp7420 APInt SplatVal = APInt::getSplat(NumBits, Scalar); in getMemsetValue() local
7421 return MIB.buildConstant(Ty, SplatVal).getReg(0); in getMemsetValue()