Я скомпилировал приведенный ниже код с помощью компилятора VC ++ 2010:
__declspec(dllexport)
unsigned int __cdecl __mm_getcsr(void) { return _mm_getcsr(); }
и сгенерированный код был:
push ECX
stmxcsr [ESP]
mov EAX, [ESP]
pop ECX
retn
Почему имеется push ECX
/ pop Пара инструкций ECX
?