We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
While veclib can handle vectorizing basic math functions, it seems we struggle with more complex functions that use a pointer to return some results:
e.g. float modff(float arg, float* iptr); void sincosf(float x, float *s, float *c);
AFAICT if we try to implement these the vectorizers will convert these into:
<4 x float> modff4(<4 x float> arg, <4 x float*> iptr); void sincosf4(<4 x float> x, <4 x float*> s, <4 x float*> c);
instead of the more useful:
<4 x float> modff4(<4 x float> arg, <4 x float> *iptr); void sincosf4(<4 x float> x, <4 x float> *s, <4 x float> *c);
The text was updated successfully, but these errors were encountered:
See also Issue #50872
Sorry, something went wrong.
No branches or pull requests
Extended Description
While veclib can handle vectorizing basic math functions, it seems we struggle with more complex functions that use a pointer to return some results:
e.g.
float modff(float arg, float* iptr);
void sincosf(float x, float *s, float *c);
AFAICT if we try to implement these the vectorizers will convert these into:
<4 x float> modff4(<4 x float> arg, <4 x float*> iptr);
void sincosf4(<4 x float> x, <4 x float*> s, <4 x float*> c);
instead of the more useful:
<4 x float> modff4(<4 x float> arg, <4 x float> *iptr);
void sincosf4(<4 x float> x, <4 x float> *s, <4 x float> *c);
The text was updated successfully, but these errors were encountered: