Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
8d134db0
Commit
8d134db0
authored
Apr 21, 2005
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git
parents
40b7bc06
821376bf
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
24 additions
and
7 deletions
+24
-7
include/asm-ia64/bitops.h
include/asm-ia64/bitops.h
+17
-4
include/asm-ia64/gcc_intrin.h
include/asm-ia64/gcc_intrin.h
+7
-3
No files found.
include/asm-ia64/bitops.h
View file @
8d134db0
...
@@ -314,8 +314,8 @@ __ffs (unsigned long x)
...
@@ -314,8 +314,8 @@ __ffs (unsigned long x)
#ifdef __KERNEL__
#ifdef __KERNEL__
/*
/*
*
find_last_zero_bit - find the last zero bit in a 64 bit quantity
*
Return bit number of last (most-significant) bit set. Undefined
*
@x: The value to search
*
for x==0. Bits are numbered from 0..63 (e.g., ia64_fls(9) == 3).
*/
*/
static
inline
unsigned
long
static
inline
unsigned
long
ia64_fls
(
unsigned
long
x
)
ia64_fls
(
unsigned
long
x
)
...
@@ -327,10 +327,23 @@ ia64_fls (unsigned long x)
...
@@ -327,10 +327,23 @@ ia64_fls (unsigned long x)
return
exp
-
0xffff
;
return
exp
-
0xffff
;
}
}
/*
* Find the last (most significant) bit set. Returns 0 for x==0 and
* bits are numbered from 1..32 (e.g., fls(9) == 4).
*/
static
inline
int
static
inline
int
fls
(
int
x
)
fls
(
int
t
)
{
{
return
ia64_fls
((
unsigned
int
)
x
);
unsigned
long
x
=
t
&
0xffffffffu
;
if
(
!
x
)
return
0
;
x
|=
x
>>
1
;
x
|=
x
>>
2
;
x
|=
x
>>
4
;
x
|=
x
>>
8
;
x
|=
x
>>
16
;
return
ia64_popcnt
(
x
);
}
}
/*
/*
...
...
include/asm-ia64/gcc_intrin.h
View file @
8d134db0
...
@@ -133,13 +133,17 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
...
@@ -133,13 +133,17 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
ia64_intri_res; \
ia64_intri_res; \
})
})
#define ia64_popcnt(x) \
#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
({ \
# define ia64_popcnt(x) __builtin_popcountl(x)
#else
# define ia64_popcnt(x) \
({ \
__u64 ia64_intri_res; \
__u64 ia64_intri_res; \
asm ("popcnt %0=%1" : "=r" (ia64_intri_res) : "r" (x)); \
asm ("popcnt %0=%1" : "=r" (ia64_intri_res) : "r" (x)); \
\
\
ia64_intri_res; \
ia64_intri_res; \
})
})
#endif
#define ia64_getf_exp(x) \
#define ia64_getf_exp(x) \
({ \
({ \
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment