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 opérations suivantes étapes :
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 :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!