libsimdpp  0.9.3
simdpp::int8x32 Class Reference

Class representing 16x 8-bit signed integer vector. More...

Inheritance diagram for simdpp::int8x32:

Public Types

typedef int8_t element_type
 
typedef int8x16 half_vector_type
 
- Public Types inherited from simdpp::basic_int8x32
typedef uint8_t element_type
 
typedef uint8_t uint_element_type
 
typedef basic_int8x32 int_vector_type
 
typedef uint8x32 uint_vector_type
 
typedef basic_int8x16 half_vector_type
 
typedef mask_int8x32 mask_type
 
- Public Types inherited from simdpp::int256
typedef uint64_t element_type
 
typedef uint64_t uint_element_type
 
typedef int256 int_vector_type
 

Public Member Functions

 int8x32 ()
 
 int8x32 (const int8x32 &d)
 
int8x32 & operator= (const int8x32 &d)
 
 int8x32 (int8x16 d0, int8x16 d1)
 
const int8x16 & operator[] (unsigned i) const
 
int8x16 & operator[] (unsigned i)
 
 int8x32 (const int256 &d)
 
 int8x32 (const basic_int8x32 &d)
 
int8x32 & operator= (int256 d)
 
int8x32 & operator= (basic_int8x32 d)
 
- Public Member Functions inherited from simdpp::basic_int8x32
 basic_int8x32 ()
 
 basic_int8x32 (const basic_int8x32 &d)
 
basic_int8x32 & operator= (const basic_int8x32 &d)
 
 basic_int8x32 (basic_int8x16 d0, basic_int8x16 d1)
 
const basic_int8x16 & operator[] (unsigned i) const
 
basic_int8x16 & operator[] (unsigned i)
 
 basic_int8x32 (const int256 &d)
 
basic_int8x32 & operator= (const int256 &d)
 
- Public Member Functions inherited from simdpp::int256
 int256 ()
 
 int256 (const int256 &d)
 
int256 & operator= (const int256 &d)
 
 int256 (int128 d0, int128 d1)
 
const int128 & operator[] (unsigned i) const
 
int128 & operator[] (unsigned i)
 

Static Public Member Functions

static int8x32 zero ()
 Creates a signed int8x32 vector with the contents set to zero. More...
 
static int8x32 load_broadcast (const int8_t *v0)
 Creates a signed int8x32 vector from a value loaded from memory. More...
 
static int8x32 set_broadcast (int8_t v0)
 Creates a signed int8x32 vector from a value stored in a core register. More...
 
static int8x32 make_const (int8_t v0)
 Creates a signed int8x32 vector from a value known at compile-time. More...
 
static int8x32 make_const (int8_t v0, int8_t v1)
 Creates a signed int8x32 vector from two values known at compile-time. More...
 
static int8x32 make_const (int8_t v0, int8_t v1, int8_t v2, int8_t v3)
 Creates a signed int8x32 vector from four values known at compile-time. More...
 
static int8x32 make_const (int8_t v0, int8_t v1, int8_t v2, int8_t v3, int8_t v4, int8_t v5, int8_t v6, int8_t v7)
 Creates a signed int8x32 vector from eight values known at compile-time. More...
 
static int8x32 make_const (int8_t v0, int8_t v1, int8_t v2, int8_t v3, int8_t v4, int8_t v5, int8_t v6, int8_t v7, int8_t v8, int8_t v9, int8_t v10, int8_t v11, int8_t v12, int8_t v13, int8_t v14, int8_t v15)
 Creates a signed int8x32 vector from sixteen values known at compile-time. More...
 
static int8x32 make_const (int8_t v0, int8_t v1, int8_t v2, int8_t v3, int8_t v4, int8_t v5, int8_t v6, int8_t v7, int8_t v8, int8_t v9, int8_t v10, int8_t v11, int8_t v12, int8_t v13, int8_t v14, int8_t v15, int8_t v16, int8_t v17, int8_t v18, int8_t v19, int8_t v20, int8_t v21, int8_t v22, int8_t v23, int8_t v24, int8_t v25, int8_t v26, int8_t v27, int8_t v28, int8_t v29, int8_t v30, int8_t v31)
 Creates a signed int8x32 vector from thirty two values known at compile-time. More...
 

Additional Inherited Members

- Static Public Attributes inherited from simdpp::basic_int8x32
static const unsigned length = 32
 
static const unsigned num_bits = 8
 
static const uint_element_type all_bits = 0xff
 
- Protected Member Functions inherited from simdpp::int256
const uint64x2 & u64 (unsigned i) const
 
uint64x2 & u64 (unsigned i)
 
const uint32x4 & u32 (unsigned i) const
 
uint32x4 & u32 (unsigned i)
 
const uint16x8 & u16 (unsigned i) const
 
uint16x8 & u16 (unsigned i)
 
const uint8x16 & u8 (unsigned i) const
 
uint8x16 & u8 (unsigned i)
 
const int64x2 & i64 (unsigned i) const
 
int64x2 & i64 (unsigned i)
 
const int32x4 & i32 (unsigned i) const
 
