CMSIS-DSP  
CMSIS DSP Software Library
 
Loading...
Searching...
No Matches

Namespaces

namespace  inner
 

Data Structures

struct  vector_traits< float, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type >
 Vector datatype for Helium. More...
 
struct  vctpq< float >
 vctpq for this datatype More...
 
struct  vload1_gen_stride< S >
 Load with generalized stride (gather load) More...
 
struct  vload1_gen_stride< 0, 1, 2, 3 >
 Load with generalized stride specialized for <0,1,2,3> More...
 
struct  vload1_gen_stride_z< S >
 Load with generalized stride (gather load) and tail predicate. More...
 
struct  vload1_gen_stride_z< 0, 1, 2, 3 >
 Load with generalized stride (gather load) and tail predicate specialized for <0,1,2,3> More...
 
struct  vstore1_gen_stride< S >
 Generalized store with strides. More...
 
struct  vstore1_gen_stride< 0, 1, 2, 3 >
 Generalized store with stride (Specialized for <0,1,2,3>) More...
 
struct  vstore1_gen_stride_z< S >
 Store with generalized strides and tail predicate. More...
 
struct  vstore1_gen_stride_z< 0, 1, 2, 3 >
 Scatter store with tail predicate (specialized for <0,1,2,3>) More...
 

Description


Data Structure Documentation

◆ vector_traits< float, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type >

struct vector_traits< float, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type >
template<typename arch>
struct vector_traits< float, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type >

Vector datatype for Helium.

Template Parameters
archCurrent architecture

Public Types

typedef float type
 Scalar datatype.
 
typedef float storage_type
 Storage datatype.
 
typedef float32x4_t vector
 Vector datatype.
 
typedef float32x4_t temp_accumulator
 Temp accumulator datatype (must be reduced to final scalar datatype)
 
typedef mve_pred16_t predicate_t
 Predicate datatype.
 

Static Public Member Functions

static float32x4_t temp_acc_zero ()
 Temp accumulator initialized to 0.
 
static constexpr float zero_lane ()
 Zero lane.
 
static constexpr float lane_value (const float x)
 Lane value.
 

Static Public Attributes

static constexpr bool has_vector = true
 Has vector instruction.
 
static constexpr bool is_float = true
 Is float.
 
static constexpr bool is_fixed = false
 Is not fixed point.
 
static constexpr bool has_predicate = true
 Has predicated loops.
 
static constexpr int nb_lanes = 4
 Number of lanes.
 

Member Function Documentation

◆ lane_value()

static constexpr float lane_value ( const float  x)
inlinestaticconstexpr

Lane value.

Parameters
[in]xLane vlue
Returns
Value with scalar datatype

◆ temp_acc_zero()

static float32x4_t temp_acc_zero ( )
inlinestatic

Temp accumulator initialized to 0.

Returns
Temp accumulator initialized to 0

◆ zero_lane()

static constexpr float zero_lane ( )
inlinestaticconstexpr

Zero lane.

Returns
Value to wrte 0 into a lane

◆ inner::vctpq< float >

struct inner::vctpq< float >

vctpq for this datatype

Static Public Member Functions

static mve_pred16_t mk (uint32_t v)
 Make a predicate.
 

Member Function Documentation

◆ mk()

static mve_pred16_t mk ( uint32_t  v)
inlinestatic

Make a predicate.

Parameters
[in]vNumber of iterations
Returns
Predicate

◆ inner::vload1_gen_stride

struct inner::vload1_gen_stride
template<int ... S>
struct inner::vload1_gen_stride< S >

Load with generalized stride (gather load)

Template Parameters
SList of offsets known at built time

Static Public Member Functions

static float32x4_t run (const float32_t *p)
 Load with generalized stride.
 

Member Function Documentation

◆ run()

static float32x4_t run ( const float32_t p)
inlinestatic

Load with generalized stride.

Parameters
[in]pLoad address
Returns
Gather load

◆ inner::vload1_gen_stride< 0, 1, 2, 3 >

struct inner::vload1_gen_stride< 0, 1, 2, 3 >

Load with generalized stride specialized for <0,1,2,3>

Static Public Member Functions

static float32x4_t run (const float32_t *p)
 Load with generalized stride.
 

Member Function Documentation

◆ run()

