So just to follow this up, I have learned that it is indeed a requirement of the ms_abi when calling a function of sysv_abi, that is allowed to destroy those registers. Maybe someday we'll come up with a safe way to avoid this overhead. Daniel