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.
Visual Studio 2010 SP1 wird benötigt.
Microsoft-spezifisch
Generiert die XOP-Anweisung vphadddq, um eine horizontale Ganzzahladdition ohne Vorzeichen seiner Quelle auszuführen.
__m128i _mm_haddq_epu32 (
__m128i src
);
Parameter
- [in] src
Ein 128-Bit-Parameter, der vier 32-Bit-Ganzzahlen ohne Vorzeichen enthält.
Rückgabewert
Ein 128-Bit-Ergebnis r, das zwei 64-Bit-Ganzzahlen ohne Vorzeichen enthält.
r[i] := src[2*i] + src[2*i+1];
Anforderungen
Intrinsisch |
Architektur |
|---|---|
_mm_haddq_epu32 |
XOP |
Headerdatei <intrin.h>
Hinweise
Jedes der zwei Paare aus 32-Bit-Ganzzahlwerten ohne Vorzeichen und geradem/ungeradem Index in src wird addiert, und die 64-Bit-Ganzzahlsumme ohne Vorzeichen wird im entsprechenden Wert im Ziel gespeichert. In dieser Anweisung ist kein Überlauf möglich.
Die vphadddq-Anweisung ist Teil der XOP-Anweisungsfamilie. Bevor Sie diese systeminterne Funktion verwenden, müssen Sie sicherstellen, dass der Prozessor diese Anweisung unterstützt. Um die Hardwareunterstützung für diese Anweisung zu bestimmen, rufen Sie die systeminterne Funktion __cpuid mit InfoType = 0x80000001 auf, und prüfen Sie Bit 11 von CPUInfo[2] (ECX). Dieses Bit ist 1, wenn die Anweisung unterstützt wird, und andernfalls 0.
Beispiel
#include <stdio.h>
#include <intrin.h>
int main()
{
__m128i a, d;
int i;
for (i = 0; i < 2; i++) {
a.m128i_i32[i] = i-128;
a.m128i_i32[i+2] = 127-i;
}
// Note that this intrinsic treats negative values as unsigned
// So, e.g., -1 becomes 4294967295.
d = _mm_haddq_epu32(a);
for (i = 0; i < 2; i++) printf_s(" %I64u", d.m128i_u64[i]);
printf_s("\n");
}
Siehe auch
Referenz
Weitere Ressourcen
In Visual Studio 2010 SP1 hinzugefügte systeminterne XOP-Funktionen
Änderungsprotokoll
Datum |
Versionsgeschichte |
Grund |
|---|---|---|
|
März 2011 |
Diesen Inhalt hinzugefügt. |
SP1-Funktionsänderung. |