Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Mar 2011 22:28:19 +1100 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        Martin Matuska <mm@FreeBSD.org>
Cc:        freebsd-bugs@FreeBSD.org, FreeBSD-gnats-submit@FreeBSD.org
Subject:   Re: gnu/155309: [PATCH] gcc: backport bswap32() and bswap64()
Message-ID:  <20110306222256.Y1086@besplex.bde.org>
In-Reply-To: <20110306104825.8B860F1DEF@mail2.vx.sk>
References:  <20110306104825.8B860F1DEF@mail2.vx.sk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 6 Mar 2011, Martin Matuska wrote:

>> Description:
> 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.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110306222256.Y1086>