__m64_shladd
[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 Blank topics are included as placeholders.]
Microsoft 固有の仕様 →
shladd () では追加の命令を生成します。
__m64 __m64_shladd(
__m64 a,
const int nBit,
__m64 b
);
パラメーター
[入力] a
64 ビットの整数を含む __m64 の和集合。[入力] nBit
ビットを左にシフト数。 有効な値は、1、2、3、および 4 です。[入力] b
64 ビットの整数を含む __m64 の和集合。
戻り値
b の追加に続く nBit のバイトの a の左シフトの結果。
必要条件
組み込み |
アーキテクチャ |
---|---|
__m64_shladd |
IPF |
ヘッダー ファイル <intrin.h>
解説
計算されが返す結果は a * 2^nBit + b です。
使用例
// shladd.cpp
// processor: IPF
#include <stdio.h>
#include <intrin.h>
#pragma intrinsic(__m64_shladd)
void print(__int64 a, int nBit, __int64 b, __int64 c)
{
printf_s("__m64_shladd(%I64d, %d, %I64d) returns %I64d\n",
a, nBit, b, c);
}
int main()
{
__m64 m, n, result;
m.m64_i64 = 15;
n.m64_i64 = 7;
result = __m64_shladd(m, 1, n);
print(m.m64_i64, 1, n.m64_i64, result.m64_i64);
result = __m64_shladd(m, 2, n);
print(m.m64_i64, 2, n.m64_i64, result.m64_i64);
result = __m64_shladd(m, 3, n);
print(m.m64_i64, 3, n.m64_i64, result.m64_i64);
result = __m64_shladd(m, 4, n);
print(m.m64_i64, 4, n.m64_i64, result.m64_i64);
}