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