Den 2023-02-02 kl. 20:16, skrev Martin Husemann:
Maybe, but since it is two values I thought it would be more streamlined to do like a struct of two floats (which was my question :-) )On Thu, Feb 02, 2023 at 07:59:32PM +0100, Anders Magnusson wrote:What is the reason for; 1) return floats in eax/edx instead as a struct?Just guessing: consistency with other 64bit return values.
Since complex was not in the original elf spec, it could as well have gone in st0/st1 since it wouldn't affect anything else.2) not just returning all complex numbers on the floating point stack?Again guessing: %st(0) would not be enough and %st(1)..%st(7) are defined as scratch registers and to not have any role in function calls. But *why* this was defined, I have no idea.
Hence my question here as well :-) -- R