2012-02-17 5 views

Répondre

6

Comme dit dans le Intel AVX documentation

_mm256_cmp_ps, _mm256_cmp_pd 

etc

Notez qu'au lieu d'avoir plusieurs instructions de comparaison, vous devez passer un ENUM indiquant la comparaison faite. E.g:

res = _mm256_cmp_ps(a,b, _CMP_LT_OQ); // AVX res = a < b 
+1

Merci, et qu'en est-il de comparer le type '__m256i'? Ces deux fonctions ne traitent que '__m256' et' __m256d'? – Cartesius00

+1

IIRC, il n'y en a pas, vous devez utiliser _mm256_extractf128_si256 pour extharner des nombres entiers dans float alors utilisez les autres –

+0

Il n'y a donc pas de moyen rapide de comparer deux int [] '(tableaux d'entiers de longueur 8) en utilisant' __mm256'? Je veux dire en utilisant le scénario classique 'load, cmp ...'. – Cartesius00