_mm_cvtss_si64x

Microsoft-spezifisch

Generiert die erweiterte x64-Version der Convert Scalar Single Precision Floating Point Number in 64-Bit-Ganzzahl (cvtss2si)-Anweisung.

Syntax

__int64 _mm_cvtss_si64x(
   __m128 value
);

Parameter

value
[in] Eine __m128 Struktur, die Gleitkommawerte enthält.

Rückgabewert

Eine 64-Bit-Ganzzahl, das Ergebnis der Konvertierung des ersten Gleitkommawerts in eine ganze Zahl.

Anforderungen

Intrinsic Aufbau
_mm_cvtss_si64x x64

Headerdatei<intrin.h>

Hinweise

Das erste Element des Strukturwerts wird in eine ganze Zahl konvertiert und zurückgegeben. Die Rundungssteuerelementbits in MXCSR werden verwendet, um das Rundungsverhalten zu bestimmen. Der Standardmäßige Rundungsmodus ist auf das nächste Gerundet und wird auf die gerade Zahl gerundet, wenn der Dezimalteil 0,5 ist. Da die __m128 Struktur ein XMM-Register darstellt, übernimmt das systeminterne System einen Wert aus dem XMM-Register und schreibt ihn in den Systemspeicher.

Diese Routine ist nur als systeminterne Funktion verfügbar.

Beispiel

// _mm_cvtss_si64x.cpp
// processor: x64
#include <intrin.h>
#include <stdio.h>

#pragma intrinsic(_mm_cvtss_si64x)

int main()
{
    __m128 a;
    __int64 b = 54;

    // _mm_load_ps requires an aligned buffer.
    __declspec(align(16)) float af[4] =
                           { 101.25, 200.75, 300.5, 400.5 };

    // Load a with the floating point values.
    // The values will be copied to the XMM registers.
    a = _mm_load_ps(af);

    // Extract the first element of a and convert to an integer
    b = _mm_cvtss_si64x(a);

    printf_s("%I64d\n", b);
}
101

Ende Microsoft-spezifisch

Siehe auch

__m128d
Systeminterne Compiler