> - sincos and all functions working with arrays ... Because these > functions have pointer arguments and that would require a bigger > rework of ix86_veclibabi_aocl(). Also, I'm not sure if GCC even ever > generates calls to these functions. GCC is able to recognize sin and cos calls and turn them into single sincos.
double a[2]; void test (double b) { a[0]=__builtin_sin (b); a[1]=__builtin_cos (b); } There is sincos pass for this. For functions working on arrays, I think we would need to pattern match them like we do memset/memcpy in -ftree-loop-distribute-patterns... > - linearfrac ... Because these functions are specific to the AMD > library. There's no equivalent glibc function nor GCC internal > function nor GCC built-in. > - powx, sqrt, fabs ... Because GCC doesn't vectorize these functions. sqrt/fabs are vectorized, but produced inline since these are easily doable with SSE/AVX. Honza