libsimdpp  0.9.3
simdpp::altivec Namespace Reference

Functions

uint8x16 load1_u (uint8x16 &a, const uint8_t *p)
 Loads a single element from unaligned memory location and places it to the first position in the vector. More...
 
uint16x8 load1_u (uint16x8 &a, const uint16_t *p)
 Loads a single element from unaligned memory location and places it to the first position in the vector. More...
 
uint32x4 load1_u (uint32x4 &a, const uint32_t *p)
 Loads a single element from unaligned memory location and places it to the first position in the vector. More...
 
float32x4 load1_u (float32x4 &a, const float *p)
 Loads a single element from unaligned memory location and places it to the first position in the vector. More...
 
uint8x16 load1 (uint8x16 &a, const uint8_t *p)
 Loads a single element from a memory location and places it to the vector. More...
 
uint16x8 load1 (uint16x8 &a, const uint16_t *p)
 Loads a single element from a memory location and places it to the vector. More...
 
uint32x4 load1 (uint32x4 &a, const uint32_t *p)
 Loads a single element from a memory location and places it to the vector. More...
 
float32x4 load1 (float32x4 &a, const float *p)
 Loads a single element from a memory location and places it to the vector. More...
 

Function Documentation

uint8x16 simdpp::altivec::load1 ( uint8x16 &  a,
const uint8_t *  p 
)
inline

Loads a single element from a memory location and places it to the vector.

The position of the element is determined by the last 4 address p bits. The contents of the rest of the vector are undefined.

i = (p % 15) / sizeof(element)
a[i] = *p
uint16x8 simdpp::altivec::load1 ( uint16x8 &  a,
const uint16_t *  p 
)
inline

Loads a single element from a memory location and places it to the vector.

The position of the element is determined by the last 4 address p bits. The contents of the rest of the vector are undefined.

i = (p % 15) / sizeof(element)
a[i] = *p
uint32x4 simdpp::altivec::load1 ( uint32x4 &  a,
const uint32_t *  p 
)
inline

Loads a single element from a memory location and places it to the vector.

The position of the element is determined by the last 4 address p bits. The contents of the rest of the vector are undefined.

i = (p % 15) / sizeof(element)
a[i] = *p
float32x4 simdpp::altivec::load1 ( float32x4 &  a,
const float *  p 
)
inline

Loads a single element from a memory location and places it to the vector.

The position of the element is determined by the last 4 address p bits. The contents of the rest of the vector are undefined.

i = (p % 15) / sizeof(element)
a[i] = *p
uint8x16 simdpp::altivec::load1_u ( uint8x16 &  a,
const uint8_t *  p 
)
inline

Loads a single element from unaligned memory location and places it to the first position in the vector.

The contents of the rest of the vector are undefined.

a[0] = *p
  • In ALTIVEC this intrinsic results in at least 2 instructions.
uint16x8 simdpp::altivec::load1_u ( uint16x8 &  a,
const uint16_t *  p 
)
inline

Loads a single element from unaligned memory location and places it to the first position in the vector.

The contents of the rest of the vector are undefined.

a[0] = *p
  • In ALTIVEC this intrinsic results in at least 2 instructions.
uint32x4 simdpp::altivec::load1_u ( uint32x4 &  a,
const uint32_t *  p 
)
inline

Loads a single element from unaligned memory location and places it to the first position in the vector.

The contents of the rest of the vector are undefined.

a[0] = *p
  • In ALTIVEC this intrinsic results in at least 2 instructions.
float32x4 simdpp::altivec::load1_u ( float32x4 &  a,
const float *  p 
)
inline

Loads a single element from unaligned memory location and places it to the first position in the vector.

The contents of the rest of the vector are undefined.

a[0] = *p
  • In ALTIVEC this intrinsic results in at least 2 instructions.