/[hurd]/hurd-l4/libl4/ia32/l4/bits/math.h
ViewVC logotype

Diff of /hurd-l4/libl4/ia32/l4/bits/math.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by marcus, Sat Jul 26 17:26:09 2003 UTC revision 1.2 by marcus, Wed Sep 17 14:22:23 2003 UTC
# Line 11  Line 11 
11  _L4_EXTERN_INLINE l4_word_t  _L4_EXTERN_INLINE l4_word_t
12  __l4_msb_ (l4_word_t data) __attribute__((__const__));  __l4_msb_ (l4_word_t data) __attribute__((__const__));
13    
14    /* Calculate the MSB set in DATA.  DATA is not 0.  */
15  _L4_EXTERN_INLINE l4_word_t  _L4_EXTERN_INLINE l4_word_t
16  __l4_msb_ (l4_word_t data)  __l4_msb (l4_word_t data)
17  {  {
18    l4_word_t msb;    l4_word_t msb;
19    
# Line 20  __l4_msb_ (l4_word_t data) Line 21  __l4_msb_ (l4_word_t data)
21             : [msb] "=r" (msb)             : [msb] "=r" (msb)
22             : [data] "rm" (data));             : [data] "rm" (data));
23    
24    return msb;    return msb + 1;
25    }
26    
27    
28    /* Calculate the LSB set in DATA.  DATA is not 0.  */
29    _L4_EXTERN_INLINE l4_word_t
30    __l4_lsb (l4_word_t data)
31    {
32      l4_word_t lsb;
33    
34      __asm__ ("bsf %[data], %[lsb]"
35               : [lsb] "=r" (lsb)
36               : [data] "rm" (data));
37    
38      return lsb + 1;
39  }  }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26