Lines Matching refs:wrapper
46 …using vtype = wrapper::traits::neon_bitvector<T, wrapper::traits::B… in directconv3d_quantized_neon_ndhwc()
50 using q16_t = typename wrapper::traits::promote_t<T>; in directconv3d_quantized_neon_ndhwc()
51 using q32_t = typename wrapper::traits::promote_t<q16_t>; in directconv3d_quantized_neon_ndhwc()
52 …using q32x4_t = typename wrapper::traits::neon_vector<q32_t, 4>::type; in directconv3d_quantized_neon_ndhwc()
162 … vector_type w_vec = wrapper::vdup_n(static_cast<T>(0), tag_type()); in directconv3d_quantized_neon_ndhwc()
164 q32x4_t acc_q32_0 = wrapper::vdup_n(static_cast<q32_t>(0), tag_type()); in directconv3d_quantized_neon_ndhwc()
165 q32x4_t acc_q32_1 = wrapper::vdup_n(static_cast<q32_t>(0), tag_type()); in directconv3d_quantized_neon_ndhwc()
166 q32x4_t acc_q32_2 = wrapper::vdup_n(static_cast<q32_t>(0), tag_type()); in directconv3d_quantized_neon_ndhwc()
167 q32x4_t acc_q32_3 = wrapper::vdup_n(static_cast<q32_t>(0), tag_type()); in directconv3d_quantized_neon_ndhwc()
172 const auto src_vec = wrapper::vloadq(in_ptr_mover); in directconv3d_quantized_neon_ndhwc()
176 w_vec = wrapper::vsetlane(*weights_ptr_mover, w_vec, k); in directconv3d_quantized_neon_ndhwc()
178 … q32x4_t src_q32_0 = wrapper::vdup_n(static_cast<q32_t>(input_offset), tag_type()); in directconv3d_quantized_neon_ndhwc()
179 … q32x4_t src_q32_1 = wrapper::vdup_n(static_cast<q32_t>(input_offset), tag_type()); in directconv3d_quantized_neon_ndhwc()
180 … q32x4_t src_q32_2 = wrapper::vdup_n(static_cast<q32_t>(input_offset), tag_type()); in directconv3d_quantized_neon_ndhwc()
181 … q32x4_t src_q32_3 = wrapper::vdup_n(static_cast<q32_t>(input_offset), tag_type()); in directconv3d_quantized_neon_ndhwc()
183 … q32x4_t wei_q32_0 = wrapper::vdup_n(static_cast<q32_t>(weights_offset), tag_type()); in directconv3d_quantized_neon_ndhwc()
184 … q32x4_t wei_q32_1 = wrapper::vdup_n(static_cast<q32_t>(weights_offset), tag_type()); in directconv3d_quantized_neon_ndhwc()
185 … q32x4_t wei_q32_2 = wrapper::vdup_n(static_cast<q32_t>(weights_offset), tag_type()); in directconv3d_quantized_neon_ndhwc()
186 … q32x4_t wei_q32_3 = wrapper::vdup_n(static_cast<q32_t>(weights_offset), tag_type()); in directconv3d_quantized_neon_ndhwc()
188 const auto src_q16_0 = wrapper::vmovl(wrapper::vgetlow(src_vec)); in directconv3d_quantized_neon_ndhwc()
189 const auto src_q16_1 = wrapper::vmovl(wrapper::vgethigh(src_vec)); in directconv3d_quantized_neon_ndhwc()
190 const auto wei_q16_0 = wrapper::vmovl(wrapper::vgetlow(w_vec)); in directconv3d_quantized_neon_ndhwc()
191 const auto wei_q16_1 = wrapper::vmovl(wrapper::vgethigh(w_vec)); in directconv3d_quantized_neon_ndhwc()
193 … src_q32_0 = wrapper::vadd(src_q32_0, wrapper::vmovl(wrapper::vgetlow(src_q16_0))); in directconv3d_quantized_neon_ndhwc()
194 … src_q32_1 = wrapper::vadd(src_q32_1, wrapper::vmovl(wrapper::vgethigh(src_q16_0))); in directconv3d_quantized_neon_ndhwc()
195 … src_q32_2 = wrapper::vadd(src_q32_2, wrapper::vmovl(wrapper::vgetlow(src_q16_1))); in directconv3d_quantized_neon_ndhwc()
196 … src_q32_3 = wrapper::vadd(src_q32_3, wrapper::vmovl(wrapper::vgethigh(src_q16_1))); in directconv3d_quantized_neon_ndhwc()
198 … wei_q32_0 = wrapper::vadd(wei_q32_0, wrapper::vmovl(wrapper::vgetlow(wei_q16_0))); in directconv3d_quantized_neon_ndhwc()
199 … wei_q32_1 = wrapper::vadd(wei_q32_1, wrapper::vmovl(wrapper::vgethigh(wei_q16_0))); in directconv3d_quantized_neon_ndhwc()
200 … wei_q32_2 = wrapper::vadd(wei_q32_2, wrapper::vmovl(wrapper::vgetlow(wei_q16_1))); in directconv3d_quantized_neon_ndhwc()
201 … wei_q32_3 = wrapper::vadd(wei_q32_3, wrapper::vmovl(wrapper::vgethigh(wei_q16_1))); in directconv3d_quantized_neon_ndhwc()
203 acc_q32_0 = wrapper::vmla(acc_q32_0, wei_q32_0, src_q32_0); in directconv3d_quantized_neon_ndhwc()
204 acc_q32_1 = wrapper::vmla(acc_q32_1, wei_q32_1, src_q32_1); in directconv3d_quantized_neon_ndhwc()
205 acc_q32_2 = wrapper::vmla(acc_q32_2, wei_q32_2, src_q32_2); in directconv3d_quantized_neon_ndhwc()
206 acc_q32_3 = wrapper::vmla(acc_q32_3, wei_q32_3, src_q32_3); in directconv3d_quantized_neon_ndhwc()
209 acc += wrapper::vaddv(acc_q32_0); in directconv3d_quantized_neon_ndhwc()
210 acc += wrapper::vaddv(acc_q32_1); in directconv3d_quantized_neon_ndhwc()
211 acc += wrapper::vaddv(acc_q32_2); in directconv3d_quantized_neon_ndhwc()
212 acc += wrapper::vaddv(acc_q32_3); in directconv3d_quantized_neon_ndhwc()
214 … auto temp = wrapper::vpadd(wrapper::vgethigh(acc_q32_0), wrapper::vgetlow(acc_q32_0)); in directconv3d_quantized_neon_ndhwc()
215 temp = wrapper::vpadd(temp, temp); in directconv3d_quantized_neon_ndhwc()
216 acc += wrapper::vgetlane(temp, 0); in directconv3d_quantized_neon_ndhwc()
218 … temp = wrapper::vpadd(wrapper::vgethigh(acc_q32_1), wrapper::vgetlow(acc_q32_1)); in directconv3d_quantized_neon_ndhwc()
219 temp = wrapper::vpadd(temp, temp); in directconv3d_quantized_neon_ndhwc()
220 acc += wrapper::vgetlane(temp, 0); in directconv3d_quantized_neon_ndhwc()
222 … temp = wrapper::vpadd(wrapper::vgethigh(acc_q32_2), wrapper::vgetlow(acc_q32_2)); in directconv3d_quantized_neon_ndhwc()
223 temp = wrapper::vpadd(temp, temp); in directconv3d_quantized_neon_ndhwc()
224 acc += wrapper::vgetlane(temp, 0); in directconv3d_quantized_neon_ndhwc()
226 … temp = wrapper::vpadd(wrapper::vgethigh(acc_q32_3), wrapper::vgetlow(acc_q32_3)); in directconv3d_quantized_neon_ndhwc()
227 temp = wrapper::vpadd(temp, temp); in directconv3d_quantized_neon_ndhwc()
228 acc += wrapper::vgetlane(temp, 0); in directconv3d_quantized_neon_ndhwc()