libsimdpp  0.9.3
simdpp::uint16x16 Class Reference

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

Inheritance diagram for simdpp::uint16x16:

Public Types

typedef uint16x8 half_vector_type
 
- Public Types inherited from simdpp::basic_int16x16
typedef uint16_t element_type
 
typedef uint16_t uint_element_type
 
typedef basic_int16x16 int_vector_type
 
typedef uint16x16 uint_vector_type
 
typedef basic_int16x8 half_vector_type
 
typedef mask_int16x16 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

 uint16x16 ()
 
 uint16x16 (const uint16x16 &d)
 
uint16x16operator= (const uint16x16 &d)
 
 uint16x16 (uint16x8 d0, uint16x8 d1)
 
const uint16x8operator[] (unsigned i) const
 
uint16x8operator[] (unsigned i)
 
 uint16x16 (const int256 &d)
 
 uint16x16 (basic_int16x16 d)
 
uint16x16operator= (int256 d)
 
uint16x16operator= (basic_int16x16 d)
 
- Public Member Functions inherited from simdpp::basic_int16x16
 basic_int16x16 ()
 
 basic_int16x16 (const basic_int16x16 &d)
 
basic_int16x16operator= (const basic_int16x16 &d)
 
 basic_int16x16 (basic_int16x8 d0, basic_int16x8 d1)
 
const basic_int16x8operator[] (unsigned i) const
 
basic_int16x8operator[] (unsigned i)
 
 basic_int16x16 (const int256 &d)
 
basic_int16x16operator= (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 uint16x16 zero ()
 Creates a unsigned int16x16 vector with the contents set to zero. More...
 
static uint16x16 load_broadcast (const uint16_t *v0)
 Creates a unsigned int16x16 vector from a value loaded from memory. More...
 
static uint16x16 set_broadcast (uint16_t v0)
 Creates a unsigned int16x16 vector from a value stored in a core register. More...
 
static uint16x16 make_const (uint16_t v0)
 Creates a unsigned int16x16 vector from a value known at compile-time. More...
 
static uint16x16 make_const (uint16_t v0, uint16_t v1)
 Creates a unsigned int16x16 vector from two values known at compile-time. More...
 
static uint16x16 make_const (uint16_t v0, uint16_t v1, uint16_t v2, uint16_t v3)
 Creates a unsigned int16x16 vector from four values known at compile-time. More...
 
static uint16x16 make_const (uint16_t v0, uint16_t v1, uint16_t v2, uint16_t v3, uint16_t v4, uint16_t v5, uint16_t v6, uint16_t v7)
 Creates a unsigned int16x16 vector from eight values known at compile-time. More...
 
static uint16x16 make_const (uint16_t v0, uint16_t v1, uint16_t v2, uint16_t v3, uint16_t v4, uint16_t v5, uint16_t v6, uint16_t v7, uint16_t v8, uint16_t v9, uint16_t v10, uint16_t v11, uint16_t v12, uint16_t v13, uint16_t v14, uint16_t v15)
 Creates a unsigned int16x16 vector from eight values known at compile-time. More...
 

Additional Inherited Members

- Static Public Attributes inherited from simdpp::basic_int16x16
static const unsigned length = 16
 
static const unsigned num_bits = 16
 
static const uint_element_type all_bits = 0xffff
 
- 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 8x 16-bit unsigned integer vector.

Member Typedef Documentation

Constructor & Destructor Documentation

simdpp::uint16x16::uint16x16 ( )
inline
simdpp::uint16x16::uint16x16 ( const uint16x16 d)
inline
simdpp::uint16x16::uint16x16 ( const int256 d)
inline

Construct from the underlying vector type Construct from the base type

simdpp::uint16x16::uint16x16 ( basic_int16x16  d)
inline

Construct from the underlying vector type Construct from the base type

simdpp::uint16x16::uint16x16 ( uint16x8  d0,
uint16x8  d1 
)
inline

Member Function Documentation

static uint16x16 simdpp::uint16x16::load_broadcast ( const uint16_t *  v0)
static

Creates a unsigned int16x16 vector from a value loaded from memory.

| 0 1 ... 15 |
r = [ v0 v0 ... v0 ]
  • In SSE2-SSE4.1 this intrinsic results in at least 3 instructions.
  • In NEON this intrinsic results in at least 1 instructions.
static uint16x16 simdpp::uint16x16::make_const ( uint16_t  v0)
static

Creates a unsigned int16x16 vector from a value known at compile-time.

| 0 1 ... 15 |
r = [ v0 v0 ... v0 ]
static uint16x16 simdpp::uint16x16::make_const ( uint16_t  v0,
uint16_t  v1 
)
static

Creates a unsigned int16x16 vector from two values known at compile-time.

| 0 1 2 3 4 ... 15 |
r = [ v0 v1 v0 v1 v0 ... v1 ]
static uint16x16 simdpp::uint16x16::make_const ( uint16_t  v0,
uint16_t  v1,
uint16_t  v2,
uint16_t  v3 
)
static

Creates a unsigned int16x16 vector from four values known at compile-time.

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

Creates a unsigned int16x16 vector from eight values known at compile-time.

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

Creates a unsigned int16x16 vector from eight values known at compile-time.

| 0 1 ... 15 |
r = [ v0 v1 ... v15 ]
uint16x16& simdpp::uint16x16::operator= ( const uint16x16 d)
inline
uint16x16& simdpp::uint16x16::operator= ( int256  d)
inline

Construct from the underlying vector type Construct from the base type

uint16x16& simdpp::uint16x16::operator= ( basic_int16x16  d)
inline

Construct from the underlying vector type Construct from the base type

const uint16x8& simdpp::uint16x16::operator[] ( unsigned  i) const
inline
uint16x8& simdpp::uint16x16::operator[] ( unsigned  i)
inline
static uint16x16 simdpp::uint16x16::set_broadcast ( uint16_t  v0)
static

Creates a unsigned int16x16 vector from a value stored in a core register.

| 0 1 ... 15 |
r = [ v0 v0 ... v0 ]
  • In SSE2-SSE4.1 and NEON this intrinsic results in at least 2 instructions.
static uint16x16 simdpp::uint16x16::zero ( )
static

Creates a unsigned int16x16 vector with the contents set to zero.

| 0 1 ... 15 |
r = [ v0 v0 ... v0 ]

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