Linux Audio

Check our new training course

Loading...
v6.2
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#include <linux/linkage.h>
 3#include <asm/export.h>
 4
 5	.text
 6	.align	32
 7ENTRY(__arch_hweight8)
 8	sethi	%hi(__sw_hweight8), %g1
 9	jmpl	%g1 + %lo(__sw_hweight8), %g0
10	 nop
 
11ENDPROC(__arch_hweight8)
12EXPORT_SYMBOL(__arch_hweight8)
13	.section	.popc_3insn_patch, "ax"
14	.word		__arch_hweight8
15	sllx		%o0, 64-8, %g1
16	retl
17	 popc		%g1, %o0
18	.previous
19
20ENTRY(__arch_hweight16)
21	sethi	%hi(__sw_hweight16), %g1
22	jmpl	%g1 + %lo(__sw_hweight16), %g0
23	 nop
 
24ENDPROC(__arch_hweight16)
25EXPORT_SYMBOL(__arch_hweight16)
26	.section	.popc_3insn_patch, "ax"
27	.word		__arch_hweight16
28	sllx		%o0, 64-16, %g1
29	retl
30	 popc		%g1, %o0
31	.previous
32
33ENTRY(__arch_hweight32)
34	sethi	%hi(__sw_hweight32), %g1
35	jmpl	%g1 + %lo(__sw_hweight32), %g0
36	 nop
 
37ENDPROC(__arch_hweight32)
38EXPORT_SYMBOL(__arch_hweight32)
39	.section	.popc_3insn_patch, "ax"
40	.word		__arch_hweight32
41	sllx		%o0, 64-32, %g1
42	retl
43	 popc		%g1, %o0
44	.previous
45
46ENTRY(__arch_hweight64)
47	sethi	%hi(__sw_hweight64), %g1
48	jmpl	%g1 + %lo(__sw_hweight64), %g0
49	 nop
 
50ENDPROC(__arch_hweight64)
51EXPORT_SYMBOL(__arch_hweight64)
52	.section	.popc_3insn_patch, "ax"
53	.word		__arch_hweight64
54	retl
55	 popc		%o0, %o0
56	nop
57	.previous
v4.6
 
 1#include <linux/linkage.h>
 
 2
 3	.text
 4	.align	32
 5ENTRY(__arch_hweight8)
 6	ba,pt	%xcc, __sw_hweight8
 
 7	 nop
 8	nop
 9ENDPROC(__arch_hweight8)
 
10	.section	.popc_3insn_patch, "ax"
11	.word		__arch_hweight8
12	sllx		%o0, 64-8, %g1
13	retl
14	 popc		%g1, %o0
15	.previous
16
17ENTRY(__arch_hweight16)
18	ba,pt	%xcc, __sw_hweight16
 
19	 nop
20	nop
21ENDPROC(__arch_hweight16)
 
22	.section	.popc_3insn_patch, "ax"
23	.word		__arch_hweight16
24	sllx		%o0, 64-16, %g1
25	retl
26	 popc		%g1, %o0
27	.previous
28
29ENTRY(__arch_hweight32)
30	ba,pt	%xcc, __sw_hweight32
 
31	 nop
32	nop
33ENDPROC(__arch_hweight32)
 
34	.section	.popc_3insn_patch, "ax"
35	.word		__arch_hweight32
36	sllx		%o0, 64-32, %g1
37	retl
38	 popc		%g1, %o0
39	.previous
40
41ENTRY(__arch_hweight64)
42	ba,pt	%xcc, __sw_hweight64
 
43	 nop
44	nop
45ENDPROC(__arch_hweight64)
 
46	.section	.popc_3insn_patch, "ax"
47	.word		__arch_hweight64
48	retl
49	 popc		%o0, %o0
50	nop
51	.previous