diff options
Diffstat (limited to 'meson/test cases/common/147 simd/simd_neon.c')
-rw-r--r-- | meson/test cases/common/147 simd/simd_neon.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/meson/test cases/common/147 simd/simd_neon.c b/meson/test cases/common/147 simd/simd_neon.c new file mode 100644 index 000000000..2834b3096 --- /dev/null +++ b/meson/test cases/common/147 simd/simd_neon.c @@ -0,0 +1,20 @@ +#include<simdconfig.h> +#include<simdfuncs.h> + +#include<arm_neon.h> +#include<stdint.h> + +int neon_available(void) { + return 1; /* Incorrect, but I don't know how to check this properly. */ +} + +void increment_neon(float arr[4]) { + float32x2_t a1, a2, one; + a1 = vld1_f32(arr); + a2 = vld1_f32(&arr[2]); + one = vdup_n_f32(1.0); + a1 = vadd_f32(a1, one); + a2 = vadd_f32(a2, one); + vst1_f32(arr, a1); + vst1_f32(&arr[2], a2); +} |