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)
 
int8x32operator= (const int8x32 &d)
 
 int8x32 (int8x16 d0, int8x16 d1)
 
const int8x16operator[] (unsigned i) const
 
int8x16operator[] (unsigned i)
 
 int8x32 (const int256 &d)
 
 int8x32 (const basic_int8x32 &d)
 
int8x32operator= (int256 d)
 
int8x32operator= (basic_int8x32 d)
 
- Public Member Functions inherited from simdpp::basic_int8x32
 basic_int8x32 ()
 
 basic_int8x32 (const basic_int8x32 &d)
 
basic_int8x32operator= (const basic_int8x32 &d)
 
 basic_int8x32 (basic_int8x16 d0, basic_int8x16 d1)
 
const basic_int8x16operator[] (unsigned i) const
 
basic_int8x16operator[] (unsigned i)
 
 basic_int8x32 (const int256 &d)
 
basic_int8x32operator= (const int256 &d)
 
- Public Member Functions inherited from simdpp::int256
 int256 ()
 
 int256 (const int256 &d)
 
int256operator= (const int256 &d)
 
 int256 (int128 d0, int128 d1)
 
const int128operator[] (unsigned i) const
 
int128operator[] (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 uint64x2u64 (unsigned i) const
 
uint64x2u64 (unsigned i)
 
const uint32x4u32 (unsigned i) const
 
uint32x4u32 (unsigned i)
 
const uint16x8u16 (unsigned i) const
 
uint16x8u16 (unsigned i)
 
const uint8x16u8 (unsigned i) const
 
uint8x16u8 (unsigned i)
 
const int64x2i64 (unsigned i) const
 
int64x2i64 (unsigned i)
 
const int32x4i32 (unsigned i) const
 
int32x4i32 (unsigned i)
 
const int16x8i16 (unsigned i) const
 
int16x8i16 (unsigned i)
 
const int8x16i8 (unsigned i) const
 
int8x16i8 (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: