2012-12-05 4 views
1

Lorsque compilé pour le processeur prenant en charge l'extension AVX (disons -m64 -march=corei7-avx -mtune=corei7-avx est applicable), est-il logique d'utiliser les touches -mfpmath=both -mavx en même temps? N'est-ce pas tellement que cela fait que le compilateur utilise trois ensembles d'instructions (i87, SSE, AVX) en même temps? Ou juste i87 pour les scalaires (dans un certain sens) et AVX pour les vecteurs seulement?options gcc pour utiliser i87, AVX simultanément mais pas SSE

Répondre

4

Les registres AVX sont uniquement des extensions des registres SSE. Vous ne pouvez pas mélanger les instructions SSE et AVX pour augmenter le nombre de registres disponibles (vous pouvez toujours mélanger les instructions x87 et AVX, je suppose que c'est ce que fait -mfpmath=both dans ce cas). Voir par exemple la discussion "Mixage AVX et SSE" sur this page.