static float32x4_t run ( const float32_t p)
inlinestatic

Load with generalized stride.

Parameters
[in]pLoad address
Returns
Loaded vector

◆ inner::vload1_gen_stride_z

struct inner::vload1_gen_stride_z
template<int ... S>
struct inner::vload1_gen_stride_z< S >

Load with generalized stride (gather load) and tail predicate.

Template Parameters
SList of offsets known at built time

Static Public Member Functions

static float32x4_t run (const float32_t *p, const std::size_t nb, const mve_pred16_t p0)
 Load.
 

Member Function Documentation

◆ run()

static float32x4_t run ( const float32_t p,
const std::size_t  nb,
const mve_pred16_t  p0 
)
inlinestatic

Load.

Parameters
[in]pLoad address
[in]nbNumber of remaining samples in loop
[in]p0Predicate for remaining samples
Returns
Gather load with predicate

◆ inner::vload1_gen_stride_z< 0, 1, 2, 3 >

struct inner::vload1_gen_stride_z< 0, 1, 2, 3 >

Load with generalized stride (gather load) and tail predicate specialized for <0,1,2,3>

Template Parameters
SList of offsets known at built time

Static Public Member Functions

static float32x4_t run (const float32_t *p, const std::size_t nb, const mve_pred16_t p0)
 Gather load with predicated specialized for <0,1,2,3>
 

Member Function Documentation

◆ run()

static float32x4_t run ( const float32_t p,
const std::size_t  nb,
const mve_pred16_t  p0 
)
inlinestatic

Gather load with predicated specialized for <0,1,2,3>

Parameters
[in]pLoad address
[in]nbNumber of remaining samples in the loop
[in]p0Predicate for samples in the loop
Returns
Gather load

◆ inner::vstore1_gen_stride

struct inner::vstore1_gen_stride
template<int ... S>
struct inner::vstore1_gen_stride< S >

Generalized store with strides.

Template Parameters
SStride values known at built time

Static Public Member Functions

static void run (float32_t *p, const float32x4_t val)
 Scatter store.
 

Member Function Documentation

◆ run()

static void run ( float32_t p,
const float32x4_t  val 
)
inlinestatic

Scatter store.

Parameters
pStore address
[in]valVAlue to store

◆ inner::vstore1_gen_stride< 0, 1, 2, 3 >

struct inner::vstore1_gen_stride< 0, 1, 2, 3 >

Generalized store with stride (Specialized for <0,1,2,3>)

Static Public Member Functions

static void run (float32_t *p, const float32x4_t val)
 Scatter store.
 

Member Function Documentation

◆ run()

static void run ( float32_t p,
const float32x4_t  val 
)
inlinestatic

Scatter store.

Parameters
pStore address
[in]valValue to store

◆ inner::vstore1_gen_stride_z

struct inner::vstore1_gen_stride_z
template<int ... S>
struct inner::vstore1_gen_stride_z< S >

Store with generalized strides and tail predicate.

Template Parameters
SStrides values known at built time

Static Public Member Functions

static void vstore1_z (float32_t *p, const float32x4_t val, const std::size_t nb, const mve_pred16_t p0)
 Scatter store with tail predicate.
 

Member Function Documentation

◆ vstore1_z()

static void vstore1_z ( float32_t p,
const float32x4_t  val,
const std::size_t  nb,
const mve_pred16_t  p0 
)
inlinestatic

Scatter store with tail predicate.

Parameters
pStore address
[in]valValue to store
[in]nbRemaining number of loops
[in]p0Loop predicate

◆ inner::vstore1_gen_stride_z< 0, 1, 2, 3 >

struct inner::vstore1_gen_stride_z< 0, 1, 2, 3 >

Scatter store with tail predicate (specialized for <0,1,2,3>)

Static Public Member Functions

static void vstore1_z (float32_t *p, const float32x4_t val, const std::size_t nb, const mve_pred16_t p0)
 Scatter store with tail predicate.
 

Member Function Documentation

◆ vstore1_z()

static void vstore1_z ( float32_t p,
const float32x4_t  val,
const std::size_t  nb,
const mve_pred16_t  p0 
)
inlinestatic

Scatter store with tail predicate.

Parameters
pStore address
[in]valValue to store
[in]nbNumber of remaining loops
[in]p0Loop predicate