WSHUFH - 亂序

語法

WSHUFH[condition] dest, op1, #Imm8

其中:

condition 可選。16 個條件之一。請參閱條件執行
dest 目標,“英特爾(R) 無線 MMX™”技術暫存器
op1 源運算元,“英特爾(R) 無線 MMX™”技術數據暫存器
#Imm8 確定要載入到目標暫存器的 16 位欄位
 

說明

將源暫存器 op1 中的 16 位數據欄位載入到“目標”暫存器 dest。
dest 的四個 16 位欄位由 8 位立即數確定,如下所示:
立即位 1:0 確定要載入到 dest 的半字 0 的 op1 的半字。
立即位 3:2 確定要載入到 dest 的半字 1 的 op1 的半字。
立即位 5:4 確定要載入到 dest 的半字 2 的 op1 的半字。
立即位 7:6 確定要載入到 dest 的半字 3 的 op1 的半字。

儘管 dest 暫存器的所有半字均須載入,但不一定需要使用 op1 的所有半字。op1 的一個半字可以複製到 dest 的多個半字位置。

指令中指定的任何條件必須與條件程式碼狀態匹配,否則不執行指令。

編碼

31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Cond
1110
ddcc
op1
dest
0001
111
0
bbaa
 

子欄位編碼

欄位
bbaa
Imm8[3:0]
ddcc
Imm8[7:4]

影響的 SIMD 標誌

設定 Z 與 N 標誌,清除 C 與 V;僅設定 SIMD16 標誌;不影響“飽和”標誌 (wCSSF)。
標誌
操作
N
根據最終結果設定
Z
根據最終結果設定
C
清除
V
清除

操作

dest[Half 0]=op1[Half Imm8[1:0]]

dest[Half 1]=op1[Half Imm8[3:2]]

dest[Half 2]=op1[Half Imm8[5:4]]

dest[Half 3]=op1[Half Imm8[7:6]]

更多資訊

WALIGNI
WALIGNR

WPACK

WUNPCKEH

WUNPCKIH

WUNPCKEL

WUNPCKIL