logical/arithmetic 移动更少的位是否更快?

Is logical/arithmetic shift fewer bits faster?

x>>2x>>31 快吗? 换句话说,sar x, 2sar x, 31 快吗? 我做了一些简单的测试,他们似乎有相同的速度。我将不胜感激任何确凿的证据。

这取决于硬件实现。对于涉及常量移位的常见操作(例如指针算术),可能有更快的路径(例如它可能与相关的加法操作融合)。对于变量移位,使用了 barrel shifter 电路,其中任何移位量都会有相同的延迟。