1 |
|
2 |
=head2 GCC ATTRIBUTES |
3 |
|
4 |
=over 4 |
5 |
|
6 |
=item ecb_attribute(attrlist) |
7 |
=item ecb_noinline ecb_attribute ((noinline)) |
8 |
=item ecb_noreturn ecb_attribute ((noreturn)) |
9 |
=item ecb_unused ecb_attribute ((unused)) |
10 |
=item ecb_const ecb_attribute ((const)) |
11 |
=item ecb_pure ecb_attribute ((pure)) |
12 |
=item ecb_hot ecb_attribute ((hot)) /* 4.3 */ |
13 |
=item ecb_cold ecb_attribute ((cold)) /* 4.3 */ |
14 |
|
15 |
=back |
16 |
|
17 |
=head2 OPTIMISATION HINTS |
18 |
|
19 |
=over 4 |
20 |
|
21 |
=item bool ecb_is_constant(expr) |
22 |
|
23 |
=item bool ecb_expect(expr,value) |
24 |
|
25 |
=item bool ecb_unlikely(bool) |
26 |
|
27 |
=item bool ecb_likely(bool) |
28 |
|
29 |
=item bool ecb_assume(cond) |
30 |
|
31 |
=item bool ecb_unreachable() |
32 |
|
33 |
=item bool ecb_prefetch(addr,rw,locality) |
34 |
|
35 |
=back |
36 |
|
37 |
=head2 BIT FIDDLING / BITSTUFFS |
38 |
|
39 |
bool ecb_big_endian (); |
40 |
bool ecb_little_endian (); |
41 |
int ecb_ctz32 (uint32_t x); |
42 |
int ecb_popcount32 (uint32_t x); |
43 |
uint32_t ecb_bswap32 (uint32_t x); |
44 |
uint32_t ecb_bswap16 (uint32_t x); |
45 |
uint32_t ecb_rotr32 (uint32_t x, unsigned int count); |
46 |
uint32_t ecb_rotl32 (uint32_t x, unsigned int count); |
47 |
|
48 |
=head2 ARITHMETIC |
49 |
|
50 |
x = ecb_mod (m, n) |
51 |
|
52 |
=head2 UTILITY |
53 |
|
54 |
ecb_array_length (name) |
55 |
|
56 |
|