« MMX | メイン | MMX (3) - register - »
2005年07月16日
MMX (2) - Shuffle -
Shuffle に関して。これはデータの配置替えのような処理です。
Shuffle Packed Words
pshufw mm0,mm1,imm8 | ||||||||
---|---|---|---|---|---|---|---|---|
* | * | * | * | mm0 | ||||
W3 | W2 | W1 | W0 | mm1 | ||||
↓Wj = shuffle( Wi ) [例えば、imm8=0x1b (0,1,2,3) の場合] | ||||||||
W0 | W1 | W2 | W3 | mm0 |
Shuffle Packed Doublewords
pshufd xmm0,xmm1,imm8 | ||||||||
---|---|---|---|---|---|---|---|---|
* | * | * | * | xmm0 | ||||
D3 | D2 | D1 | D0 | xmm1 | ||||
↓Dj = shuffle( Di ) [例えば、imm8=0x1b (0,1,2,3) の場合] | ||||||||
D0 | D1 | D2 | D3 | xmm0 |
Shuffle Packed High Words
pshufhw xmm0,xmm1,imm8 | ||||||||
---|---|---|---|---|---|---|---|---|
* | * | * | * | w3 | w2 | w1 | w0 | xmm0 |
W7 | W6 | W5 | W4 | * | * | * | * | xmm1 |
↓Wj = shuffle( Wi ) [例えば、imm8=0x1b (0,1,2,3) の場合] | ||||||||
W4 | W5 | W6 | W7 | w3 | w2 | w1 | w0 | xmm0 |
Shuffle Packed Low Words
pshuflw xmm0,xmm1,imm8 | ||||||||
---|---|---|---|---|---|---|---|---|
w7 | w6 | w5 | w4 | * | * | * | * | xmm0 |
* | * | * | * | W3 | W2 | W1 | W0 | xmm1 |
↓Wj = shuffle( Wi ) [例えば、imm8=0x1b (0,1,2,3) の場合] | ||||||||
w7 | w6 | w5 | w4 | W0 | W1 | W2 | W3 | xmm0 |
投稿者 napier : 2005年07月16日 13:56
トラックバック
このエントリーのトラックバックURL:
http://will.squares.net/mt/mt-modified-tb.cgi/230