__m64_muladd64hi、__m64_muladd64hi_u

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

Microsoft 固有の仕様 →

式 a*b+c の上位 64 ビットを計算します。

__m64 __m64_muladd64hi( 
   __m64 a, 
   __m64 b, 
   __m64 c 
);
__m64 __m64_muladd64hi_u( 
   __m64 a, 
   __m64 b, 
   __m64 c 
);

パラメーター

  • [入力] a
    最初の要素。

  • [入力] b
    2 番目の要素。

  • [入力] c
    最初の 2 個のパラメーターの積に加算される数値。

必要条件

組み込み

アーキテクチャ

__m64_muladd64hi

IPF

__m64_muladd64hi_u

IPF

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

解説

__m64_muladd64hi は 64 ビット符号付き整数として引数を処理します。 __m64_muladd64hi_u は 64 ビットの符号なし整数として引数を処理します。

使用例

// muladd64hi.c
// processor: IPF

#include <stdio.h>
#include <intrin.h>
#include <limits.h>

#pragma intrinsic(__m64_muladd64hi, __m64_muladd64hi_u, __m64_muladd64lo)

int main()
{
    __m64 a, b, c, result;
    a.m64_i64 = 2I64;
    b.m64_i64 = _I64_MAX;
    c.m64_i64 = _I64_MAX;

    result = __m64_muladd64hi(a, b, c);
    printf_s("0x%I64x", result.m64_i64);

    result = __m64_muladd64lo(a, b, c);
    printf_s("%I64x\n", result.m64_i64);

    b.m64_u64 = _UI64_MAX;
    c.m64_u64 = _UI64_MAX;
    result = __m64_muladd64hi_u(a, b, c);
    printf_s("0x%I64x", result.m64_u64);

    result = __m64_muladd64lo(a, b, c);
    printf_s("%I64x", result.m64_u64);

    return 0;
}
          
        

参照

Reference

__m64_muladd64lo

__m64

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