#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); | |
} |