__m64_padd2uus
[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 Blank topics are included as placeholders.]
Microsoft 固有の仕様 →
並列の追加は padd2.uus の順序付け (バイト符号なし符号なし署名された彩度のフォーム) を生成します。
__m64 __m64_padd2uus(
__m64 a,
__m64 b
);
パラメーター
[入力] a
追加するバイトのセクションを含む最初の 64 ビット フィールド。[入力] b
追加するバイトのセクションを格納する 2 64 番目のビット フィールド。
必要条件
組み込み |
アーキテクチャ |
---|---|
__m64_padd1uus |
IPF |
ヘッダー ファイル <intrin.h>
解説
__m64_padd2uus は 2 番目のオペランドの対応する 1 バイトのセクションでは二つのオペランドの各バイトのセクションを追加し結果の対応するバイトのセクションに結果が表示されます。 1 番目のオペランドの値が符号と見なされ2 番目のオペランドの値が署名されたと見なされます。 結果の値は符号付きと見なされます。
加算 2 バイトの結果がオーバーフローすると値は飽和し16 ビットのセクションでは0xFFFF に設定されます。 追加のアンダーフローの結果がゼロに設定されている場合16 ビット。
使用例
// padd2uus.cpp
// processor: IPF
#include <stdio.h>
#include <intrin.h>
#pragma intrinsic(__m64_padd2uus)
int main()
{
__m64 m, n, result;
m.m64_i64 = 0x110022003300ff00;
n.m64_i64 = 0x01100220033000ff;
result = __m64_padd2uus(m, n);
printf_s("__m64_padd2uus(%#18I64x, %#18I64x) ==\n %#18I64x\n",
m, n, result);
// This operation is not commutative! The second parameter
// is signed, so 0xff00 will be interpreted as a negative
// integer (-256). When added to 0x00ff (256), the result is 0.
result = __m64_padd2uus(n, m);
printf_s("__m64_padd2uus(%#18I64x, %#18I64x) ==\n %#18I64x\n",
n, m, result);
}