Re: [PATCH v1] lib/sort: Add 64 bit swap function

2015-05-15 Thread Rasmus Villemoes
On Wed, May 13 2015, Daniel Wagner wrote: > > - if (!swap_func) > - swap_func = (size == 4 ? u32_swap : generic_swap); > + if (!swap_func) { > +#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) > + switch (size) { > + case 4: > +

Re: [PATCH v1] lib/sort: Add 64 bit swap function

2015-05-13 Thread Andrew Morton
On Wed, 13 May 2015 13:28:33 +0200 Daniel Wagner wrote: > On 05/13/2015 01:00 PM, Daniel Wagner wrote: > > static int cmp_72(const void *a, const void *b) > > { > > u32 l = get_unaligned((u32 *) a); > > u32 r = get_unaligned((u32 *) b); > > > > if (l < r) > > return -1;

Re: [PATCH v1] lib/sort: Add 64 bit swap function

2015-05-13 Thread Daniel Wagner
On 05/13/2015 01:00 PM, Daniel Wagner wrote: > static int cmp_72(const void *a, const void *b) > { > u32 l = get_unaligned((u32 *) a); > u32 r = get_unaligned((u32 *) b); > > if (l < r) > return -1; > if (l > r) > return -1; > return 0; > }

[PATCH v1] lib/sort: Add 64 bit swap function

2015-05-13 Thread Daniel Wagner
In case the call side is not providing a swap function, we either use a 32 bit or a generic swap function. When swapping around pointers on 64 bit architectures falling back to use the generic swap function seems like an unnecessary waste. There at least 9 users ('sort' is of difficult to grep fo