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< float32_t, 0, 1, 2, 3 > |
| Load with generalized stride specialized for <0,1,2,3> More... | |
| struct | vload1_gen_stride_z< float32_t, 0, 1, 2, 3 > |
| Load with generalized stride (gather load) and tail predicate specialized for <0,1,2,3> More... | |
| struct | vstore1_gen_stride< float32_t, 0, 1, 2, 3 > |
| Generalized store with stride (Specialized for <0,1,2,3>) More... | |
| struct | vstore1_gen_stride_z< float32_t, 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 value |
|
inlinestatic |
Temp accumulator initialized to 0.
|
inlinestaticconstexpr |
Zero lane.
| struct inner::vctpq< float > |
| struct inner::vload1_gen_stride< float32_t, 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< float32_t, 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< float32_t, 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< float32_t, 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 |