> 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

Reply via email to