Suchergebnisse für Anfrage "sse"
Was sind die besten Befehlssequenzen, um Vektorkonstanten im laufenden Betrieb zu generieren?
"Best" bedeutet die wenigsten Anweisungen (oder die wenigsten Uops, wenn Anweisungen zu mehr als einem Uop decodieren). Die Größe des Maschinencodes in Bytes ist ein Leistungsmerkmal für die gleiche Anzahl von Eingaben. Konstante Generierung ...
Wie implementiere ich atoi mit SIMD?
Ich möchte versuchen, eine atoi-Implementierung mithilfe von SIMD-Anweisungen zu schreiben, die in @ enthalten sein sol RapidJSON [http://rapidjson.org/] (eine C ++ - JSON-Lese- / Schreibbibliothek). Derzeit wurden an anderen Stellen einige ...
Schnell byteweise ersetzen, wenn
Ich habe eine Funktion, die Binärdaten von einem Bereich in einen anderen kopiert, jedoch nur, wenn die Bytes von einem bestimmten Wert abweichen. Hier ist ein Codebeispiel: void copy_if(char* src, char* dest, size_t size, char ignore) { for ...
inlining beim Aufruf von always_inline '__m128i _mm_cvtepu8_epi32 (__m128i)' fehlgeschlagen: Nichtübereinstimmung der zielspezifischen Option _mm_cvtepu8_epi32 (__m128i __X) [duplizieren]
Diese Frage hat hier bereits eine Antwort: inlining beim Aufruf von always_inline "_mm_mullo_epi32" fehlgeschlagen: Zielspezifische Option stimmt nicht ...
Die Indizes von Nicht-Null-Bytes eines SSE / AVX-Registers
Wenn der Wert eines SSE / AVX-Registers so ist, dass alle seine Bytes entweder 0 oder 1 sind, gibt es eine Möglichkeit, die Indizes aller Nicht-Null-Elemente effizient abzurufen? Zum Beispiel, wenn der xmm-Wert | ist r0 = 0 | r1 = 1 | r2 = 0 | ...
SSE-Befehl MOVSD (erweitert: Gleitkomma-Skalar- und Vektoroperationen auf x86, x86-64)
Ich bin irgendwie durch die MOVSD-Montageanleitung verwirrt. Ich habe einen numerischen Code geschrieben, der eine Matrixmultiplikation berechnet, einfach unter Verwendung von gewöhnlichem C-Code ohne SSE-Eigenheiten. Ich füge nicht einmal die ...
Die effizienteste Methode, um __m256 horizontale Summen von 8 __m256 Quellvektoren zu erhalten
Ich weiß, wie man eins summiert__m256, um einen einzelnen summierten Wert zu erhalten. Ich habe jedoch 8 Vektoren wie Input 1: a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], ....., ....., 8: h[0], h[1], h[2], h[3], h[4], a[5], a[6], ...
Wo ist Clangs '_mm256_pow_ps' immanent?
Ich kann anscheinend weder für _mm_pow_ps noch für _mm256_pow_ps die Eigenheiten finden, die beide in 'immintrin.h' enthalten sein sollen. Definiert Clang diese nicht oder befinden sie sich in einem Header, den ich nicht einbeziehe?
NEON, SSE und Interleaving Loads vs Shuffles
Ich versuche den Kommentar von "Iwillnotexist Idonotexist" bei @ zu versteh SIMD-Optimierung von cvtColor mit ARM NEON intrinsics [https://stackoverflow.com/q/24977272]: ... warum verwenden Sie nicht die ARM NEON-Intrisics, die der ...
Was ist die Bedeutung von "nicht temporären" Speicherzugriffen in x86
Dies ist eine etwas niedrigere Frage. In der x86-Assembly gibt es zwei SSE-Anweisungen: MOVDQA xmmi, m128 un MOVNTDQA xmmi, m128 Das IA-32 Software-Entwicklerhandbuch besagt, dass das NT in MOVNTDQA steht für Nicht zeitlich, und ansonsten ist ...