| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
 Re: [PATCH] bitops/32: Convert variable_ffs() and fls() zero-case handling to C
 
To: "H. Peter Anvin" <hpa@xxxxxxxxx>From: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>Date: Mon, 28 Apr 2025 19:22:59 -0700Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, 	Arnd Bergmann <arnd@xxxxxxxx>, Arnd Bergmann <arnd@xxxxxxxxxx>, Thomas Gleixner <tglx@xxxxxxxxxxxxx>, 	Ingo Molnar <mingo@xxxxxxxxxx>, Borislav Petkov <bp@xxxxxxxxx>, 	Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>, x86@xxxxxxxxxx, 	Juergen Gross <jgross@xxxxxxxx>, Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>, 	Alexander Usyskin <alexander.usyskin@xxxxxxxxx>, 	Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>, Mateusz Jończyk <mat.jonczyk@xxxxx>, 	Mike Rapoport <rppt@xxxxxxxxxx>, Ard Biesheuvel <ardb@xxxxxxxxxx>, Peter Zijlstra <peterz@xxxxxxxxxxxxx>, 	linux-kernel@xxxxxxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxxxDelivery-date: Tue, 29 Apr 2025 02:28:42 +0000List-id: Xen developer discussion <xen-devel.lists.xenproject.org> 
 On Mon, 28 Apr 2025 at 19:00, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
>
> Now, question: can we just use __builtin_*() for these? I think gcc should 
> always generate inline code for these on x86.
Yeah, I think we can just use __builtin_ffs() directly and get rid of
all the games.
Not all gcc builtins are great: I did a bugzilla about gcc ctzl some time ago:
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106471
but for ffs() that does sound like it's the simplest thing to do.
               Linus
 |