Hi!

On Wed, Feb 15, 2023 at 10:18:29AM +0100, Jakub Jelinek wrote:
> If we wanted to get back the signed op1 * op2 + op3 all in the DImode
> into TImode op0, we'd need to introduce a new tree code next to
> WIDEN_MULT_PLUS_EXPR and maddMN4 expander, because I'm afraid it can't
> be done at expansion time in maddMN4 expander to detect whether the
> operand is sign extended especially because of SUBREGs and the awkwardness
> of looking at earlier emitted instructions, and combine would need 5
> instruction combination.

The machine insns we have are like they are just for symmetry as far as
I can see, they aren't all so handy to use, don't worry about it :-)

Nicer for software insns have two registers in for the addend (either as
64-bit, or as two addends), but that is not so nice for hardware.

> Bootstrapped/regtested on powerpc64-linux (power7, tested -m32/-m64),
> powerpc64le-linux (power8 and another on power9 with
> --with-cpu-64=power9 --with-tune-64=power9), preapproved by Segher in the
> PR, committed to trunk.

Thanks again :-)


Segher

Reply via email to