>Forgive my ignorance, but I don't see how the code in question relates to
>returning a 64-bit value?
MOVL a+0(FP),CX
MOVL AX,0(CX)
MOVL AX,4(CX)that's how a 64-bit value is returned on 32-bit machines: similar to returning a structure, the caller passes a hidden first argument referring to the 64-bit return location. in this case, since -1 is already in AX, storing that in both 32-bit parts of the 64-bit value produces -1LL
