内部函数_mm_slli_si128将在128位寄存器的左侧进行逻辑移位,但仅限于立即移位值,并且按字节而不是位移位.
我可以使用内部函数_mm_sll_epi64或_mm_sll_epi32在__m128i寄存器中向左移动一组值,但这些值不带"溢出"位.
对于N位移位想象我可以做类似的事情:
_mm_sll_epi64_mm_srr_epi64 (对于我想要携带的位:将它们移动到低位)(但可能还必须包括N相对于64的检查).
有没有更好的办法?
如何创建__m128i具有n最高有效位集的(在整个向量中)?我需要它来屏蔽与计算相关的缓冲区部分。如果可能,解决方案应该没有分支,但这似乎很难实现
我怎样才能做到这一点 ?