diff options
Diffstat (limited to 'lib/libc')
-rw-r--r-- | lib/libc/i386/net/htonl.S | 4 | ||||
-rw-r--r-- | lib/libc/i386/net/ntohl.S | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/libc/i386/net/htonl.S b/lib/libc/i386/net/htonl.S index da74ed6..8c79bf6 100644 --- a/lib/libc/i386/net/htonl.S +++ b/lib/libc/i386/net/htonl.S @@ -46,7 +46,11 @@ __FBSDID("$FreeBSD$"); .set CNAME(htonl),CNAME(__htonl) ENTRY(__htonl) movl 4(%esp),%eax +#ifdef I386_CPU xchgb %al,%ah roll $16,%eax xchgb %al,%ah +#else + bswap %eax +#endif ret diff --git a/lib/libc/i386/net/ntohl.S b/lib/libc/i386/net/ntohl.S index 15e2d6e..c7fc6c3 100644 --- a/lib/libc/i386/net/ntohl.S +++ b/lib/libc/i386/net/ntohl.S @@ -46,7 +46,11 @@ __FBSDID("$FreeBSD$"); .set CNAME(ntohl),CNAME(__ntohl) ENTRY(__ntohl) movl 4(%esp),%eax +#ifdef I386_CPU xchgb %al,%ah roll $16,%eax xchgb %al,%ah +#else + bswap %eax +#endif ret |