Generic SIMD Intrinsic Library API  0.6
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros
Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
vsx::svec< 4, signed char > Struct Template Reference

data representation and operations on a vector of 4 signed chars. More...

#include <power_vsx4.h>

Public Member Functions

 svec ()
 Default constructor. More...
 
 svec (__vector signed char vv)
 For internal use only. More...
 
 svec (int8_t a, int8_t b, int8_t c, int8_t d)
 Constructor. More...
 
 svec (int8_t a)
 Constructor. More...
 
int8_t & operator[] (int index)
 operator [] to set or get the vector element specified by index. More...
 
const int8_t operator[] (int index) const
 
svec< 4,bool > operator== (svec< 4, int8_t > a)
 
svec< 4,bool > operator!= (svec< 4, int8_t > a)
 
svec< 4,bool > operator< (svec< 4, int8_t > a)
 
svec< 4,bool > operator<= (svec< 4, int8_t > a)
 
svec< 4,bool > operator> (svec< 4, int8_t > a)
 
svec< 4,bool > operator>= (svec< 4, int8_t > a)
 
svec< 4, int8_t > operator- ()
 
int8_t reduce_add ()
 
int8_t reduce_max ()
 
int8_t reduce_min ()
 
svec< 4, int8_t > operator+ (svec< 4, int8_t > a)
 
svec< 4, int8_t > operator+ (int8_t s)
 
svec< 4, int8_t > operator- (svec< 4, int8_t > a)
 
svec< 4, int8_t > operator- (int8_t s)
 
svec< 4, int8_t > operator* (svec< 4, int8_t > a)
 
svec< 4, int8_t > operator* (int8_t s)
 
svec< 4, int8_t > operator/ (svec< 4, int8_t > a)
 
svec< 4, int8_t > operator/ (int8_t s)
 
void store (svec< 4, int8_t > *p)
 
void masked_store (svec< 4, int8_t > *p, svec< 4, bool > mask)
 
void scatter (svec< 4, void * > ptrs, svec< 4, bool > mask)
 
void scatter_base_offsets (int8_t *b, uint32_t scale, svec< 4, int32_t > offsets, svec< 4, bool > mask)
 
void scatter_base_offsets (int8_t *b, uint32_t scale, svec< 4, int64_t > offsets, svec< 4, bool > mask)
 
void scatter_stride (int8_t *b, int32_t off, int32_t stride)
 
void scatter_stride (int8_t *b, int64_t off, int64_t stride)
 
svec< 4, int8_t > broadcast (int32_t index)
 
svec< 4, int8_t > rotate (int32_t index)
 
svec< 4, int8_t > shuffle (svec< 4, int32_t > index)
 
svec< 4, int8_t > abs ()
 
svec< 4, int8_t > operator| (svec< 4, int8_t > a)
 
svec< 4, int8_t > operator& (svec< 4, int8_t > a)
 
svec< 4, int8_t > operator^ (svec< 4, int8_t > a)
 
svec< 4, int8_t > operator<< (svec< 4, uint8_t > a)
 
svec< 4, int8_t > operator<< (int32_t s)
 
svec< 4, int8_t > operator>> (svec< 4, uint8_t > a)
 
svec< 4, int8_t > operator>> (int32_t s)
 
svec< 4, int8_t > operator% (svec< 4, int8_t > a)
 
svec< 4, int8_t > operator% (int8_t s)
 

Static Public Member Functions

static svec< 4, int8_t > load (svec< 4, int8_t > *p)
 
static svec< 4, int8_t > masked_load (svec< 4, int8_t > *p, svec< 4, bool > mask)
 
static svec< 4, int8_t > load_const (const int8_t *p)
 
static svec< 4, int8_t > load_and_splat (int8_t *p)
 
static svec< 4, int8_t > gather (svec< 4, void * > ptrs, svec< 4, bool > mask)
 
