From 1284c127f8e1f2ab693d523a009b7b2e553024a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nils=20Wallm=C3=A9nius?= Date: Thu, 20 Nov 2008 20:20:43 +0000 Subject: Introduce likely() and unlikely() macros, use to give gcc hints about which branch is likely to be taken in a conditional, use them in the midi player for a small speedup, use instead of similar EXPECT macros in tremor and use in mpegplayer git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19162 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/libtremor/codebook.c | 10 +++++----- apps/codecs/libtremor/misc.h | 12 ------------ 2 files changed, 5 insertions(+), 17 deletions(-) (limited to 'apps/codecs/libtremor') diff --git a/apps/codecs/libtremor/codebook.c b/apps/codecs/libtremor/codebook.c index 8c319ab49e..5ffd0e308b 100644 --- a/apps/codecs/libtremor/codebook.c +++ b/apps/codecs/libtremor/codebook.c @@ -154,9 +154,9 @@ STIN long decode_packed_entry_number(codebook *book, long lo,hi; long lok = oggpack_look(b,book->dec_firsttablen); - if (EXPECT(lok >= 0, 1)) { + if (likely(lok >= 0)) { long entry = book->dec_firsttable[lok]; - if(EXPECT(entry&0x80000000UL, 0)){ + if(unlikely(entry&0x80000000UL)){ lo=(entry>>15)&0x7fff; hi=book->used_entries-(entry&0x7fff); }else{ @@ -218,7 +218,7 @@ static long decode_packed_block(codebook *book, oggpack_buffer *b, bitend = ((adr&3)+b->headend)*8; while (bufptrdec_maxlength, 0)) { + if (unlikely(cachesizedec_maxlength)) { if (bit-cachesize+32>=bitend) break; bit-=cachesize; @@ -230,13 +230,13 @@ static long decode_packed_block(codebook *book, oggpack_buffer *b, } entry=book->dec_firsttable[cache&((1<dec_firsttablen)-1)]; - if(EXPECT(entry&0x80000000UL, 0)){ + if(unlikely(entry&0x80000000UL)){ lo=(entry>>15)&0x7fff; hi=book->used_entries-(entry&0x7fff); { ogg_uint32_t testword=bitreverse((ogg_uint32_t)cache); - while(EXPECT(hi-lo>1, 1)){ + while(likely(hi-lo>1)){ long p=(hi-lo)>>1; if (book->codelist[lo+p]>testword) hi-=p; diff --git a/apps/codecs/libtremor/misc.h b/apps/codecs/libtremor/misc.h index 7d8b846381..e94236c2a8 100644 --- a/apps/codecs/libtremor/misc.h +++ b/apps/codecs/libtremor/misc.h @@ -275,17 +275,5 @@ static inline ogg_int32_t VFLOAT_ADD(ogg_int32_t a,ogg_int32_t ap, return(a); } -#ifdef __GNUC__ -#if __GNUC__ >= 3 -#define EXPECT(a, b) __builtin_expect((a), (b)) -#else -#define EXPECT(a, b) (a) -#endif -#else -#define EXPECT(a, b) (a) #endif -#endif - - - -- cgit v1.2.3