Chargement de 8 caractères de la mémoire dans une variable __m256 sous forme de flotteurs compacts à simple précision
Dans le but d'optimiser un algorithme pour le flou gaussien, vous chercher à remplacer l’utilisation d’un tampon flottant par une variable intrinsèque __m256. Cette question vise à déterminer les instructions optimales pour cette tâche.
Instruction pour l'architecture AVX2 :
; rsi = new_image VPMOVZXBD ymm0, [rsi] ; or SX to sign-extend (Byte to DWord) VCVTDQ2PS ymm0, ymm0 ; convert to packed foat
Stratégies supplémentaires :
Instructions pour l'architecture AVX1 :
Effectuez les étapes suivantes :
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
Considérations sur les intrinsèques :
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3