Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Microsoft Specific
Compute the high 64 bits of the expression a*b+c.
__m64 __m64_muladd64hi(
__m64 a,
__m64 b,
__m64 c
);
__m64 __m64_muladd64hi_u(
__m64 a,
__m64 b,
__m64 c
);
Parameters
[in] a
The first factor.[in] b
The second factor.[in] c
The number to be added to the product of the first two parameters.
Requirements
Intrinsic |
Architecture |
|---|---|
__m64_muladd64hi |
IPF |
__m64_muladd64hi_u |
IPF |
Header file <intrin.h>
Remarks
__m64_muladd64hi treats the arguments as signed 64-bit integers. __m64_muladd64hi_u treats the arguments as unsigned 64-bit integers.
Example
// 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;
}
0x17ffffffffffffffd
0x2fffffffffffffffd