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;
|
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)) &
|
return ((1UL << (nr % BITS_PER_LONG)) &
|
||||||
(((unsigned long *)addr)[nr / BITS_PER_LONG])) != 0;
|
(((unsigned long *)addr)[nr / BITS_PER_LONG])) != 0;
|
||||||
|
|
Loading…
Add table
Reference in a new issue