llvm::TargetLoweringBase::lowerInterleavedStore

Lower an interleaved store to target specific intrinsics. Return true on success.

Synopsis

Declared in <llvm/CodeGen/TargetLowering.h>

virtual
bool
lowerInterleavedStore(
    Instruction* Store,
    Value* Mask,
    ShuffleVectorInst* SVI,
    unsigned int Factor,
    APInt const& GapMask) const;

Description

SI is the vector store instruction. Can be either a plain store or a vp.store. Mask is a per-segment (i.e. number of lanes equal to that of one component being interwoven) mask. Can be nullptr, in which case the result is unconditional. SVI is the shufflevector to RE-interleave the stored vector. Factor is the interleave factor. GapMask is a mask with zeros for components / fields that may not be accessed.

Return Value

True if lower an interleaved store to target specific intrinsics. Return true on success.

Parameters

NameDescription
StoreStore instruction to lower.
MaskMask operand or value.
SVIShuffle vector instruction.
FactorInterleave factor.
GapMaskGap mask for interleaved access.