SSE2指令集系列之二

本小结描述的是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指令集相关章节。

 

 

posted @ 2013-03-28 16:25  celerychen  阅读(964)  评论(0编辑  收藏  举报