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... | |
struct vector_traits< float, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type > |
Vector datatype for Helium.
arch | Current 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. | |
|
inlinestaticconstexpr |
Lane value.
[in] | x | Lane vlue |
|
inlinestatic |
Temp accumulator initialized to 0.
|
inlinestaticconstexpr |
Zero lane.
struct inner::vctpq< float > |
struct inner::vload1_gen_stride |
Load with generalized stride (gather load)
S | List of offsets known at built time |
Static Public Member Functions | |
static float32x4_t | run (const float32_t *p) |
Load with generalized stride. | |
|
inlinestatic |
Load with generalized stride.
[in] | p | Load address |
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. | |
|
inlinestatic |
Load with generalized stride.
[in] | p | Load address |
struct inner::vload1_gen_stride_z |
Load with generalized stride (gather load) and tail predicate.
S | List 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. | |
|
inlinestatic |
Load.
[in] | p | Load address |
[in] | nb | Number of remaining samples in loop |
[in] | p0 | Predicate for remaining samples |
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>
S | List 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> | |
|
inlinestatic |
Gather load with predicated specialized for <0,1,2,3>
[in] | p | Load address |
[in] | nb | Number of remaining samples in the loop |
[in] | p0 | Predicate for samples in the loop |
struct inner::vstore1_gen_stride |
Generalized store with strides.
S | Stride values known at built time |
Static Public Member Functions | |
static void | run (float32_t *p, const float32x4_t val) |
Scatter store. | |
|
inlinestatic |
Scatter store.
p | Store address | |
[in] | val | VAlue to store |
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. | |
|
inlinestatic |
Scatter store.
p | Store address | |
[in] | val | Value to store |
struct inner::vstore1_gen_stride_z |
Store with generalized strides and tail predicate.
S | Strides 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. | |
|
inlinestatic |
Scatter store with tail predicate.
p | Store address | |
[in] | val | Value to store |
[in] | nb | Remaining number of loops |
[in] | p0 | Loop predicate |
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. | |
|
inlinestatic |
Scatter store with tail predicate.
p | Store address | |
[in] | val | Value to store |
[in] | nb | Number of remaining loops |
[in] | p0 | Loop predicate |