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