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