int32x4 & i32 (unsigned i)
 
const int16x8 & i16 (unsigned i) const
 
int16x8 & i16 (unsigned i)
 
const int8x16 & i8 (unsigned i) const
 
int8x16 & i8 (unsigned i)
 

Detailed Description

Class representing 16x 8-bit signed integer vector.

Member Typedef Documentation

Constructor & Destructor Documentation

simdpp::int8x32::int8x32 ( )
inline
simdpp::int8x32::int8x32 ( const int8x32 &  d)
inline
simdpp::int8x32::int8x32 ( const int256 &  d)
inline

Construct from the underlying vector type Construct from the base type

simdpp::int8x32::int8x32 ( const basic_int8x32 &  d)
inline

Construct from the underlying vector type Construct from the base type

simdpp::int8x32::int8x32 ( int8x16  d0,
int8x16  d1 
)
inline

Member Function Documentation

static int8x32 simdpp::int8x32::load_broadcast ( const int8_t *  v0)
static

Creates a signed int8x32 vector from a value loaded from memory.

| 0 1 ... 31 |
r = [ v0 v0 ... v0 ]
  • In SSE2-AVX this intrinsic results in at least 4 instructions.
  • In NEON this intrinsic results in at least 1 instructions.
static int8x32 simdpp::int8x32::make_const ( int8_t  v0)
static

Creates a signed int8x32 vector from a value known at compile-time.

| 0 1 ... 31 |
r = [ v0 v0 ... v0 ]
static int8x32 simdpp::int8x32::make_const ( int8_t  v0,
int8_t  v1 
)
static

Creates a signed int8x32 vector from two values known at compile-time.

| 0 1 2 3 ... 31 |
r = [ v0 v1 v0 v1 ... v1 ]
static int8x32 simdpp::int8x32::make_const ( int8_t  v0,
int8_t  v1,
int8_t  v2,
int8_t  v3 
)
static

Creates a signed int8x32 vector from four values known at compile-time.

| 0 1 2 3 4 5 ... 31 |
r = [ v0 v1 v2 v3 v0 v1 ... v3 ]
static int8x32 simdpp::int8x32::make_const ( int8_t  v0,
int8_t  v1,
int8_t  v2,
int8_t  v3,
int8_t  v4,
int8_t  v5,
int8_t  v6,
int8_t  v7 
)
static

Creates a signed int8x32 vector from eight values known at compile-time.

| 0 ... 7 8 ... 15 16 ... 23 24 ... 31 |
r = [ v0 ... v7, v0 ... v7, v0 ... v7, v0 ... v7 ]
static int8x32 simdpp::int8x32::make_const ( int8_t  v0,
int8_t  v1,
int8_t  v2,
int8_t  v3,
int8_t  v4,
int8_t  v5,
int8_t  v6,
int8_t  v7,
int8_t  v8,
int8_t  v9,
int8_t  v10,
int8_t  v11,
int8_t  v12,
int8_t  v13,
int8_t  v14,
int8_t  v15 
)
static

Creates a signed int8x32 vector from sixteen values known at compile-time.

| 0 ... 15 16 ... 31 |
r = [ v0 ... v15, v0 ... v15 ]
static int8x32 simdpp::int8x32::make_const ( int8_t  v0,
int8_t  v1,
int8_t  v2,
int8_t  v3,
int8_t  v4,
int8_t  v5,
int8_t  v6,
int8_t  v7,
int8_t  v8,
int8_t  v9,
int8_t  v10,
int8_t  v11,
int8_t  v12,
int8_t  v13,
int8_t  v14,
int8_t  v15,
int8_t  v16,
int8_t  v17,
int8_t  v18,
int8_t  v19,
int8_t  v20,
int8_t  v21,
int8_t  v22,
int8_t  v23,
int8_t  v24,
int8_t  v25,
int8_t  v26,
int8_t  v27,
int8_t  v28,
int8_t  v29,
int8_t  v30,
int8_t  v31 
)
static

Creates a signed int8x32 vector from thirty two values known at compile-time.

| 0 ... 31 ]
r = [ v0 ... v31 ]
int8x32& simdpp::int8x32::operator= ( const int8x32 &  d)
inline
int8x32& simdpp::int8x32::operator= ( int256  d)
inline

Construct from the underlying vector type Construct from the base type

int8x32& simdpp::int8x32::operator= ( basic_int8x32  d)
inline

Construct from the underlying vector type Construct from the base type

const int8x16& simdpp::int8x32::operator[] ( unsigned  i) const
inline
int8x16& simdpp::int8x32::operator[] ( unsigned  i)
inline
static int8x32 simdpp::int8x32::set_broadcast ( int8_t  v0)
static

Creates a signed int8x32 vector from a value stored in a core register.

| 0 1 ... 31 |
r = [ v0 v0 ... v0 ]
  • In SSE2-AVX and NEON this intrinsic results in at least 3 instructions.
static int8x32 simdpp::int8x32::zero ( )
static

Creates a signed int8x32 vector with the contents set to zero.

r0 = 0
...
r15 = 0

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