On Wed, Dec 20, 2000 at 08:19:01PM +0000, Nick Lamb <[EMAIL PROTECTED]> wrote:
> #define FAST_DIVIDE_BY_255(v) ((((v) << 8) + (v) + 255) >> 16)
>
> Eerily similar to your hack and to the one from Marc. For me (PII 300,
Yes, but the constant is wrong ;) With the right constant it is exact.
> AMD Duron 700) and for the other hackers on that Moz bug who checked
> it _was_ faster than the GCC emitted alternate, but Marc's numbers
> suggest otherwise.
It would be interesting to find out what gcc is emitting for you. The
mov/mul/mov should not really be slower than the shift/lea/shift, but it
should not be faster, either. So the above macor with the correct constant
would be ideal, IMHO.
--
-----==- |
----==-- _ |
---==---(_)__ __ ____ __ Marc Lehmann +--
--==---/ / _ \/ // /\ \/ / [EMAIL PROTECTED] |e|
-=====/_/_//_/\_,_/ /_/\_\ XX11-RIPE --+
The choice of a GNU generation |
|