This patch modifies the sequence:
vsetvli zero,a4,e32,m4,ta,ma + vsetvli zero,a4,e8,m2,ta,ma
to:
vsetvli zero,a4,e32,m8,ta,ma + vsetvli zero,zero,e8,m2,ta,ma
Functionally, there is no difference. However, this change resolves the
issue with "e64,mf4", and allows the second vsetvli to omit a4, which is
beneficial.
My question rather was: Why did your test check for the presence of this a4?
Did you see a different issue in an unreduced test apart from what is tested
right now (which seems at least partially wrong)?
Here are three issues with this test case:
1. The test case does not seem to take effect, as it appears to pass both
before and after applying the patch for RV64.
2. Since no mabi is specified, it consistently fails for RV32 with the error:
"Excess errors: cc1: error: ABI requires '-march=rv32'."
3. The test case seems to contain a lot of unnecessary code; perhaps we can
streamline it.
As referenced in the PR the issue is flaky and only rarely occurs, under
specific circumstances (and is latent on trunk). The test case was already
reduced.
You're right about the missing -mabi of course, I keep forgetting it...
--
Regards
Robin