ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libecb/ecb.pod
Revision: 1.2
Committed: Thu May 26 19:49:21 2011 UTC (13 years, 1 month ago) by root
Branch: MAIN
Changes since 1.1: +22 -10 lines
Log Message:
*** empty log message ***

File Contents

# Content
1
2 =head2 GCC ATTRIBUTES
3
4 =over 4
5
6 =item ecb_attribute ((attrs...))
7
8 A simple wrapper that expands to C<__attribute__((attrs))> on GCC, and
9 to nothing on other compilers, so the effect is that only GCC sees these.
10
11 =item ecb_noinline
12
13 =item ecb_noreturn
14
15 =item ecb_unused
16
17 =item ecb_const
18
19 =item ecb_pure
20
21 =item ecb_hot
22
23 =item ecb_cold
24
25 =item ecb_artificial
26
27 =back
28
29 =head2 OPTIMISATION HINTS
30
31 =over 4
32
33 =item bool ecb_is_constant(expr)
34
35 =item bool ecb_expect(expr,value)
36
37 =item bool ecb_unlikely(bool)
38
39 =item bool ecb_likely(bool)
40
41 =item bool ecb_assume(cond)
42
43 =item bool ecb_unreachable()
44
45 =item bool ecb_prefetch(addr,rw,locality)
46
47 =back
48
49 =head2 BIT FIDDLING / BITSTUFFS
50
51 bool ecb_big_endian ();
52 bool ecb_little_endian ();
53 int ecb_ctz32 (uint32_t x);
54 int ecb_popcount32 (uint32_t x);
55 uint32_t ecb_bswap32 (uint32_t x);
56 uint32_t ecb_bswap16 (uint32_t x);
57 uint32_t ecb_rotr32 (uint32_t x, unsigned int count);
58 uint32_t ecb_rotl32 (uint32_t x, unsigned int count);
59
60 =head2 ARITHMETIC
61
62 x = ecb_mod (m, n)
63
64 =head2 UTILITY
65
66 ecb_array_length (name)
67
68