Hi!
CCing Segher and David on this.
rs6000 indeed doesn't implement {,u}{add,sub,mul}v4_optab for
any mode and thus leaves it to the generic code.
On Tue, Feb 14, 2023 at 04:48:42AM +0100, Simon Richter wrote:
> I'm looking at the generated code for these builtins on POWER:
>
> add 4,3,4
> subfc 3,3,4
> subfe 3,3,3
> std 4,0(5)
> rldicl 3,3,0,63
> blr
>
> and
>
> mulld 10,3,4
> mulhdu 3,3,4
> addic 9,3,-1
> std 10,0(5)
> subfe 3,9,3
> blr
>
> The POWER architecture has variants of these instructions with builtin
> overflow checks (addo/mulldo), but these aren't listed in the .md files, and
> the builtins don't generate them either.
>
> Is this intentional (I've found a few comments that mulldo is microcoded on
> CellBE and should be avoided there)?
Jakub