Integer Multiply Optimization
On many architectures, integer multiply instructions are slower than other instructions such as integer add and shift, and multiply expressions with power-of-two constant multiplicands and other bit patterns can be replaced with faster instructions.
Example:
The integer multiply expression in the code fragment below can be replaced with an shift expression.
int f (int i) { return i * 4; }
Below is the code fragment after the multiply expression has been translated to a shift expression.
int f (int i) { return i << 2; }