| /llvm-project-15.0.7/llvm/test/CodeGen/Hexagon/autohvx/ |
| H A D | splat.ll | 4 ; Splat immediate, 8-bit, v60 20 ; Splat immediate, 16 bit, v60 36 ; Splat immediate, 32 bit, v60 52 ; Splat immediate, 8-bit, v62+ 68 ; Splat immediate, 16 bit, v62+ 84 ; Splat immediate, 32 bit, v62+ 100 ; Splat register, 8-bit, v60 116 ; Splat register, 16 bit, v60 132 ; Splat register, 32 bit, v60 145 ; Splat register, 8-bit, v62+ [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/AArch64/GISel/ |
| H A D | AArch64GlobalISelUtils.cpp | 23 if (auto Splat = getVectorSplat(MI, MRI)) in getAArch64VectorSplat() local 24 return Splat; in getAArch64VectorSplat() 37 auto Splat = getAArch64VectorSplat(MI, MRI); in getAArch64VectorSplatScalar() local 38 if (!Splat || Splat->isReg()) in getAArch64VectorSplatScalar() 40 return Splat->getCst(); in getAArch64VectorSplatScalar()
|
| H A D | AArch64PostLegalizerLowering.cpp | 724 auto Splat = getAArch64VectorSplat(MI, MRI); in matchBuildVectorToDup() local 725 if (!Splat) in matchBuildVectorToDup() 727 if (Splat->isReg()) in matchBuildVectorToDup() 732 int64_t Cst = Splat->getCst(); in matchBuildVectorToDup() 927 auto Splat = getAArch64VectorSplat(*MRI.getVRegDef(RHS), MRI); in lowerVectorFCMP() local 930 bool IsZero = Splat && Splat->isCst() && Splat->getCst() == 0; in lowerVectorFCMP()
|
| /llvm-project-15.0.7/llvm/lib/Target/RISCV/ |
| H A D | RISCVGatherScatterLowering.cpp | 149 Value *Splat = getSplatValue(BO->getOperand(0)); in matchStridedStart() local 150 if (!Splat) { in matchStridedStart() 151 Splat = getSplatValue(BO->getOperand(1)); in matchStridedStart() 154 if (!Splat) in matchStridedStart() 166 Start = Builder.CreateAdd(Start, Splat); in matchStridedStart()
|
| /llvm-project-15.0.7/llvm/test/Transforms/LoopVectorize/X86/ |
| H A D | outer_loop_test1_no_explicit_vect_width.ll | 23 ; CHECK: %[[Splat:.*]] = shufflevector <4 x i32> %[[SplatVal]], <4 x i32> poison, <4 x i32> zeroini… 32 ; CHECK: %[[StoreVal:.*]] = add nsw <4 x i32> %[[VecIndTr2]], %[[Splat]] 52 ; AVX: %[[Splat:.*]] = shufflevector <8 x i32> %[[SplatVal]], <8 x i32> poison, <8 x i32> zeroiniti… 61 ; AVX: %[[StoreVal:.*]] = add nsw <8 x i32> %[[VecIndTr2]], %[[Splat]]
|
| /llvm-project-15.0.7/llvm/test/Transforms/LoopVectorize/AArch64/ |
| H A D | outer_loop_test1_no_explicit_vect_width.ll | 22 ; CHECK: %[[Splat:.*]] = shufflevector <4 x i32> %[[SplatVal]], <4 x i32> poison, <4 x i32> zeroini… 31 ; CHECK: %[[StoreVal:.*]] = add nsw <4 x i32> %[[VecIndTr2]], %[[Splat]] 89 ; CHECK: %[[Splat:.*]] = shufflevector <2 x i64> %[[SplatVal]], <2 x i64> poison, <2 x i32> zeroini… 96 ; CHECK: %[[StoreVal:.*]] = add nsw <2 x i64> %[[VecInd]], %[[Splat]]
|
| /llvm-project-15.0.7/llvm/lib/Target/ARM/MCTargetDesc/ |
| H A D | ARMAddressingModes.h | 322 int Splat = getT2SOImmValSplatVal(Arg); in getT2SOImmVal() local 323 if (Splat != -1) in getT2SOImmVal() 324 return Splat; in getT2SOImmVal()
|
| /llvm-project-15.0.7/llvm/test/Transforms/LoopVectorize/ |
| H A D | outer_loop_test1.ll | 19 ; CHECK: %[[Splat:.*]] = shufflevector <4 x i32> %[[SplatVal]], <4 x i32> poison, <4 x i32> zeroini… 28 ; CHECK: %[[StoreVal:.*]] = add nsw <4 x i32> %[[VecIndTr2]], %[[Splat]]
|
| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | TargetTransformInfo.cpp | 730 const Value *Splat = getSplatValue(V); in getOperandInfo() local 736 if (Splat) { in getOperandInfo() 738 if (auto *CI = dyn_cast<ConstantInt>(Splat)) in getOperandInfo() 755 if (Splat && (isa<Argument>(Splat) || isa<GlobalValue>(Splat))) in getOperandInfo()
|
| H A D | VectorUtils.cpp | 341 if (Value *Splat = getSplatValue(V)) in findScalarElement() local 343 return Splat; in findScalarElement() 377 Value *Splat; in getSplatValue() local 379 m_Shuffle(m_InsertElt(m_Value(), m_Value(Splat), m_ZeroInt()), in getSplatValue() 381 return Splat; in getSplatValue()
|
| /llvm-project-15.0.7/llvm/test/CodeGen/AArch64/ |
| H A D | sve-st1-addressing-mode-reg-imm.ll | 103 ; Splat stores of unpacked FP scalable vectors 131 ; Splat stores of unusual FP scalable vector types
|
| /llvm-project-15.0.7/libc/test/src/string/memory_utils/ |
| H A D | elements_test.cpp | 127 TYPED_TEST(LlvmLibcMemoryElements, Splat, FixedSizeTypes) { in TYPED_TEST() argument
|
| /llvm-project-15.0.7/llvm/unittests/IR/ |
| H A D | ConstantsTest.cpp | 763 Constant *Splat = ConstantVector::getSplat(EC, C); in TEST() local 764 ASSERT_NE(nullptr, Splat); in TEST() 766 Constant *SplatVal = Splat->getSplatValue(); in TEST()
|
| /llvm-project-15.0.7/llvm/docs/ |
| H A D | Lexicon.rst | 301 **Splat** 302 Splat refers to a vector of identical scalar elements.
|
| /llvm-project-15.0.7/llvm/lib/IR/ |
| H A D | ConstantFold.cpp | 62 if (Constant *Splat = CV->getSplatValue()) { in BitCastConstantVector() local 64 ConstantExpr::getBitCast(Splat, DstEltTy)); in BitCastConstantVector() 411 if (Constant *Splat = V->getSplatValue()) { in ConstantFoldCastInstruction() local 414 ConstantExpr::getCast(opc, Splat, DstEltTy)); in ConstantFoldCastInstruction() 851 if (Constant *Splat = C->getSplatValue()) { in ConstantFoldUnaryInstruction() local 852 Constant *Elt = ConstantExpr::get(Opcode, Splat); in ConstantFoldUnaryInstruction()
|
| /llvm-project-15.0.7/llvm/test/Transforms/InstCombine/ |
| H A D | trunc-demand.ll | 83 ; Splat vectors are ok.
|
| H A D | xor-of-or.ll | 42 ; Splat constants are fine too.
|
| H A D | add-shl-sdiv-to-srem.ll | 37 ; Splat vectors
|
| /llvm-project-15.0.7/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyInstrSIMD.td | 573 multiclass Splat<Vec vec, bits<32> simdop> { 582 defm "" : Splat<I8x16, 15>; 583 defm "" : Splat<I16x8, 16>; 584 defm "" : Splat<I32x4, 17>; 585 defm "" : Splat<I64x2, 18>; 586 defm "" : Splat<F32x4, 19>; 587 defm "" : Splat<F64x2, 20>;
|
| /llvm-project-15.0.7/llvm/include/llvm/Analysis/ |
| H A D | TargetTransformInfoImpl.h | 947 if (auto Splat = getSplatValue(*I)) in getGEPCost() local 948 ConstIdx = dyn_cast<ConstantInt>(Splat); in getGEPCost()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | LowerMatrixIntrinsics.cpp | 1238 Value *Splat = Builder.CreateVectorSplat(BlockSize, RH, "splat"); in emitMatrixMultiply() local 1240 createMulAdd(isSumZero && K == 0 ? nullptr : Sum, L, Splat, in emitMatrixMultiply() 1265 Value *Splat = Builder.CreateVectorSplat(BlockSize, LH, "splat"); in emitMatrixMultiply() local 1267 createMulAdd(isSumZero && K == 0 ? nullptr : Sum, Splat, R, in emitMatrixMultiply()
|
| H A D | SROA.cpp | 2828 Value *Splat = getIntegerSplat( in visitMemSetInst() local 2830 Splat = convertValue(DL, IRB, Splat, ElementTy); in visitMemSetInst() 2832 Splat = getVectorSplat(Splat, NumElements); in visitMemSetInst() 2836 V = insertVector(IRB, Old, Splat, BeginIndex, "vec"); in visitMemSetInst()
|
| /llvm-project-15.0.7/llvm/lib/CodeGen/GlobalISel/ |
| H A D | Utils.cpp | 1130 if (auto Splat = getIConstantSplatSExtVal(MI, MRI)) in getVectorSplat() local 1131 return RegOrConstant(*Splat); in getVectorSplat()
|
| /llvm-project-15.0.7/llvm/lib/Target/PowerPC/ |
| H A D | README_P9.txt | 487 - Vector Splat Immediate Byte: xxspltib 571 - Load Vector Word & Splat Indexed: lxvwsx
|
| /llvm-project-15.0.7/llvm/test/CodeGen/X86/ |
| H A D | x86-shifts.ll | 5 ; Splat patterns below
|