This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:multiasm:papc:chapter_6_3 [2026/03/29 18:46] – [Register Set] ktokarz | en:multiasm:papc:chapter_6_3 [2026/04/01 14:03] (current) – [ZMM registers] ktokarz | ||
|---|---|---|---|
| Line 140: | Line 140: | ||
| </ | </ | ||
| ===== XMM registers ===== | ===== XMM registers ===== | ||
| - | SSE instructions are executed with the use of 128-bit packed data. To perform calculations, | + | SSE instructions are executed with the use of 128-bit packed data. To perform calculations, |
| - | + | ||
| - | <figure xmmregs> | + | |
| - | {{ : | + | |
| - | < | + | |
| - | </ | + | |
| To control the behaviour and to provide information about the status of the SSE unit, the MXCSR register is implemented (figure {{ref> | To control the behaviour and to provide information about the status of the SSE unit, the MXCSR register is implemented (figure {{ref> | ||
| Line 154: | Line 149: | ||
| </ | </ | ||
| ===== YMM registers ===== | ===== YMM registers ===== | ||
| - | The YMM registers are the 256-bit extension to the XMM registers. They are introduced to implement the AVX set of instructions. Additionally, | + | The YMM registers are the 256-bit extension to the XMM registers. They are introduced to implement the AVX set of instructions. Additionally, |
| - | + | ||
| - | <figure ymmregs> | + | |
| - | {{ : | + | |
| - | < | + | |
| - | </ | + | |
| ===== ZMM registers ===== | ===== ZMM registers ===== | ||
| - | ZMM registers are the further extension of XMM registers to 512 bits. In 64-bit machines, 32 of such registers are available | + | ZMM registers are the further extension of XMM registers to 512 bits. In 64-bit machines, 32 of such registers are available. |
| - | + | ||
| - | <figure zmmregs> | + | |
| - | {{ : | + | |
| - | < | + | |
| - | </ | + | |
| XMM are the physical lower halves of YMM, which are the lower halves of ZMM. Anything written to the XMM register appears in part of the YMM and ZMM registers as presented in figure {{ref> | XMM are the physical lower halves of YMM, which are the lower halves of ZMM. Anything written to the XMM register appears in part of the YMM and ZMM registers as presented in figure {{ref> | ||
| Line 173: | Line 158: | ||
| < | < | ||
| </ | </ | ||
| - | Together with AVX extension and ZMM registers, eight 16-bit opmask registers were introduced to x64 processors | + | Together with AVX extension and ZMM registers, eight 16-bit opmask registers were introduced to x64 processors. They can be used, e.g. to provide conditional execution or mask several elements of vectors in AVX instructions. |
| - | + | ||
| - | <figure opmaskregs> | + | |
| - | {{ : | + | |
| - | < | + | |
| - | </ | + | |