| /llvm-project-15.0.7/llvm/lib/Target/RISCV/ |
| H A D | RISCVISelDAGToDAG.h | 80 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 D | RISCVISelDAGToDAG.cpp | 2255 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 D | RISCVISelLowering.cpp | 2033 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 D | outer_loop_test1_no_explicit_vect_width.ll | 22 ; 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 D | outer_loop_test1_no_explicit_vect_width.ll | 21 ; 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 D | outer_loop_test1.ll | 18 ; 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 D | Constants.cpp | 104 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 D | ConstantFold.cpp | 667 if (Constant *SplatVal = Val->getSplatValue()) in ConstantFoldExtractElementInstruction() local 668 return SplatVal; in ConstantFoldExtractElementInstruction()
|
| /llvm-project-15.0.7/llvm/unittests/IR/ |
| H A D | ConstantsTest.cpp | 766 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 D | AArch64ISelLowering.cpp | 10641 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 D | AArch64TargetTransformInfo.cpp | 802 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 D | InstCombineVectorOps.cpp | 1189 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 D | X86ISelLowering.h | 912 bool isConstantSplat(SDValue Op, APInt &SplatVal,
|
| H A D | X86ISelDAGToDAG.cpp | 956 APInt SplatVal; in PreprocessISelDAG() local 957 if (X86::isConstantSplat(N->getOperand(1), SplatVal) && in PreprocessISelDAG() 958 SplatVal.isOne()) { in PreprocessISelDAG()
|
| H A D | X86ISelLowering.cpp | 7495 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 D | SelectionDAG.cpp | 139 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 D | LegalizeDAG.cpp | 2010 SDValue SplatVal = Node->getOperand(0); in ExpandSPLAT_VECTOR() local 2012 return DAG.getSplatBuildVector(VT, DL, SplatVal); in ExpandSPLAT_VECTOR()
|
| H A D | DAGCombiner.cpp | 10581 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 D | WebAssemblyISelLowering.cpp | 2522 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 D | SystemZISelLowering.cpp | 6496 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 D | PPCISelLowering.cpp | 9816 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 D | LegalizerHelper.cpp | 7420 APInt SplatVal = APInt::getSplat(NumBits, Scalar); in getMemsetValue() local 7421 return MIB.buildConstant(Ty, SplatVal).getReg(0); in getMemsetValue()
|