On Tue, Sep 01, 2020 at 01:52:21PM +0200, Richard Biener wrote:
> OK, I'll see to do that (or fixup the RTL expansion side somehow).
>
> Note that clang and gcc disagree about the return value ABI for
>
> typedef double v1df __attribute__((vector_size(8)));
>
> v1df foo (v1df x)
> {
> return x;
> }
>
> where clang returns in %xmm0 while we return by invisible reference.
> The argument is passed the same (via stack). IIRC we've long said
> the backends should look at the types, not the modes when deciding
> how to pass / return things ...
But many of the backends still do use modes.
If there is an ABI issue, I think we need to find out what the psABI says
and if it is unclear, discuss with psABI authors.
Jakub