logical/arithmetic 移动更少的位是否更快?
Is logical/arithmetic shift fewer bits faster?
x>>2
比 x>>31
快吗?
换句话说,sar x, 2
比 sar x, 31
快吗?
我做了一些简单的测试,他们似乎有相同的速度。我将不胜感激任何确凿的证据。
这取决于硬件实现。对于涉及常量移位的常见操作(例如指针算术),可能有更快的路径(例如它可能与相关的加法操作融合)。对于变量移位,使用了 barrel shifter 电路,其中任何移位量都会有相同的延迟。
x>>2
比 x>>31
快吗?
换句话说,sar x, 2
比 sar x, 31
快吗?
我做了一些简单的测试,他们似乎有相同的速度。我将不胜感激任何确凿的证据。
这取决于硬件实现。对于涉及常量移位的常见操作(例如指针算术),可能有更快的路径(例如它可能与相关的加法操作融合)。对于变量移位,使用了 barrel shifter 电路,其中任何移位量都会有相同的延迟。