aboutsummaryrefslogtreecommitdiffstats
path: root/meson/test cases/common/147 simd/simd_neon.c
diff options
context:
space:
mode:
Diffstat (limited to 'meson/test cases/common/147 simd/simd_neon.c')
-rw-r--r--meson/test cases/common/147 simd/simd_neon.c20
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);
+}