|
template<int N> |
reg | cvt_reg (const msk m) |
|
std::vector< std::string > | InstructionExtensions () |
|
template<typename T > |
constexpr int32_t | nElmtsPerRegister () |
|
template<typename T > |
constexpr int32_t | nElReg () |
|
template<typename T > |
constexpr int32_t | N () |
|
template<typename T > |
T * | malloc (uint32_t nData) |
|
template<typename T > |
void | free (T *ptr) |
|
template<class C1 , class C2 > |
bool | operator== (const AlignedAllocator< C1 > &ma1, const AlignedAllocator< C2 > &ma2) |
|
template<class C1 , class C2 > |
bool | operator!= (const AlignedAllocator< C1 > &ma1, const AlignedAllocator< C2 > &ma2) |
|
static std::string | get_back_trace () |
|
template<typename T > |
static void | errorMessage (std::string instr) |
|
template<typename T1 , typename T2 > |
static void | errorMessage (std::string instr) |
|
template<typename T > |
reg | load (const T *) |
|
template<typename T > |
reg | loadu (const T *) |
|
template<typename T > |
void | store (T *, const reg) |
|
template<typename T > |
void | storeu (T *, const reg) |
|
template<typename T > |
reg | set (const T[nElReg< T >()]) |
|
template<int N> |
msk | set (const bool[N]) |
|
template<typename T > |
reg | set1 (const T) |
|
template<int N> |
msk | set1 (const bool) |
|
template<typename T > |
reg | set0 () |
|
template<int N> |
msk | set0 () |
|
template<typename T > |
reg_2 | low (const reg) |
|
template<typename T > |
reg_2 | high (const reg) |
|
template<typename T > |
reg | cmask (const uint32_t[nElReg< T >()]) |
|
template<typename T > |
reg | cmask2 (const uint32_t[nElReg< T >()/2]) |
|
template<typename T > |
reg | shuff (const reg, const reg) |
|
template<typename T > |
reg | shuff2 (const reg, const reg) |
|
template<typename T > |
reg | interleavelo (const reg, const reg) |
|
template<typename T > |
reg | interleavehi (const reg, const reg) |
|
template<typename T > |
reg | interleavelo2 (const reg, const reg) |
|
template<typename T > |
reg | interleavehi2 (const reg, const reg) |
|
template<typename T > |
regx2 | interleave (const reg, const reg) |
|
template<typename T > |
regx2 | interleave2 (const reg, const reg) |
|
template<typename T > |
reg | interleave (const reg) |
|
template<typename T > |
regx2 | interleavex2 (const reg, const reg) |
|
template<typename T > |
reg | interleavex4 (const reg) |
|
template<typename T > |
reg | interleavex16 (const reg) |
|
template<typename T > |
void | transpose (reg[nElReg< T >()]) |
|
template<typename T > |
void | transpose8x8 (reg[8]) |
|
template<typename T > |
void | transpose2 (reg[nElReg< T >()/2]) |
|
template<typename T > |
void | transpose28x8 (reg[8]) |
|
template<typename T > |
reg | andb (const reg, const reg) |
|
template<int N> |
msk | andb (const msk, const msk) |
|
template<typename T > |
reg | andnb (const reg, const reg) |
|
template<int N> |
msk | andnb (const msk, const msk) |
|
template<typename T > |
reg | notb (const reg) |
|
template<int N> |
msk | notb (const msk) |
|
template<typename T > |
reg | orb (const reg, const reg) |
|
template<int N> |
msk | orb (const msk, const msk) |
|
template<typename T > |
reg | xorb (const reg, const reg) |
|
template<int N> |
msk | xorb (const msk, const msk) |
|
template<typename T > |
reg | lshift (const reg, const uint32_t) |
|
template<int N> |
msk | lshift (const msk, const uint32_t) |
|
template<typename T > |
reg | rshift (const reg, const uint32_t) |
|
template<int N> |
msk | rshift (const msk, const uint32_t) |
|
template<typename T > |
msk | cmpeq (const reg, const reg) |
|
template<typename T > |
msk | cmpneq (const reg, const reg) |
|
template<typename T > |
msk | cmplt (const reg, const reg) |
|
template<typename T > |
msk | cmple (const reg, const reg) |
|
template<typename T > |
msk | cmpgt (const reg, const reg) |
|
template<typename T > |
msk | cmpge (const reg, const reg) |
|
template<typename T > |
reg | add (const reg, const reg) |
|
template<typename T > |
reg | sub (const reg, const reg) |
|
template<typename T > |
reg | mul (const reg, const reg) |
|
template<typename T > |
reg | div (const reg, const reg) |
|
template<typename T > |
reg | min (const reg, const reg) |
|
template<typename T > |
reg | max (const reg, const reg) |
|
template<typename T > |
reg | msb (const reg) |
|
template<typename T > |
reg | msb (const reg, const reg) |
|
template<typename T > |
msk | sign (const reg) |
|
template<typename T > |
reg | neg (const reg, const reg) |
|
template<typename T > |
reg | neg (const reg, const msk) |
|
template<typename T > |
reg | abs (const reg) |
|
template<typename T > |
reg | sqrt (const reg) |
|
template<typename T > |
reg | rsqrt (const reg) |
|
template<typename T > |
reg | log (const reg) |
|
template<typename T > |
reg | exp (const reg) |
|
template<typename T > |
reg | sin (const reg) |
|
template<typename T > |
reg | cos (const reg) |
|
template<typename T > |
void | sincos (const reg, reg &, reg &) |
|
template<typename T > |
reg | fmadd (const reg, const reg, const reg) |
|
template<typename T > |
reg | fnmadd (const reg, const reg, const reg) |
|
template<typename T > |
reg | fmsub (const reg, const reg, const reg) |
|
template<typename T > |
reg | fnmsub (const reg, const reg, const reg) |
|
template<typename T > |
reg | blend (const reg, const reg, const msk) |
|
template<typename T > |
reg | lrot (const reg) |
|
template<typename T > |
reg | rrot (const reg) |
|
template<typename T > |
reg | div2 (const reg) |
|
template<typename T > |
reg | div4 (const reg) |
|
template<typename T > |
reg | sat (const reg, T, T) |
|
template<typename T > |
reg | round (const reg) |
|
template<typename T1 , typename T2 > |
reg | cvt (const reg) |
|
template<typename T1 , typename T2 > |
reg | cvt (const reg_2) |
|
template<typename T1 , typename T2 > |
reg | pack (const reg, const reg) |
|
template<typename T > |
reg | copysign (const reg r1, const reg r2) |
|
template<typename T > |
reg | copysign (const reg r1, const msk r2) |
|
template<typename T , proto_i1< T > I1> |
reg | mask (const msk m, const reg src, const reg a) |
|
template<typename T , proto_i2< T > I2> |
reg | mask (const msk m, const reg src, const reg a, const reg b) |
|
template<typename T , proto_i3< T > I3> |
reg | mask (const msk m, const reg src, const reg a, const reg b, const reg c) |
|
template<typename T , proto_i1< T > I1> |
reg | maskz (const msk m, const reg a) |
|
template<typename T , proto_i2< T > I2> |
reg | maskz (const msk m, const reg a, const reg b) |
|
template<typename T , proto_i3< T > I3> |
reg | maskz (const msk m, const reg a, const reg b, const reg c) |
|
template<typename T > |
Reg< T > | blend (const Reg< T > v1, const Reg< T > v2, const Msk< N< T >()> m) |
|
template<typename T > |
Reg< T > | andb (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T , proto_I1< T > I1> |
Reg< T > | mask (const Msk< N< T >()> m, const Reg< T > src, const Reg< T > a) |
|
template<typename T , proto_I2< T > I2> |
Reg< T > | mask (const Msk< N< T >()> m, const Reg< T > src, const Reg< T > a, const Reg< T > b) |
|
template<typename T , proto_I3< T > I3> |
Reg< T > | mask (const Msk< N< T >()> m, const Reg< T > src, const Reg< T > a, const Reg< T > b, const Reg< T > c) |
|
template<typename T , proto_I1< T > I1> |
Reg< T > | maskz (const Msk< N< T >()> m, const Reg< T > a) |
|
template<typename T , proto_I2< T > I2> |
Reg< T > | maskz (const Msk< N< T >()> m, const Reg< T > a, const Reg< T > b) |
|
template<typename T , proto_I3< T > I3> |
Reg< T > | maskz (const Msk< N< T >()> m, const Reg< T > a, const Reg< T > b, const Reg< T > c) |
|
template<typename T > |
void | dump (const mipp::reg r, std::ostream &stream=std::cout, const uint32_t elmtWidth=6) |
|
template<int N> |
void | dump (const mipp::msk m, std::ostream &stream=std::cout, const uint32_t elmtWidth=6) |
|
template<typename T > |
T | sum (const reg v) |
|
template<typename T > |
T | hadd (const reg v) |
|
template<typename T > |
T | hmul (const reg v) |
|
template<typename T > |
T | hmin (const reg v) |
|
template<typename T > |
T | hmax (const reg v) |
|
template<typename T > |
Reg< T > | add (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Reg< T > | sub (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Reg< T > | mul (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Reg< T > | div (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Reg< T > | min (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Reg< T > | max (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
std::ostream & | operator<< (std::ostream &os, const Reg< T > &r) |
|
template<int N> |
std::ostream & | operator<< (std::ostream &os, const Msk< N > &m) |
|
template<typename T > |
Reg< T > | shuff (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Reg< T > | shuff2 (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Reg< T > | interleavelo (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Reg< T > | interleavehi (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Reg< T > | interleavelo2 (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Reg< T > | interleavehi2 (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Regx2< T > | interleave (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Regx2< T > | interleave2 (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Reg< T > | interleave (const Reg< T > v) |
|
template<typename T > |
Regx2< T > | interleavex2 (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Reg< T > | interleavex4 (const Reg< T > v) |
|
template<typename T > |
Reg< T > | interleavex16 (const Reg< T > v) |
|
template<int N> |
Msk< N > | andb (const Msk< N > v1, const Msk< N > v2) |
|
template<typename T > |
Reg< T > | andb (const Reg< T > v1, const Msk< N< T >()> v2) |
|
template<typename T > |
Reg< T > | andb (const Msk< N< T >()> v1, const Reg< T > v2) |
|
template<typename T > |
Reg< T > | andnb (const Reg< T > v1, const Reg< T >v2) |
|
template<int N> |
Msk< N > | andnb (const Msk< N > v1, const Msk< N >v2) |
|
template<typename T > |
Reg< T > | andnb (const Reg< T > v1, const Msk< N< T >()> v2) |
|
template<typename T > |
Reg< T > | andnb (const Msk< N< T >()> v1, const Reg< T > v2) |
|
template<typename T > |
Reg< T > | notb (const Reg< T > v) |
|
template<int N> |
Msk< N > | notb (const Msk< N > v) |
|
template<typename T > |
Reg< T > | orb (const Reg< T > v1, const Reg< T > v2) |
|
template<int N> |
Msk< N > | orb (const Msk< N > v1, const Msk< N > v2) |
|
template<typename T > |
Reg< T > | orb (const Reg< T > v1, const Msk< N< T >()> v2) |
|
template<typename T > |
Reg< T > | orb (const Msk< N< T >()> v1, const Reg< T > v2) |
|
template<typename T > |
Reg< T > | xorb (const Reg< T > v1, const Reg< T > v2) |
|
template<int N> |
Msk< N > | xorb (const Msk< N > v1, const Msk< N > v2) |
|
template<typename T > |
Reg< T > | xorb (const Reg< T > v1, const Msk< N< T >()> v2) |
|
template<typename T > |
Reg< T > | xorb (const Msk< N< T >()> v1, const Reg< T > v2) |
|
template<typename T > |
Reg< T > | lshift (const Reg< T > v, const uint32_t n) |
|
template<int N> |
Msk< N > | lshift (const Msk< N > v, const uint32_t n) |
|
template<typename T > |
Reg< T > | rshift (const Reg< T > v, const uint32_t n) |
|
template<int N> |
Msk< N > | rshift (const Msk< N > v, const uint32_t n) |
|
template<typename T > |
Msk< N< T >)> | cmpeq (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Msk< N< T >)> | cmpneq (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Msk< N< T >)> | cmplt (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Msk< N< T >)> | cmple (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Msk< N< T >)> | cmpgt (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Msk< N< T >)> | cmpge (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Reg< T > | msb (const Reg< T > v) |
|
template<typename T > |
Reg< T > | msb (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Msk< N< T >)> | sign (const Reg< T > v) |
|
template<typename T > |
Reg< T > | neg (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Reg< T > | neg (const Reg< T > v1, const Msk< N< T >()> v2) |
|
template<typename T > |
Reg< T > | copysign (const Reg< T > v1, const Reg< T > v2) |
|
template<typename T > |
Reg< T > | copysign (const Reg< T > v1, const Msk< N< T >()> v2) |
|
template<typename T > |
Reg< T > | abs (const Reg< T > v) |
|
template<typename T > |
Reg< T > | sqrt (const Reg< T > v) |
|
template<typename T > |
Reg< T > | rsqrt (const Reg< T > v) |
|
template<typename T > |
Reg< T > | log (const Reg< T > v) |
|
template<typename T > |
Reg< T > | exp (const Reg< T > v) |
|
template<typename T > |
Reg< T > | sin (const Reg< T > v) |
|
template<typename T > |
Reg< T > | cos (const Reg< T > v) |
|
template<typename T > |
void | sincos (const Reg< T > x, Reg< T > &s, Reg< T > &c) |
|
template<typename T > |
Reg< T > | fmadd (const Reg< T > v1, const Reg< T > v2, const Reg< T > v3) |
|
template<typename T > |
Reg< T > | fnmadd (const Reg< T > v1, const Reg< T > v2, const Reg< T > v3) |
|
template<typename T > |
Reg< T > | fmsub (const Reg< T > v1, const Reg< T > v2, const Reg< T > v3) |
|
template<typename T > |
Reg< T > | fnmsub (const Reg< T > v1, const Reg< T > v2, const Reg< T > v3) |
|
template<typename T > |
Reg< T > | lrot (const Reg< T > v) |
|
template<typename T > |
Reg< T > | rrot (const Reg< T > v) |
|
template<typename T > |
Reg< T > | div2 (const Reg< T > v) |
|
template<typename T > |
Reg< T > | div4 (const Reg< T > v) |
|
template<typename T > |
Reg< T > | sat (const Reg< T > v, T min, T max) |
|
template<typename T > |
Reg< T > | round (const Reg< T > v) |
|
template<typename T > |
T | sum (const Reg< T > v) |
|
template<typename T > |
T | hadd (const Reg< T > v) |
|
template<typename T > |
T | hmul (const Reg< T > v) |
|
template<typename T > |
T | hmin (const Reg< T > v) |
|
template<typename T > |
T | hmax (const Reg< T > v) |
|
template<typename T > |
Reg< T > | cvt_reg (const Msk< N< T >()> m) |
|
template<typename T1 , typename T2 > |
Reg< T2 > | cvt (const Reg< T1 > v) |
|
template<typename T1 , typename T2 > |
Reg< T2 > | cvt (const Reg_2< T1 > v) |
|
template<typename T1 , typename T2 > |
Reg< T2 > | pack (const Reg< T1 > v1, const Reg< T1 > v2) |
|
template<typename T1 , typename T2 > |
Reg< T2 > | cast (const Reg< T1 > v) |
|