| 
					
				 | 
			
			
				@@ -37,7 +37,7 @@ UV_UNUSED(static int cmpxchgi(int* ptr, int oldval, int newval)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         : "r" (newval), "0" (oldval) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         : "memory"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return out; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#elif defined(_AIX) && defined(__xlC__) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#elif defined(_AIX) && (defined(__xlC__) || defined(__ibmxl__)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const int out = (*(volatile int*) ptr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   __compare_and_swap(ptr, &oldval, newval); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return out; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -63,7 +63,7 @@ UV_UNUSED(static long cmpxchgl(long* ptr, long oldval, long newval)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         : "r" (newval), "0" (oldval) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         : "memory"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return out; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#elif defined(_AIX) && defined(__xlC__) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#elif defined(_AIX) && (defined(__xlC__) || defined(__ibmxl__)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const long out = (*(volatile int*) ptr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # if defined(__64BIT__) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   __compare_and_swaplp(ptr, &oldval, newval); 
			 |