diff --git a/lib/libc/i386/net/htonl.S b/lib/libc/i386/net/htonl.S index da74ed67a902..8c79bf63ba09 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 15e2d6e35232..c7fc6c3fef21 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