Existe-t-il une bibliothèque Intel AVX intrinsics? Je cherche quelque chose de similaire à l'en-tête 'sse2mmx.h' qui se rabat sur les intrinsèques MMX si les intrinsèques SSE2 ne sont pas disponibles au moment de la compilation. Ainsi si j'avais la bibliothèque semblable pour AVX je pourrais écrire le code optimisé pour le nouveau matériel qui aurait la vitesse presque optimale dans le cas où l'extension d'AVX n'est pas disponible. Googling n'a pas beaucoup aidé jusqu'à présent :(Intel AVX intrinsics: une bibliothèque de compatibilité est-elle désactivée?
Répondre
Intel fournit un AVX emulation header. Je ne l'ai pas essayé, mais en citant l'article lié "Le fichier d'en-tête d'émulation AVX utilise intrinsics pour les précédentes extensions de jeu d'instructions Intel jusqu'à Intel SSE4 .2 SSE4.2 soutien dans votre environnement de développement ainsi que le matériel est nécessaire pour utiliser le fichier d'en-tête d'émulation AVX.Pour utiliser simplement ce fichier inclus: #include "avxintrin_emu.h"
nstead de l'habitude #include <immintrin.h>
"- semble que c'est ce que vous êtes Intel a également un émulateur, appelé SDE, qui pourrait être utile.Je ne l'ai pas encore utilisé pour tester le code AVX, mais cela a fonctionné correctement sur ma machine pour tester le code en utilisant les jeux d'instructions AES-NI. sur un ancien processeur, et je sais qu'il prend en charge l'émulation AVX. SDE est particulièrement utile pour vérifier votre code de manipulation CPUID.