static svec< 4, int8_t > gather_base_offsets (int8_t *b, uint32_t scale, svec< 4, int32_t > offsets, svec< 4, bool > mask)
 
static svec< 4, int8_t > gather_base_offsets (int8_t *b, uint32_t scale, svec< 4, int64_t > offsets, svec< 4, bool > mask)
 
static svec< 4, int8_t > gather_stride (int8_t *b, int32_t off, int32_t stride)
 
static svec< 4, int8_t > gather_stride (int8_t *b, int64_t off, int64_t stride)
 

Public Attributes

__vector signed char v
 

Friends

std::ostream & operator<< (std::ostream &out, const svec< 4, signed char > &v)
 

Detailed Description

template<>
struct vsx::svec< 4, signed char >

data representation and operations on a vector of 4 signed chars.

Constructor & Destructor Documentation

vsx::svec< 4, signed char >::svec ( )

Default constructor.

Returns
a vector of 4 undefined signed chars.
vsx::svec< 4, signed char >::svec ( __vector signed char  vv)

For internal use only.

Parameters
vva __vector signed char.
Returns
a signed char vector, whose value is from the vv.
vsx::svec< 4, signed char >::svec ( int8_t  a,
int8_t  b,
int8_t  c,
int8_t  d 
)

Constructor.

Returns
a vector of 4 signed chars: {a,b,c,d}.
vsx::svec< 4, signed char >::svec ( int8_t  a)

Constructor.

Returns
a vector of 4 signed chars: {a,a,a,a}.

Member Function Documentation

svec< 4 , int8_t > vsx::svec< 4, signed char >::abs ( )
svec< 4 , int8_t > vsx::svec< 4, signed char >::broadcast ( int32_t  index)
static svec< 4 , int8_t > vsx::svec< 4, signed char >::gather ( svec< 4, void * >  ptrs,
svec< 4, bool >  mask 
)
static
static svec< 4 , int8_t > vsx::svec< 4, signed char >::gather_base_offsets ( int8_t *  b,
uint32_t  scale,
svec< 4, int32_t >  offsets,
svec< 4, bool >  mask 
)
static
static svec< 4 , int8_t > vsx::svec< 4, signed char >::gather_base_offsets ( int8_t *  b,
uint32_t  scale,
svec< 4, int64_t >  offsets,
svec< 4, bool >  mask 
)
static
static svec< 4 , int8_t > vsx::svec< 4, signed char >::gather_stride ( int8_t *  b,
int32_t  off,
int32_t  stride 
)
static
static svec< 4 , int8_t > vsx::svec< 4, signed char >::gather_stride ( int8_t *  b,
int64_t  off,
int64_t  stride 
)
static
static svec< 4 , int8_t > vsx::svec< 4, signed char >::load ( svec< 4, int8_t > *  p)
static
static svec< 4 , int8_t > vsx::svec< 4, signed char >::load_and_splat ( int8_t *  p)
static
static svec< 4 , int8_t > vsx::svec< 4, signed char >::load_const ( const int8_t *  p)
static
static svec< 4 , int8_t > vsx::svec< 4, signed char >::masked_load ( svec< 4, int8_t > *  p,
svec< 4, bool >  mask 
)
static
void vsx::svec< 4, signed char >::masked_store ( svec< 4, int8_t > *  p,
svec< 4, bool >  mask 
)
svec< 4 ,bool> vsx::svec< 4, signed char >::operator!= ( svec< 4, int8_t >  a)
svec< 4 , int8_t > vsx::svec< 4, signed char >::operator% ( svec< 4, int8_t >  a)
svec< 4 , int8_t > vsx::svec< 4, signed char >::operator% ( int8_t  s)
svec< 4 , int8_t > vsx::svec< 4, signed char >::operator& ( svec< 4, int8_t >  a)
svec< 4 , int8_t > vsx::svec< 4, signed char >::operator* ( int8_t  s)
svec< 4 , int8_t > vsx::svec< 4, signed char >::operator* ( svec< 4, int8_t >  a)
svec< 4 , int8_t > vsx::svec< 4, signed char >::operator+ ( svec< 4, int8_t >  a)
svec< 4 , int8_t > vsx::svec< 4, signed char >::operator+ ( int8_t  s)
svec< 4 , int8_t > vsx::svec< 4, signed char >::operator- ( int8_t  s)
svec< 4 , int8_t > vsx::svec< 4, signed char >::operator- ( )
svec< 4 , int8_t > vsx::svec< 4, signed char >::operator- ( svec< 4, int8_t >  a)
svec< 4 , int8_t > vsx::svec< 4, signed char >::operator/ ( svec< 4, int8_t >  a)
svec< 4 , int8_t > vsx::svec< 4, signed char >::operator/ ( int8_t  s)
svec< 4 ,bool> vsx::svec< 4, signed char >::operator< ( svec< 4, int8_t >  a)
svec< 4 , int8_t > vsx::svec< 4, signed char >::operator<< ( int32_t  s)
svec< 4 , int8_t > vsx::svec< 4, signed char >::operator<< ( svec< 4, uint8_t >  a)
svec< 4 ,bool> vsx::svec< 4, signed char >::operator<= ( svec< 4, int8_t >  a)
svec< 4 ,bool> vsx::svec< 4, signed char >::operator== ( svec< 4, int8_t >  a)
svec< 4 ,bool> vsx::svec< 4, signed char >::operator> ( svec< 4, int8_t >  a)
svec< 4 ,bool> vsx::svec< 4, signed char >::operator>= ( svec< 4, int8_t >  a)
svec< 4 , int8_t > vsx::svec< 4, signed char >::operator>> ( svec< 4, uint8_t >  a)
svec< 4 , int8_t > vsx::svec< 4, signed char >::operator>> ( int32_t  s)
const int8_t vsx::svec< 4, signed char >::operator[] ( int  index) const
int8_t& vsx::svec< 4, signed char >::operator[] ( int  index)

