25 lines
		
	
	
	
		
			475 B
			
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
		
		
			
		
	
	
			25 lines
		
	
	
	
		
			475 B
			
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| 
								 | 
							
									.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
							 |