Wieso macht der Compiler das? Alignment? Ich hab’s mal getestet, und es ist (auf meinem Core 2) sowohl langsamer als die echte Multiplikation als auch das Shifting:
Code:
Add, Add, Add: 1435
Shl: 421
IMul: 1264
(das ganze sind Millisekunden für jeweils 1 000 000 000 Durchläufe)