__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);

}
          
        

参照

Reference

__m64

コンパイラ組み込み関数。