operator [] to set or get the vector element specified by index.

Parameters
indexspecifies the index of the element in the vector.
svec< 4 , int8_t > vsx::svec< 4, signed char >::operator^ ( svec< 4, int8_t >  a)
svec< 4 , int8_t > vsx::svec< 4, signed char >::operator| ( svec< 4, int8_t >  a)
int8_t vsx::svec< 4, signed char >::reduce_add ( )
int8_t vsx::svec< 4, signed char >::reduce_max ( )
int8_t vsx::svec< 4, signed char >::reduce_min ( )
svec< 4 , int8_t > vsx::svec< 4, signed char >::rotate ( int32_t  index)
void vsx::svec< 4, signed char >::scatter ( svec< 4, void * >  ptrs,
svec< 4, bool >  mask 
)
void vsx::svec< 4, signed char >::scatter_base_offsets ( int8_t *  b,
uint32_t  scale,
svec< 4, int32_t >  offsets,
svec< 4, bool >  mask 
)
void vsx::svec< 4, signed char >::scatter_base_offsets ( int8_t *  b,
uint32_t  scale,
svec< 4, int64_t >  offsets,
svec< 4, bool >  mask 
)
void vsx::svec< 4, signed char >::scatter_stride ( int8_t *  b,
int32_t  off,
int32_t  stride 
)
void vsx::svec< 4, signed char >::scatter_stride ( int8_t *  b,
int64_t  off,
int64_t  stride 
)
svec< 4 , int8_t > vsx::svec< 4, signed char >::shuffle ( svec< 4, int32_t >  index)
void vsx::svec< 4, signed char >::store ( svec< 4, int8_t > *  p)

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const svec< 4, signed char > &  v 
)
friend

Member Data Documentation

__vector signed char vsx::svec< 4, signed char >::v

The documentation for this struct was generated from the following file: