blob: 20820992be461478102e9abcaa33f8b3ee762347 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include<simdconfig.h>
#include<simdfuncs.h>
#include<arm_neon.h>
#include<stdint.h>
int neon_available() {
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);
}
|