Laden von 8 Zeichen aus dem Speicher in eine __m256-Variable als gepackte Gleitkommazahlen mit einfacher Präzision
In dem Bemühen, einen Algorithmus für die Gaußsche Unschärfe zu optimieren, haben Sie Versuchen Sie, die Verwendung eines Float-Puffers durch eine intrinsische Variable __m256 zu ersetzen. Mit dieser Frage sollen die optimalen Anweisungen für diese Aufgabe ermittelt werden.
Anleitung für die AVX2-Architektur:
; rsi = new_image VPMOVZXBD ymm0, [rsi] ; or SX to sign-extend (Byte to DWord) VCVTDQ2PS ymm0, ymm0 ; convert to packed foat
Zusätzliche Strategien:
Anweisungen für die AVX1-Architektur:
Führen Sie die folgenden Schritte aus:
VPMOVZXBD xmm0, [rsi] VPMOVZXBD xmm1, [rsi+4] VINSERTF128 ymm0, ymm0, xmm1, 1 ; put the 2nd load of data into the high128 of ymm0 VCVTDQ2PS ymm0, ymm0 ; convert to packed float
Intrinsische Überlegungen:
Das obige ist der detaillierte Inhalt vonWie lade ich 8 Zeichen als gepackte Gleitkommazahlen mit einfacher Genauigkeit in eine __m256-Variable?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!