|
LLVM 24.0.0git
|
Description of a bitfield packing of vector lanes into a scalar value: every lane contributes a disjoint contiguous byte field of the result. More...
#include "Transforms/Vectorize/SLPVectorizer/SLPUtils.h"
Public Member Functions | |
| bool | needsShift () const |
| True if any lane needs a right shift to align its field content. | |
Public Attributes | |
| unsigned | FieldWidth = 0 |
| SmallVector< unsigned, 8 > | LaneOfField |
| Lane covering each field, NoLane if the field is always zero. | |
| SmallVector< uint64_t, 8 > | LShrAmts |
| Per-lane right-shift amounts bringing the field content to the low bits. | |
Static Public Attributes | |
| static constexpr unsigned | NoLane = std::numeric_limits<unsigned>::max() |
Description of a bitfield packing of vector lanes into a scalar value: every lane contributes a disjoint contiguous byte field of the result.
Definition at line 424 of file SLPUtils.h.
|
inline |
True if any lane needs a right shift to align its field content.
Definition at line 433 of file SLPUtils.h.
References A(), llvm::any_of(), LShrAmts, and uint64_t.
| unsigned llvm::slpvectorizer::BitPackInfo::FieldWidth = 0 |
Definition at line 426 of file SLPUtils.h.
| SmallVector<unsigned, 8> llvm::slpvectorizer::BitPackInfo::LaneOfField |
Lane covering each field, NoLane if the field is always zero.
Definition at line 428 of file SLPUtils.h.
| SmallVector<uint64_t, 8> llvm::slpvectorizer::BitPackInfo::LShrAmts |
Per-lane right-shift amounts bringing the field content to the low bits.
Definition at line 430 of file SLPUtils.h.
Referenced by llvm::slpvectorizer::computeBitPackInfo(), and needsShift().
|
staticconstexpr |
Definition at line 425 of file SLPUtils.h.
Referenced by llvm::slpvectorizer::buildBitPack(), llvm::slpvectorizer::computeBitPackInfo(), llvm::slpvectorizer::getBitPackCost(), and llvm::slpvectorizer::getBitPackMask().