https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113035

--- Comment #4 from Jeffrey A. Law <law at gcc dot gnu.org> ---
Thanks!  It actually looks like there's two vsetvls in both output files.  But
in the case of the sifive-7 tuning, the two vsetvls set different vector
configurations.

for sifive-7 we have these:

vsetvli a6,a6,e8,mf4,ta,ma
vsetvli zero,a6,e32,m1,tu,ma

While rocket tuning gives us:

vsetvli zero,a6,e32,m1,tu,ma
vsetvli zero,a7,e32,m1,tu,ma


At first glance it looks like the vsetvl pass failed to unify the two vector
configurations for the sifive-7 case.  So that's probably the place to look
(sigh, it's a fairly complex hunk of code and won't be trivial to
understand/fix).


Jeff

Reply via email to