イントリンシックから始めて、私の無知を露呈させるものを打つだけです。ここで私が見ているものの人工バージョン(VS2015)です:インテル®インテリジェント・パック・コマンドの誤解
__m128i test;
//test.m128i_u16[0] = 127;
//test.m128i_u16[1] = 128;
//test.m128i_u16[2] = 129;
//test.m128i_u16[3] = 130;
//test.m128i_u16[4] = 131;
//test.m128i_u16[5] = 132;
//test.m128i_u16[6] = 133;
//test.m128i_u16[7] = 134;
test.m128i_u16[0] = 50;
test.m128i_u16[1] = 70;
test.m128i_u16[2] = 90;
test.m128i_u16[3] = 110;
test.m128i_u16[4] = 50;
test.m128i_u16[5] = 70;
test.m128i_u16[6] = 90;
test.m128i_u16[7] = 110;
__m128i result = _mm_packus_epi16 (test, test);
だから最後のコマンド「変換から16ビット整数を詰め、bは、符号なし飽和を使用して8ビット整数をパックするためには、結果を保存しますin dst "と表示されます。 示すように、私が実行している場合、私は私が期待するものを手に入れる:私は(コメント値セットを使用)上記の入力を交換するならば、私は整数飽和結果になりそうだものを手に入れる、
- m128i_i8 char[16]
[0] 50 char
[1] 70 char
[2] 90 chara
[3] 110 char
[4] 50 char
[5] 70 char
[6] 90 char
[7] 110 char
[8] 50 char
[9] 70 char
[10] 90 char
[11] 110 char
[12] 50 char
[13] 70 char
[14] 90 char
[15] 110 char
が、: -
m128i_i8 char[16]
[0] 127 char
[1] -128 char
[2] -127 char
[3] -126 char
[4] -125 char
[5] -124 char
[6] -123 char
[7] -122 char
[8] 127 char
[9] -128 char
[10] -127 char
[11] -126 char
[12] -125 char
[13] -124 char
[14] -123 char
[15] -122 char
私はここで何が欠けていますか?解釈、間違ったコマンド?
対応する入力と出力が並んでいる(水平または垂直)テーブルを作成すると、あなたの質問はもっと短くて読みやすくなります。 –