https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123870
--- Comment #41 from Jeffrey A. Law <law at gcc dot gnu.org> ---
And the vmv2r problem is the one I fixed a while ago with macc/madd cases.
The relevant assembly code:
th.vmv2r.v v2,v4 # 3034 [c=4 l=4] *pred_maccrvvm2sf/3
th.vfmacc.vv v2,v8,v6
That was fixed in the gcc-15 release cycle:
commit 705a21035bddc856c1e434d5502f69758e82c7e9
Author: Jeff Law <[email protected]>
Date: Tue Nov 12 07:05:02 2024 -0700
[RISC-V] Drop undesirable two instruction macc alternatives
So I was looking at sub_dct a little while ago and was surprised to see
us emit two instructions out of a single pattern. We generally try to
avoid that -- it's not always possible, but as a general rule of thumb
it should be avoided. Specifically I saw:
> vmv1r.v v4,v2 # 138 [c=4 l=4] *pred_mul_plusrvvm1hi_undef/5
> vmacc.vv v4,v8,v1
[ ... ]