Byte Order Swapping Function
David Nadlinger
see at klickverbot.at
Thu Jul 14 03:19:57 PDT 2011
On 7/14/11 12:12 PM, Piotr Szturmaj wrote:
> Yesterday, I had to write my own bswap for ulong because intrinsic
> version supports only uints. Is there any implementation obstacle
> preventing ulong and ushort bswap in core.bitop?
>
> Btw. How compiler intrinsics work? I see there's only bswap declaration
> (without body) in core.bitop. Where can I find compiler code which
> actually substitutes bswap() into real instructions?
The point of the bswap() intrinsic is to allow accessing the x86 bswap
instruction directly – if I am not mistaken, it should be equivalent to:
int bswap(int val) {
asm {
naked;
bswap EAX;
ret;
}
}
David
More information about the Digitalmars-d
mailing list