> On Fri, Oct 27, 2000 at 07:34:06AM -0700, Mike Smith wrote:
> > > On Fri, Oct 27, 2000 at 09:49:57PM +1100, Bruce Evans wrote:
> > > [...]
> > > > 
> > > > NetBSD supports the ntohl family on constants, but only on some arches
> > > > (at least in last year's version).  It takes fancier macros to support
> > > > constants.  This gives an excuse to change the inline functions back to
> > > > macros :-).
> > > > 
> > > Cool!  My upcoming byte-swapping changes to IPv4 code would benefit from
> > > having these macros.  Could you please review the attached patch (it was
> > > obtained from NetBSD)?
> > ...
> > > +#ifdef __OPTIMIZE__
> > 
> > Using macros does not "optimise" anything, and this is a very poor choice 
> > of defines.  __MACRO_ENDIAN_CONVERSIONS might be better.
> > 
> Huh, you would not call this optimization?!

No, since it is incapable of dealing with a non-constant argument.

> #include <sys/types.h>
> #include <stdio.h>
> 
> void
> foo(void)
> {
>       printf("%hx\n", htons(0x80));
> }
> 
> --- a.s.without       Fri Oct 27 18:11:26 2000
> +++ a.s.with  Fri Oct 27 18:11:59 2000
> @@ -13,12 +13,7 @@
>       movl %esp,%ebp
>       subl $8,%esp
>       addl $-8,%esp
> -     movl $128,%eax
> -#APP
> -     xchgb %ah, %al
> -#NO_APP
> -     andl $65535,%eax
> -     pushl %eax
> +     pushl $32768
>       pushl $.LC0
>       call printf
>       leave

-- 
... every activity meets with opposition, everyone who acts has his
rivals and unfortunately opponents also.  But not because people want
to be opponents, rather because the tasks and relationships force
people to take different points of view.  [Dr. Fritz Todt]
           V I C T O R Y   N O T   V E N G E A N C E




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to