<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
There are all kinds of equivalent code sequences.<BR> For the maintainer of m3back to chose among.<BR>
<BR>Given for example:<BR>
 <BR>
<BR>int F(int a) { return a << 2; }<BR>
 <BR>
<BR>Visual C++ optimizing for size uses:<BR> shl     eax, 2 ; 3 bytes<BR>
<BR>optimizing for speed gives:<BR> add eax, eax ; 2 bytes<BR> add eax, eax ; 2 bytes<BR>
<BR> <BR>
given a << 3, the choices are, obviously:<BR>  shl eax, 3 ; 3 bytes<BR>or<BR>  add eax, eax<BR>  add eax, eax<BR>  add eax, eax<BR> 6 bytes, double the size<BR>
<BR> <BR>
thoughts?<BR>
<BR> <BR>
I think go for size over speed.<BR> Smaller files, less I/O, both in the<BR> build and less code to pagein at runtime.<BR>
 <BR>
<BR>At some point higher instruction counts saturate the ability<BR>of the processors to "run ahead"?<BR>
 <BR>
<BR>However it might be nice to give the user a choice?<BR>
 But then you invite increased testing cost.<BR>
  Though maybe not too prohibitive.<BR>
 <BR>
<BR>(for shift by one, size/speed both give add eax, eax; I'll do that)<BR>
 <BR>
<BR> - Jay<BR><BR>                                         </body>
</html>