LLVM 22.0.0git
shuffles Namespace Reference

Typedefs

using MaskT = SmallVector<int, 128>

Functions

ArrayRef< int > lo (ArrayRef< int > Vuu)
ArrayRef< int > hi (ArrayRef< int > Vuu)
MaskT vshuffvdd (ArrayRef< int > Vu, ArrayRef< int > Vv, unsigned Rt)
MaskT vdealvdd (ArrayRef< int > Vu, ArrayRef< int > Vv, unsigned Rt)
MaskT vpack (ArrayRef< int > Vu, ArrayRef< int > Vv, unsigned Size, bool TakeOdd)
MaskT vshuff (ArrayRef< int > Vu, ArrayRef< int > Vv, unsigned Size, bool TakeOdd)
MaskT vdeal (ArrayRef< int > Vu, ArrayRef< int > Vv, unsigned Size, bool TakeOdd)
MaskT vdealb4w (ArrayRef< int > Vu, ArrayRef< int > Vv)
template<typename ShuffFunc, typename... OptArgs>
auto mask (ShuffFunc S, unsigned Length, OptArgs... args) -> MaskT

Typedef Documentation

◆ MaskT

using shuffles::MaskT = SmallVector<int, 128>

Definition at line 800 of file HexagonISelDAGToDAGHVX.cpp.

Function Documentation

◆ hi()

ArrayRef< int > shuffles::hi ( ArrayRef< int > Vuu)

Definition at line 809 of file HexagonISelDAGToDAGHVX.cpp.

References hi(), llvm::ArrayRef< T >::size(), and llvm::ArrayRef< T >::take_back().

Referenced by hi(), and vdeal().

◆ lo()

ArrayRef< int > shuffles::lo ( ArrayRef< int > Vuu)

Definition at line 808 of file HexagonISelDAGToDAGHVX.cpp.

References lo(), llvm::ArrayRef< T >::size(), and llvm::ArrayRef< T >::take_front().

Referenced by lo(), and vdeal().

◆ mask()

template<typename ShuffFunc, typename... OptArgs>
auto shuffles::mask ( ShuffFunc S,
unsigned Length,
OptArgs... args ) -> MaskT

◆ vdeal()

MaskT shuffles::vdeal ( ArrayRef< int > Vu,
ArrayRef< int > Vv,
unsigned Size,
bool TakeOdd )

Definition at line 879 of file HexagonISelDAGToDAGHVX.cpp.

References hi(), lo(), Size, llvm::ArrayRef< T >::size(), vdeal(), vdealvdd(), and vpack().

Referenced by vdeal().

◆ vdealb4w()

MaskT shuffles::vdealb4w ( ArrayRef< int > Vu,
ArrayRef< int > Vv )

Definition at line 885 of file HexagonISelDAGToDAGHVX.cpp.

References llvm::ArrayRef< T >::size(), and vdealb4w().

Referenced by vdealb4w().

◆ vdealvdd()

◆ vpack()

MaskT shuffles::vpack ( ArrayRef< int > Vu,
ArrayRef< int > Vv,
unsigned Size,
bool TakeOdd )

Definition at line 851 of file HexagonISelDAGToDAGHVX.cpp.

References Size, llvm::ArrayRef< T >::size(), and vpack().

Referenced by vdeal(), and vpack().

◆ vshuff()

MaskT shuffles::vshuff ( ArrayRef< int > Vu,
ArrayRef< int > Vv,
unsigned Size,
bool TakeOdd )

Definition at line 866 of file HexagonISelDAGToDAGHVX.cpp.

References Size, llvm::ArrayRef< T >::size(), and vshuff().

Referenced by vshuff().

◆ vshuffvdd()