前の質問へのフォローアップとして:
あなたが uint64_t を持っていて、あなたの各バイトの非上位ビットだけを気にしているとしましょうuint64_t
。そのようです:
0111.1111 0111.1111 0111.1111 0111.1111 0111.1111 0111.1111 0111.1111 0111.1111
--->
0000.0000 1111.1111 1111.1111 1111.1111 1111.1111 1111.1111 1111.1111 1111.1111
各セクションをマスクして右にシフトし、次のセクションに追加するよりも、各 7 ビット セクションを右にシフトする高速な方法はありますか?
残念ながら、高速で一般的なビット収集を可能にする最新の AVX 命令はありません。SSE2 命令にしかアクセスできません。