24 #ifndef ARM_COMPUTE_WRAPPER_SET_LANE_H 25 #define ARM_COMPUTE_WRAPPER_SET_LANE_H 33 #define VSETLANE_IMPL_8(stype, atype, vtype, postfix) \ 34 inline stype vsetlane(const atype value, const vtype vector, const unsigned int lane) \ 39 return vset_lane_##postfix(value, vector, 0); \ 41 return vset_lane_##postfix(value, vector, 1); \ 43 return vset_lane_##postfix(value, vector, 2); \ 45 return vset_lane_##postfix(value, vector, 3); \ 47 return vset_lane_##postfix(value, vector, 4); \ 49 return vset_lane_##postfix(value, vector, 5); \ 51 return vset_lane_##postfix(value, vector, 6); \ 53 return vset_lane_##postfix(value, vector, 7); \ 55 ARM_COMPUTE_ERROR("Invalid lane"); \ 59 #define VSETLANE_IMPL_4(stype, atype, vtype, postfix) \ 60 inline stype vsetlane(const atype value, const vtype vector, const unsigned int lane) \ 65 return vset_lane_##postfix(value, vector, 0); \ 67 return vset_lane_##postfix(value, vector, 1); \ 69 return vset_lane_##postfix(value, vector, 2); \ 71 return vset_lane_##postfix(value, vector, 3); \ 73 ARM_COMPUTE_ERROR("Invalid lane"); \ 77 #define VSETLANE_IMPL_2(stype, atype, vtype, postfix) \ 78 inline stype vsetlane(const atype value, const vtype vector, const unsigned int lane) \ 83 return vset_lane_##postfix(value, vector, 0); \ 85 return vset_lane_##postfix(value, vector, 1); \ 87 ARM_COMPUTE_ERROR("Invalid lane"); \ 98 #ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC 100 #endif // __ARM_FEATURE_FP16_VECTOR_ARITHMETIC 102 #define VSETQLANE_IMPL_16(stype, atype, vtype, postfix) \ 103 inline stype vsetlane(const atype value, const vtype vector, const unsigned int lane) \ 108 return vsetq_lane_##postfix(value, vector, 0); \ 110 return vsetq_lane_##postfix(value, vector, 1); \ 112 return vsetq_lane_##postfix(value, vector, 2); \ 114 return vsetq_lane_##postfix(value, vector, 3); \ 116 return vsetq_lane_##postfix(value, vector, 4); \ 118 return vsetq_lane_##postfix(value, vector, 5); \ 120 return vsetq_lane_##postfix(value, vector, 6); \ 122 return vsetq_lane_##postfix(value, vector, 7); \ 124 return vsetq_lane_##postfix(value, vector, 8); \ 126 return vsetq_lane_##postfix(value, vector, 9); \ 128 return vsetq_lane_##postfix(value, vector, 10); \ 130 return vsetq_lane_##postfix(value, vector, 11); \ 132 return vsetq_lane_##postfix(value, vector, 12); \ 134 return vsetq_lane_##postfix(value, vector, 13); \ 136 return vsetq_lane_##postfix(value, vector, 14); \ 138 return vsetq_lane_##postfix(value, vector, 15); \ 140 ARM_COMPUTE_ERROR("Invalid lane"); \ 144 #define VSETQLANE_IMPL_8(stype, atype, vtype, postfix) \ 145 inline stype vsetlane(const atype value, const vtype vector, const unsigned int lane) \ 150 return vsetq_lane_##postfix(value, vector, 0); \ 152 return vsetq_lane_##postfix(value, vector, 1); \ 154 return vsetq_lane_##postfix(value, vector, 2); \ 156 return vsetq_lane_##postfix(value, vector, 3); \ 158 return vsetq_lane_##postfix(value, vector, 4); \ 160 return vsetq_lane_##postfix(value, vector, 5); \ 162 return vsetq_lane_##postfix(value, vector, 6); \ 164 return vsetq_lane_##postfix(value, vector, 7); \ 166 ARM_COMPUTE_ERROR("Invalid lane"); \ 170 #define VSETQLANE_IMPL_4(stype, atype, vtype, postfix) \ 171 inline stype vsetlane(const atype value, const vtype vector, const unsigned int lane) \ 176 return vsetq_lane_##postfix(value, vector, 0); \ 178 return vsetq_lane_##postfix(value, vector, 1); \ 180 return vsetq_lane_##postfix(value, vector, 2); \ 182 return vsetq_lane_##postfix(value, vector, 3); \ 184 ARM_COMPUTE_ERROR("Invalid lane"); \ 195 #ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC 197 #endif // __ARM_FEATURE_FP16_VECTOR_ARITHMETIC 199 #undef VSETLANE_IMPL_8 200 #undef VSETLANE_IMPL_4 201 #undef VSETLANE_IMPL_2 203 #undef VSETQLANE_IMPL_16 204 #undef VSETQLANE_IMPL_8 205 #undef VSETQLANE_IMPL_4 #define VSETQLANE_IMPL_16(stype, atype, vtype, postfix)
Copyright (c) 2017-2022 Arm Limited.
#define VSETLANE_IMPL_2(stype, atype, vtype, postfix)
#define VSETLANE_IMPL_4(stype, atype, vtype, postfix)
#define VSETQLANE_IMPL_4(stype, atype, vtype, postfix)
#define VSETQLANE_IMPL_8(stype, atype, vtype, postfix)
#define VSETLANE_IMPL_8(stype, atype, vtype, postfix)