Skip to content
New issue

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

[pragma annotated RV loop vectorizer] Not vectorized with obscure diag when annotated #42

Open
ghost opened this issue Oct 1, 2019 · 0 comments

Comments

@ghost
Copy link

ghost commented Oct 1, 2019

At the README page, I am advised that

Be aware that RV will exactly do as you annotated...You'll get what you ordered

But I get diag message "Unsupported user of reduction" (M1) or a more obscure one "warning: loop not vectorized: the optimizer was unable to perform the requested transformation; the transformation might be disabled or specified as part of an unsupported transformation ordering [-Wpass-failed=transform-warning]" (M2) when I employ RV as loop vectorizer with SPECCPU2017 benchmarks.

Taking the 644.nab_s benchmark as an example, I annotate a loop in eff.c file (line 1760) and get diag message M2, a loop in eff.c file (line 2785) and get diag message M1. I annotate with #pragma clang loop vectorize(assume_safety) vectorize_width(4) . And I compile with -O3 -fno-vectorize -mavx -fplugin= libRV.so -mllvm -rv-loopvec.

I believe these loops could be vectorized by RV. I wonder what I have done wrong and how could I vectorize these loops successfully. Thanks in advance.

@ghost ghost changed the title [pragma annotated RV loop vectorizer] I did not get what I ordered [pragma annotated RV loop vectorizer] Not vectorized with obscure diag when annotated Oct 1, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

0 participants