The patch titled Subject: include/linux/compiler-gcc.h: sparse can do constant folding of __builtin_bswap*() has been added to the -mm tree. Its filename is sparse-can-do-constant-folding-of-__builtin_bswap.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/sparse-can-do-constant-folding-of-__builtin_bswap.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/sparse-can-do-constant-folding-of-__builtin_bswap.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> Subject: include/linux/compiler-gcc.h: sparse can do constant folding of __builtin_bswap*() Sparse can do constant folding of __builtin_bswap*() since 2017. Also, a much recent version of Sparse is needed anyway, see commit 6ec4476ac825 ("Raise gcc version requirement to 4.9"). So, remove the comment about sparse not being yet able to constant fold __builtin_bswap*() and remove the corresponding test of __CHECKER__. Link: https://lkml.kernel.org/r/20210226092236.99369-1-luc.vanoostenryck@xxxxxxxxx Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Miguel Ojeda <ojeda@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/compiler-gcc.h | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) --- a/include/linux/compiler-gcc.h~sparse-can-do-constant-folding-of-__builtin_bswap +++ a/include/linux/compiler-gcc.h @@ -90,15 +90,11 @@ */ #define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) -/* - * sparse (__CHECKER__) pretends to be gcc, but can't do constant - * folding in __builtin_bswap*() (yet), so don't set these for it. - */ -#if defined(CONFIG_ARCH_USE_BUILTIN_BSWAP) && !defined(__CHECKER__) +#if defined(CONFIG_ARCH_USE_BUILTIN_BSWAP) #define __HAVE_BUILTIN_BSWAP32__ #define __HAVE_BUILTIN_BSWAP64__ #define __HAVE_BUILTIN_BSWAP16__ -#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP && !__CHECKER__ */ +#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ #if GCC_VERSION >= 70000 #define KASAN_ABI_VERSION 5 _ Patches currently in -mm which might be from luc.vanoostenryck@xxxxxxxxx are sparse-can-do-constant-folding-of-__builtin_bswap.patch