SSE2指令集系列之二

2022-03-24 01:41:41 字數 1047 閱讀 7353

本小結描述的是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位元組對齊。

7.  資料打包與資料重排指令

要點:

1. sse2的資料打包、重排指令和mmx資料打包、重排指令在指令助記符上完全相同。

2. sse2的算數運算指令操作的是128位的xmm暫存器,而mmx指令操作的是64位的mm暫存器。

3. sse2指令中如涉及儲存器變數,需要變數位址按照16位元組對齊。

4. sse2指令一般如果操作低64位,而mmx指令就會操作低32位。

SSE2指令集系列之一

sse2與sse1使用相同暫存器,指令描述約定 mm指64位mmx暫存器 xmm指128xmm暫存器 m32 指32位記憶體變數 m128指128位記憶體變數 sse2主要是雙精度浮點運算指令 1.資料搬移指令 movapd xmm,xmm m128 movapd xmm m128,xmm 把源儲存...

SSE2指令集系列之一 浮點運算指令

sse2與sse1使用相同暫存器,指令描述約定 mm指64位mmx暫存器 xmm指128xmm暫存器 m32 指32位記憶體變數 m128指128位記憶體變數 本小結主要描述雙精度浮點運算指令 1.資料搬移指令 movapdxmm,xmm m128 movapdxmm m128,xmm 把源儲存器內...

SSE指令集系列之二

4.資料重排指令集 unpckhps xmm,xmm m128 源儲存器與目的暫存器高64位按雙字交錯排列,結果送入目的暫存器,記憶體變數必須對齊記憶體16位元組.高64位 低64位 目的暫存器 a0 a1 a2 a3 源儲存器 b0 b1 b2 b3 目的暫存器結果 b0 a0 b1 a1 例 當...