Re: [PATCH] UBIFS: endian handling fixes and annotations

From: Jamie Lokier
Date: Sun Nov 23 2008 - 05:05:51 EST


Sebastian Andrzej Siewior wrote:
> >- return le32_to_cpu(key->u32[1]) >> UBIFS_S_KEY_BLOCK_BITS;
> >+ return le32_to_cpu(key->j32[1]) >> UBIFS_S_KEY_BLOCK_BITS;
>
> If you would change such references to something like
> |return le32_to_cpup(&key->j32[1]) >> UBIFS_S_KEY_BLOCK_BITS;
> then on powerpc
>
> text data bss dec hex filename
> 155384 1284 24 156692 26414 ubifs-b4.ko
> 155372 1284 24 156680 26408 ubifs-after.ko
>
> because now it is possible to load the value as LE from memory instead
> of loading it BE and swapping it afterwads.

If le32_to_cpu used __builtin_bswap32 (a GCC builtin), wouldn't
GCC do this trivial optimisation itself?

-- Jamie
--
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/