我正在寻找一点改进。由于我忘记了操作码中最近的开发,我寻找改进以下操作的方法:
Read 128 bit from stream
Consume x bits into another Variable
Consume x bits as long as bits are in the buffer
If buffer would underflow read some more 64bit.
这需要移位和'和'操作(屏蔽)和xor / add。
我感兴趣的是,如果存在一个操作,我可以将一个64位/ 32位寄存器中的多个位按个别比例推送到另一个寄存器(例如将寄存器向左推5位,最高5位被推到第二个寄存器成为它的最低5位。
value <<= 5;
value += buffer >>> (64 - 5);
buffer <<= 5
什么架构(英特尔,AMD,ARM派生)为此提供单一操作?