ffs.S (e5451c8f8330e03ad3cfa16048b4daf961af434f) ffs.S (d3867f0483103b8ff7edfdea3ef1981c03d96891)
1#include <linux/linkage.h>
1#include <linux/linkage.h>
2#include <asm/export.h>
2
3 .register %g2,#scratch
4
5 .text
6 .align 32
7
8ENTRY(ffs)
9 brnz,pt %o0, 1f

--- 50 unchanged lines hidden (view full) ---

60
61 add %o2, %o5, %o2 /* 17 */
62 xor %g1, 0x1, %g1
63
64 retl /* 18 */
65 add %o2, %g1, %o0
66ENDPROC(ffs)
67ENDPROC(__ffs)
3
4 .register %g2,#scratch
5
6 .text
7 .align 32
8
9ENTRY(ffs)
10 brnz,pt %o0, 1f

--- 50 unchanged lines hidden (view full) ---

61
62 add %o2, %o5, %o2 /* 17 */
63 xor %g1, 0x1, %g1
64
65 retl /* 18 */
66 add %o2, %g1, %o0
67ENDPROC(ffs)
68ENDPROC(__ffs)
69EXPORT_SYMBOL(__ffs)
70EXPORT_SYMBOL(ffs)
68
69 .section .popc_6insn_patch, "ax"
70 .word ffs
71 brz,pn %o0, 98f
72 neg %o0, %g1
73 xnor %o0, %g1, %o1
74 popc %o1, %o0
7598: retl
76 nop
77 .word __ffs
78 neg %o0, %g1
79 xnor %o0, %g1, %o1
80 popc %o1, %o0
81 retl
82 sub %o0, 1, %o0
83 nop
84 .previous
71
72 .section .popc_6insn_patch, "ax"
73 .word ffs
74 brz,pn %o0, 98f
75 neg %o0, %g1
76 xnor %o0, %g1, %o1
77 popc %o1, %o0
7898: retl
79 nop
80 .word __ffs
81 neg %o0, %g1
82 xnor %o0, %g1, %o1
83 popc %o1, %o0
84 retl
85 sub %o0, 1, %o0
86 nop
87 .previous