On Thu, Jul 14, 2022 at 10:02:57AM -0700, Linus Torvalds wrote: > I like Peter's more obvious use of FASTYOP_LENGTH, but this is just disgusting: > > #define FASTOP_SIZE (8 << ((FASTOP_LENGTH > 8) & 1) << > ((FASTOP_LENGTH > 16) & 1)) > > I mean, I understand what it's doing, but just two lines above it the > code has a "ilog2()" use that already depends on the fact that you can > use ilog2() as a constant compile-time expression. > > And guess what? The code could just use roundup_pow_of_two(), which is > designed exactly like ilog2() to be used for compile-time constant > values. But NR_FASTOP isn't used in ASM. > So the code should just use > > #define FASTOP_SIZE roundup_pow_of_two(FASTOP_LENGTH) > > and be a lot more legible, wouldn't it? If only :/ FASTOP_SIZE is used in ASM, which means we've got to play by GNU-as rules, and them are aweful.