作为上一个问题的后续行动:
假设您有一个 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 指令。