> There were two mutually incompatible changes reviewed and
> merged around the same time for different issues in
> convert_mult_to_fma.
>
> the change in r16-7353 keeps result in it's unpromoted form
> and deals with it as such but the change in r16-7304 expects
> it to be in it's promoted form.
>
> This causes the assert to fail again and the SVE testcase I
> added before to fail.
>
> Since the value is now kept in it's unpromoted form, and result
> is not used as any LHS side, I've partially reverted the
> convert stripping to make use of it.
Sorry for the collateral damage :) I ran a test of course and I'm pretty sure
it had your commit in it already. Maybe my runs on the cfarm machine aren't
sufficiently broad? It's a Neoverse N1 (cfarm424).
> +/* { dg-do compile } */
> +/* { dg-options "-O2 --param=avoid-fma-max-bits=8 -march=rv64gv
> -fdump-tree-widening_mul" } */
You need -mabi=lp64d here as well (unfortunately, I always forget that but it's
due to multilib).
Apart from that looks reasonable to me FWIW.
--
Regards
Robin