Hi!

On Tue, Apr 26, 2022 at 03:06:51PM -0500, Pat Haugen wrote:
> Fix register count when not splitting Complex IEEE 128-bit args.
> 
> For ABI_V4, we do not split complex args.

Because that is what the ABI requires, yes :-)

> This created a problem because
> even though an arg would be passed in two VSX regs, we were only 
> advancing the
> function arg counter by one VSX register. Fixed with this patch.

> gcc/
>       PR testsuite/99685
>       * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
>       register count when not splitting IEEE 128-bit Complex.

Note where the PR marker goes.

> +       /* If we are not splitting Complex IEEE 128-bit args then account 
> for

You sent the patch as format=flawed.  Don't.  It does not work.

> +          the fact that they are passed in 2 VSX regs. */
> +       if (! targetm.calls.split_complex_arg && type

No space after "!" (or any other unary operator not written with
letters).

> +           && TREE_CODE (type) == COMPLEX_TYPE && elt_mode == KCmode)
> +         cum->vregno++;
> +

With those trivialities fixed, okay for trunk.  Thanks!


Segher

Reply via email to