Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #include <linux/linkage.h>
0003 #include <asm/export.h>
0004 
0005     .text
0006     .align  32
0007 ENTRY(__arch_hweight8)
0008     sethi   %hi(__sw_hweight8), %g1
0009     jmpl    %g1 + %lo(__sw_hweight8), %g0
0010      nop
0011 ENDPROC(__arch_hweight8)
0012 EXPORT_SYMBOL(__arch_hweight8)
0013     .section    .popc_3insn_patch, "ax"
0014     .word       __arch_hweight8
0015     sllx        %o0, 64-8, %g1
0016     retl
0017      popc       %g1, %o0
0018     .previous
0019 
0020 ENTRY(__arch_hweight16)
0021     sethi   %hi(__sw_hweight16), %g1
0022     jmpl    %g1 + %lo(__sw_hweight16), %g0
0023      nop
0024 ENDPROC(__arch_hweight16)
0025 EXPORT_SYMBOL(__arch_hweight16)
0026     .section    .popc_3insn_patch, "ax"
0027     .word       __arch_hweight16
0028     sllx        %o0, 64-16, %g1
0029     retl
0030      popc       %g1, %o0
0031     .previous
0032 
0033 ENTRY(__arch_hweight32)
0034     sethi   %hi(__sw_hweight32), %g1
0035     jmpl    %g1 + %lo(__sw_hweight32), %g0
0036      nop
0037 ENDPROC(__arch_hweight32)
0038 EXPORT_SYMBOL(__arch_hweight32)
0039     .section    .popc_3insn_patch, "ax"
0040     .word       __arch_hweight32
0041     sllx        %o0, 64-32, %g1
0042     retl
0043      popc       %g1, %o0
0044     .previous
0045 
0046 ENTRY(__arch_hweight64)
0047     sethi   %hi(__sw_hweight64), %g1
0048     jmpl    %g1 + %lo(__sw_hweight64), %g0
0049      nop
0050 ENDPROC(__arch_hweight64)
0051 EXPORT_SYMBOL(__arch_hweight64)
0052     .section    .popc_3insn_patch, "ax"
0053     .word       __arch_hweight64
0054     retl
0055      popc       %o0, %o0
0056     nop
0057     .previous