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. Ziel dieser Frage ist es, die optimalen Anweisungen für diese Aufgabe zu ermitteln.
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
Intrinsics-Überlegungen:
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3