Am 23. Oktober 2019 01:14:03 schrieb "J. Gareth Moreton" <gar...@moreton-family.com>:
> That's definitely a marked improvement. Under the System V ABI and > vectorcall, both fields of a complex type would be passed through xmm0. > Splitting it up into two separate registers would require something like: > > > shufpd %xmm0,%xmm1,3 { Copy the high-order Double into the low-order > position - an immediate operand of "1" will also work, since we're not > concerned with the upper 64 bits of %xmm1 } > > > After which your complied code will work correctly (since it looks like > %xmm1 was undefined before): The code is correct, on x86_64-linux vectorcall is ignored. Supporting vectorcall with my approach would be more difficult. _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel