// Copyright 2020 Google LLC // // This source code is licensed under the BSD-style license found in the // LICENSE file in the root directory of this source tree. #include <assert.h> #include <stddef.h> #include <arm_neon.h> #include <xnnpack/math-stubs.h> void xnn_math_f32_roundz__neonv8( size_t n, const float* input, float* output) { assert(n % (4 * sizeof(float)) == 0); for (; n != 0; n -= 4 * sizeof(float)) { const float32x4_t vx = vld1q_f32(input); input += 4; const float32x4_t vy = vrndq_f32(vx); vst1q_f32(output, vy); output += 4; } }