Suchergebnisse für Anfrage "avx"
AVX2, Wie kann man effizient vier Ganzzahlen in gerade Indizes eines 256-Bit-Registers laden und in ungerade Indizes kopieren?
Ich habe ein ausgerichtetes Array von Ganzzahlen im Speicher, das die Indizes I0, I1, I2, I3 enthält. Mein Ziel ist es, sie in ein __m256i-Register zu bringen, das I0, I0 + 1, I1, I1 + 1, I2, I2 + 1, I3, I3 + 1 enthält. Der schwierige Teil ...
Schnellste Methode zum Entpacken von 32 Bit in einen 32-Byte-SIMD-Vektor
32 Bits in eineruint32_t Was ist im Speicher der schnellste Weg, um jedes Bit in ein separates Byte-Element eines AVX-Registers zu entpacken? Die Bits können sich innerhalb ihres jeweiligen Bytes an einer beliebigen Position befinden. Edit: Zur ...
Wie werden Daten aus den AVX-Registern abgerufen?
Mit MSVC 2013 und AVX 1 habe ich 8 Floats in einem Register: __m256 foo = mm256_fmadd_ps(a,b,c);etzt möchte ich @ anrufinline void print(float) {...} für alle 8 Schwimmer. Es sieht aus wie das Intel AVX Intrisics würden dies ziemlich ...
horizontale Summe von 8 gepackten 32-Bit-Floats
Wenn ich 8 gepackte 32-Bit-Gleitkommazahlen habe (
Verwendung der FMA-Anweisungen (Fused Multiply-Add) mit SSE / AVX
Ich habe gelernt, dass einige Intel / AMD-CPUs mit SSE / AVX simultan multiplizieren und addieren können:FLOPS pro Zyklus für Sandbrücke und Haswell SSE2 / A...
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 | ...
Wie führe ich eine elementweise Linksverschiebung mit __m128i durch?
Die SSE-Verschiebungsanweisungen, die ich gefunden habe, können bei allen Elementen nur um den gleichen Betrag verschoben werden: