x86: make 'constant_test_bit()' take an unsigned bit number
Ingo noticed that using signed arithmetic seems to confuse the gcc inliner, and make it potentially decide that it's all too complicated. (Yeah, yeah, it's a constant. It's always positive. Still..) Based-on: Ingo Molnar <mingo@elte.hu> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
					parent
					
						
							
								e245b80c83
							
						
					
				
			
			
				commit
				
					
						c4295fbb60
					
				
			
		
					 1 changed files with 1 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -300,7 +300,7 @@ static inline int test_and_change_bit(int nr, volatile unsigned long *addr)
 | 
			
		|||
	return oldbit;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline int constant_test_bit(int nr, const volatile unsigned long *addr)
 | 
			
		||||
static inline int constant_test_bit(unsigned int nr, const volatile unsigned long *addr)
 | 
			
		||||
{
 | 
			
		||||
	return ((1UL << (nr % BITS_PER_LONG)) &
 | 
			
		||||
		(((unsigned long *)addr)[nr / BITS_PER_LONG])) != 0;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue