In my program I have a function that does a simple vector addition c[0:15] = a[0:15] + b[0:15]. The function prototype is:
void vecadd(float * r
I never used it, but there is _attribute_((aligned (8)))
If I read the documentation right, then it is used this way:
void vecadd(float * restrict a __attribute__((aligned (8))),
float * restrict b __attribute__((aligned (8))),
float * restrict c __attribute__((aligned (8))));
see http://ohse.de/uwe/articles/gcc-attributes.html#type-aligned