__m64_pshradd2

[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 Blank topics are included as placeholders.]

Microsoft 固有の仕様 →

は並列のアクセス許可を追加 pshradd2() 命令を生成します。

__m64 __m64_pshradd2( 
   __m64 a, 
   const int nBit, 
   __m64 b 
);

パラメーター

  • [入力] a
    から右に 4 個の 16 ビット符号付き整数の配列を含む __m64 の共用体をに追加します。

  • [入力] nBit
    右シフトするビット数だけ最初の配列の整数。 0. から 3 まで有効な値。

  • [入力] b
    追加するに 4 個の 16 ビット符号付き整数の配列を含む __m64 の和集合。

戻り値

要素がここで説明する式に従って計算される 4 個の 16 ビット符号付き整数の配列を含む __m64 の和集合。

必要条件

組み込み

アーキテクチャ

__m64_pshradd2

IPF

ヘッダー ファイル <intrin.h>

解説

この命令ではで計算します :

c[i] = a[i] >> nBit + b[i]

a と b の 4 要素 i でそれぞれに __m64 の共用体として配列 c。

使用例

// m64_pshradd2.c
// processor: IPF
#include <stdio.h>
#include <intrin.h>

#pragma intrinsic(__m64_pshradd2)

int main()
{
    __m64 a, b, result;

    a.m64_i16[0] = 0;
    a.m64_i16[1] = 2;
    a.m64_i16[2] = 16;
    a.m64_i16[3] = 100;
    
    b.m64_i16[0] = 1;
    b.m64_i16[1] = 2;
    b.m64_i16[2] = 3;
    b.m64_i16[3] = 4;

    printf_s("Input a: %d %d %d %d\n",
             a.m64_i16[0], a.m64_i16[1], a.m64_i16[2],
             a.m64_i16[3]);

    printf_s("Input b: %d %d %d %d\n",
             b.m64_i16[0], b.m64_i16[1], b.m64_i16[2],
             b.m64_i16[3]);

    result = __m64_pshradd2(a, 1, b);

    printf_s("Results of pshradd2(a, 1, b): %d %d %d %d\n",
             result.m64_i16[0], result.m64_i16[1], result.m64_i16[2],
             result.m64_i16[3]);
}
          
        

参照

Reference

__m64

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