25112 Rev. 3.06 September 2005

Software Optimization Guide for AMD64 Processors

E.5 Saving and Restoring Registers of Unknown Format

Optimization

Use INT loads (MOVDQA for 128 bits and MOVQ for 64 bits) when restoring registers of unknown format from the stack.

Application

This optimization applies to:

32-bit software

64-bit software

Rationale

All stores of 64-bits or more from an XMM register to memory may be performed without concern for the type of the data in the XMM register. This allows called procedures to save registers on the stack without knowing what their format was. Conversely, all INT loads (MOVDQA for 128 bits and MOVQ for 64 bits) leave the register in a format that is acceptable to all SSE and SSE2 instructions and is recommended when restoring registers of unknown format from the stack.

Appendix E

SSE and SSE2 Optimizations

361

Page 377
Image 377
AMD 250 manual Saving and Restoring Registers of Unknown Format, 361