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?!
#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
--
Ruslan Ermilov Oracle Developer/DBA,
[EMAIL PROTECTED] Sunbay Software AG,
[EMAIL PROTECTED] FreeBSD committer,
+380.652.512.251 Simferopol, Ukraine
http://www.FreeBSD.org The Power To Serve
http://www.oracle.com Enabling The Information Age
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message