Namespaces | |
namespace | inner |
Data Structures | |
struct | vector_traits< std::complex< float16_t >, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type > |
Vector datatype for Helium. More... | |
struct | vload1_gen_stride< std::complex< float16_t >, 0, 1, 2, 3, 4, 5, 6, 7 > |
Load with generalized stride specialized for <0,1,2,3,4,5,6,7> More... | |
struct | vstore1_gen_stride< std::complex< float16_t >, 0, 1, 2, 3, 4, 5, 6, 7 > |
Generalized store with stride (Specialized for <0,1,2,3>) More... | |
struct vector_traits< std::complex< float16_t >, arch, typename std::enable_if< std::is_base_of< Helium, arch >::value >::type > |
Vector datatype for Helium.
arch | Current architecture |
Public Types | |
typedef std::complex< float16_t > | type |
Scalar datatype. | |
typedef std::complex< float16_t > | storage_type |
Storage datatype. | |
typedef ComplexVector< float16x8_t > | vector |
Vector datatype. | |
typedef HalfComplexVector< float16x8_t > | half_vector |
Half vector datatype. | |
typedef float16x8_t | real_vector |
Real vector datatype. | |
typedef ComplexVector< float16x8_t > | temp_accumulator |
Temp accumulator datatype (must be reduced to final scalar datatype) | |
typedef bool | predicate_t |
Predicate datatype (not used for complex) | |
Static Public Member Functions | |
static ComplexVector< float16x8_t > | temp_acc_zero () |
Temp accumulator initialized to 0. | |
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 = false |
Has predicated loops (not used for complex) | |
static constexpr int | nb_lanes = 8 |
Number of lanes (each lane being two floats) | |
static constexpr bool | support_mixed = true |
If support mixed arithmetic. | |
|
inlinestatic |
Temp accumulator initialized to 0.
struct inner::vload1_gen_stride< std::complex< float16_t >, 0, 1, 2, 3, 4, 5, 6, 7 > |
Load with generalized stride specialized for <0,1,2,3,4,5,6,7>
Static Public Member Functions | |
static ComplexVector< float16x8_t > | run (const std::complex< float16_t > *p) |
Load with generalized stride. | |
|
inlinestatic |
Load with generalized stride.
[in] | p | Load address |
struct inner::vstore1_gen_stride< std::complex< float16_t >, 0, 1, 2, 3, 4, 5, 6, 7 > |
Generalized store with stride (Specialized for <0,1,2,3>)
Static Public Member Functions | |
static void | run (std::complex< float16_t > *p, const ComplexVector< float16x8_t > &val) |
Scatter store. | |
|
inlinestatic |
Scatter store.
p | Store address | |
[in] | val | Value to store |