PageRenderTime 45ms CodeModel.GetById 27ms app.highlight 2ms RepoModel.GetById 0ms app.codeStats 0ms

/arch/sparc/kernel/getsetcc.S

https://bitbucket.org/ndreys/linux-sunxi
Assembly | 24 lines | 23 code | 1 blank | 0 comment | 0 complexity | 4163b8013a5e0fafdb774178716e9a01 MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.0, AGPL-1.0
 1	.globl		getcc
 2	.type		getcc,#function
 3getcc:
 4	ldx		[%o0 + PT_V9_TSTATE], %o1
 5	srlx		%o1, 32, %o1
 6	and		%o1, 0xf, %o1
 7	retl
 8	 stx		%o1, [%o0 + PT_V9_G1]
 9	.size		getcc,.-getcc
10
11	.globl		setcc
12	.type		setcc,#function
13setcc:
14	ldx		[%o0 + PT_V9_TSTATE], %o1
15	ldx		[%o0 + PT_V9_G1], %o2
16	or		%g0, %ulo(TSTATE_ICC), %o3
17	sllx		%o3, 32, %o3
18	andn		%o1, %o3, %o1
19	sllx		%o2, 32, %o2
20	and		%o2, %o3, %o2
21	or		%o1, %o2, %o1
22	retl
23	 stx		%o1, [%o0 + PT_V9_TSTATE]
24	.size		setcc,.-setcc