Lines Matching +full:generic +full:- +full:2
1 /* SPDX-License-Identifier: GPL-2.0 */
105 #include <asm-generic/bitops/non-atomic.h>
110 * __ffs - find first bit in word. returns 0 to "BITS_PER_LONG-1".
115 * 32-bit fast __ffs by LaMont Jones "lamont At hp com".
116 * 64-bit enhancement by Grant Grundler "grundler At parisc-linux org".
123 * Only the 1st and one of either the 2cd or 3rd insn will get executed.
124 * Each set of 3 insn will get executed in 2 cycles on PA8x00 vs 16 or so
136 " extrd,u,*TR %0,31,32,%0\n" /* move top 32-bits down */ in __ffs()
137 " addi -32,%1,%1\n" in __ffs()
142 " extru,TR %0,15,16,%0\n" /* xxxx0000 -> 0000xxxx */ in __ffs()
143 " addi -16,%1,%1\n" in __ffs()
145 " extru,TR %0,23,8,%0\n" /* 0000xx00 -> 000000xx */ in __ffs()
146 " addi -8,%1,%1\n" in __ffs()
148 " extru,TR %0,27,4,%0\n" /* 000000x0 -> 0000000x */ in __ffs()
149 " addi -4,%1,%1\n" in __ffs()
150 " extru,<> %0,31,2,%%r0\n" in __ffs()
151 " extru,TR %0,29,2,%0\n" /* 0000000y, 1100b -> 0011b */ in __ffs()
152 " addi -2,%1,%1\n" in __ffs()
154 " addi -1,%1,%1\n" in __ffs()
159 #include <asm-generic/bitops/ffz.h>
193 " extru,<> %0,1,2,%%r0\n" in fls()
195 " addi 2,%1,%1\n" in fls()
203 #include <asm-generic/bitops/__fls.h>
204 #include <asm-generic/bitops/fls64.h>
205 #include <asm-generic/bitops/hweight.h>
206 #include <asm-generic/bitops/lock.h>
207 #include <asm-generic/bitops/sched.h>
211 #include <asm-generic/bitops/find.h>
215 #include <asm-generic/bitops/le.h>
216 #include <asm-generic/bitops/ext2-atomic-setbit.h>