我正在寻找一点流改进。 由于我没有跟踪操作码中的最新发展,因此我寻找方法来改进以下操作:

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.

这需要移位和“与”运算(屏蔽)以及“异或” /“加”运算。

我感兴趣的是是否存在一种操作,可以将多个位从一个64bit / 32bit寄存器按单个比例推入另一个寄存器(例如将寄存器向左推5位,将最高5位推入第二个寄存器)成为其中的最低5位。

value <<= 5;
value += buffer >>> (64 - 5);
buffer <<= 5

哪种架构(英特尔,AMD,ARM派生)为此提供单一操作?

  ask by Martin Kersten translate from so

本文未有回复,本站智能推荐: