本小结描述的是SSE2整数运算指令。
5. 数据搬移指令
movdqa XMM,XMM/m128
movdqa XMM/m128,XMM
把源存储器内容值送入目的寄存器,当有m128时,内存地址必须16字节对齐.
movdqu XMM,XMM/m128
movdqu XMM/m128,XMM
把源存储器内容值送入目的寄存器,内存地址不必16字节对齐.
movq2dq XMM,MM
把源寄存器内容送入目的寄存器的低64位,高64位清零.
movdq2q MM,XMM
把源寄存器低64位内容送入目的寄存器.
6. 算数运算指令
要点:
1. SSE2的算数运算指令和MMX指令在指令助记符上完全相同。
2. SSE2的算数运算指令操作的是128位的XMM寄存器,而MMX指令操作的是64位的MM寄存器。
3. SSE2指令中如涉及存储器变量,需要变量地址按照16字节对齐。
4. 具体指令请参考MMX指令集相关章节。
7. 数据打包与数据重排指令
要点:
1. SSE2的数据打包、重排指令和MMX数据打包、重排指令在指令助记符上完全相同。
2. SSE2的算数运算指令操作的是128位的XMM寄存器,而MMX指令操作的是64位的MM寄存器。
3. SSE2指令中如涉及存储器变量,需要变量地址按照16字节对齐。
4. SSE2指令一般如果操作低64位,而MMX指令就会操作低32位。
5. 具体指令请参考MMX指令集相关章节。