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