gnu/155309: [PATCH] gcc: backport bswap32() and bswap64()
brde at optusnet.com.au
Sun Mar 6 11:30:15 UTC 2011
The following reply was made to PR gnu/155309; it has been noted by GNATS.
From: Bruce Evans <brde at optusnet.com.au>
To: Martin Matuska <mm at FreeBSD.org>
Cc: FreeBSD-gnats-submit at FreeBSD.org, freebsd-bugs at FreeBSD.org
Subject: Re: gnu/155309: [PATCH] gcc: backport bswap32() and bswap64()
Date: Sun, 6 Mar 2011 22:28:19 +1100 (EST)
On Sun, 6 Mar 2011, Martin Matuska wrote:
> In many ports, we have to deal with patching the missing bswap32()
> and bswap64() functions.
Er, we have these in endian.h.
> The gcc-4.3 branch SVN revision is 118361, is GPLv2-licensed,
> applies cleanly and is fully compatible with our code.
However, gcc doesn't know how to turn a C expression for bswap*() into
the bswap instruction. clang does. Does this patch fix that? Using
the C expression in all cases allows cleaning endian.h files, except
possibly on other arches that still need asm.
More information about the freebsd-bugs