On Sat, 10 Mar 2012 20:35:02 -0600, Sean Cavanaugh <worksonmymach...@gmail.com> 
wrote:

On 3/10/2012 8:08 PM, Mantis wrote:
Tuple!(float, float) callee() {
do something to achieve result in st0,st1
fst st0, st1 into stack
load stack values into EAX, EDX
ret
}

void caller() {
call callee()
push EAX, EDX into a stack
fld stack values into st0, st1
do something with st0, st1
}

As opposed to:

Tuple!(float, float) callee() {
do something to achieve result in st0,st1
ret
}

void caller() {
call callee()
do something with st0, st1
}

Is there something I miss here?

Yes, the fact the FPU stack is deprecated :)


And that on x86-64, the plan is to allow the passing of floating point stack 
data through SSE, which would speed up _all_ structs, not just special MRV 
returns. IIRC, the exact ABI design for this isn't finished yet.

Reply via email to