|
Integer Mod Optimization
On most architectures, integer divide is a relatively expensive instruction. Power-of-two integer modulus expressions can be replaced with conditional and shift instructions to avoid the divide and multiply and increase run-time performance. Example:In the function below, the power-of-two integer modulus expression (x % 8) can be replaced with faster instructions. int f (int x) { return x % 8; } The code fragment below shows the function after the modulus expression has been optimized. int f (int x) { int temp = x & 7; return (x < 0) ? ((temp == 0) ? 0 : (temp | ~7)) : temp; } © 1990-2012 Nullstone Corporation. All Rights Reserved. |