You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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
At the README page, I am advised that
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.
The text was updated successfully, but these errors were encountered: