On 04/03/19 13:44, Peter Zijlstra wrote: > On Mon, Mar 04, 2019 at 11:48:18AM +0100, Paolo Bonzini wrote: >> True that. On the other hand btsl/btrl is also one byte smaller if no >> operand is %r8-%r15. > > Because then we loose the REX prefix, right. Now _that_ might actually > be a reason to do that :-) I knew that would be the right way to put it for you. :) >> In any case, /me wonders if we should have a macro like >> >> #define DECLARE_LE_BITMAP(name,bits) \ >> u32 name[DIV_ROUND_UP(bits, 32)] __aligned(sizeof(unsigned long)) > > s/u32/__le32/ > > To go in bitops/le.h, sure, if there's enough users. Hmm... actually that should be "BITS_TO_LONGS(bits) * sizeof(unsigned long) / 4" because bitmap functions may access (or even clear) the last word as 64 bits. Paolo