26 lines
		
	
	
		
			514 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			514 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
/* SPDX-License-Identifier: GPL-2.0 */
 | 
						|
	.globl		getcc
 | 
						|
	.type		getcc,#function
 | 
						|
getcc:
 | 
						|
	ldx		[%o0 + PT_V9_TSTATE], %o1
 | 
						|
	srlx		%o1, 32, %o1
 | 
						|
	and		%o1, 0xf, %o1
 | 
						|
	retl
 | 
						|
	 stx		%o1, [%o0 + PT_V9_G1]
 | 
						|
	.size		getcc,.-getcc
 | 
						|
 | 
						|
	.globl		setcc
 | 
						|
	.type		setcc,#function
 | 
						|
setcc:
 | 
						|
	ldx		[%o0 + PT_V9_TSTATE], %o1
 | 
						|
	ldx		[%o0 + PT_V9_G1], %o2
 | 
						|
	or		%g0, %ulo(TSTATE_ICC), %o3
 | 
						|
	sllx		%o3, 32, %o3
 | 
						|
	andn		%o1, %o3, %o1
 | 
						|
	sllx		%o2, 32, %o2
 | 
						|
	and		%o2, %o3, %o2
 | 
						|
	or		%o1, %o2, %o1
 | 
						|
	retl
 | 
						|
	 stx		%o1, [%o0 + PT_V9_TSTATE]
 | 
						|
	.size		setcc,.-setcc
 |