1 /* SPDX-License-Identifier: GPL-2.0 */
2 #include <linux/export.h>
3 #include <linux/linkage.h>
8 sethi %hi(__sw_hweight8), %g1
9 jmpl %g1 + %lo(__sw_hweight8), %g0
11 ENDPROC(__arch_hweight8)
12 EXPORT_SYMBOL(__arch_hweight8)
13 .section .popc_3insn_patch, "ax"
20 ENTRY(__arch_hweight16)
21 sethi %hi(__sw_hweight16), %g1
22 jmpl %g1 + %lo(__sw_hweight16), %g0
24 ENDPROC(__arch_hweight16)
25 EXPORT_SYMBOL(__arch_hweight16)
26 .section .popc_3insn_patch, "ax"
27 .word __arch_hweight16
33 ENTRY(__arch_hweight32)
34 sethi %hi(__sw_hweight32), %g1
35 jmpl %g1 + %lo(__sw_hweight32), %g0
37 ENDPROC(__arch_hweight32)
38 EXPORT_SYMBOL(__arch_hweight32)
39 .section .popc_3insn_patch, "ax"
40 .word __arch_hweight32
46 ENTRY(__arch_hweight64)
47 sethi %hi(__sw_hweight64), %g1
48 jmpl %g1 + %lo(__sw_hweight64), %g0
50 ENDPROC(__arch_hweight64)
51 EXPORT_SYMBOL(__arch_hweight64)
52 .section .popc_3insn_patch, "ax"
53 .word __arch_hweight64