LLVM 19.0.0git
Typedefs | Functions
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 = typedef SmallVector<int, 128>

Definition at line 805 of file HexagonISelDAGToDAGHVX.cpp.

Function Documentation

◆ hi()

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

Definition at line 814 of file HexagonISelDAGToDAGHVX.cpp.

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

Referenced by vdeal().

◆ lo()

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

Definition at line 813 of file HexagonISelDAGToDAGHVX.cpp.

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

Referenced by 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 884 of file HexagonISelDAGToDAGHVX.cpp.

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

◆ vdealb4w()

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

Definition at line 890 of file HexagonISelDAGToDAGHVX.cpp.

References llvm::ArrayRef< T >::size().

◆ vdealvdd()

MaskT shuffles::vdealvdd ( ArrayRef< int >  Vu,
ArrayRef< int >  Vv,
unsigned  Rt 
)

◆ vpack()

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

Definition at line 856 of file HexagonISelDAGToDAGHVX.cpp.

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

Referenced by vdeal().

◆ vshuff()

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

Definition at line 871 of file HexagonISelDAGToDAGHVX.cpp.

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

◆ vshuffvdd()

MaskT shuffles::vshuffvdd ( ArrayRef< int >  Vu,
ArrayRef< int >  Vv,
unsigned  Rt 
)