どのようにして__m256値のすべてのビットに1の値を設定できますか? AVXまたはAVX2組み込み関数を使用していますか?すべての1ビットに__m256値を設定する最速の方法
すべてゼロを取得するには、_mm256_setzero_si256()
を使用することができます。
すべてのものを得るために、私は現在_mm256_set1_epi64x(-1)
を使用していますが、私はこれがすべてゼロの場合よりも遅くなると思われます。ここにメモリアクセスまたはSalar/SSE/AVXの切り替えが含まれていますか?
そして、AVXで単純なビット単位のNOT演算を見つけることができないようですか? これが利用可能だった場合は、単純にsetzeroを使用し、その後にはNOTを使用できます。
、 'pcmpeqdのXMM0、そのためxmm0'使用する人は、おそらくAVX {2}の等価操作はありますか? AVX2の@njuffa 'vpcmpeqd '。 – njuffa
Clangは、 '_mm256_set1_epi64x(-1);'を '_mm256_cmpeq_epi64(_mm256_setzero_si256()、_mm256_setzero_si256());と同じように最適化しているようですが、' –
も参照してください:http://stackoverflow.com/q/35085059/555045 – harold