Re: [PATCH] ubi: kill homegrown endian macros

From: Al Viro
Date: Thu May 17 2007 - 17:26:58 EST


On Thu, May 17, 2007 at 09:42:34PM +0100, Al Viro wrote:
> Ahem... So what does
> x |= y;
> turns into with that approach?

Another case is

#define FLAG1 cpu_to_be32(2)
#define FLAG2 cpu_to_be32(0x400)

if (packet_header->field & (FLAG1 | FLAG2))
....

which is a bloody common idiom in net/* and it happens on some pretty hot
paths. Approaches that would require converting it to something like
if (be32_to_cpu(packet_header->field) & (FLAG1 | FLAG2))
would be not just obnoxious, they would actually generate worse code.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/