ARM: findbit: document ARMv5 bit offset calculation
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Fri, 29 Jul 2022 15:12:25 +0000 (16:12 +0100)
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Mon, 14 Nov 2022 12:00:57 +0000 (12:00 +0000)
Document the ARMv5 bit offset calculation code.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
arch/arm/lib/findbit.S

index 7fd3600db8efdceee24c1942863b88c393acfe3b..4c584bc4704b80b42f277b0e72efb7a3573df699 100644 (file)
@@ -172,10 +172,10 @@ ENDPROC(_find_next_bit_be)
 .L_found:
 #if __LINUX_ARM_ARCH__ >= 5
                rsb     r0, r3, #0
-               and     r3, r3, r0
-               clz     r3, r3
-               rsb     r3, r3, #31
-               add     r0, r2, r3
+               and     r3, r3, r0              @ mask out lowest bit set
+               clz     r3, r3                  @ count high zero bits
+               rsb     r3, r3, #31             @ offset of first set bit
+               add     r0, r2, r3              @ add offset of first set bit
 #else
                tst     r3, #0x0f
                addeq   r2, r2, #4