diff options
author | Nils Wallménius <nils@rockbox.org> | 2011-05-24 10:44:12 +0000 |
---|---|---|
committer | Nils Wallménius <nils@rockbox.org> | 2011-05-24 10:44:12 +0000 |
commit | 5fd9471c156ca054fbe5fc5d2b002f94645f473c (patch) | |
tree | 9cc94d5448c3a421b37a21d7a4d2567ec197782b /firmware | |
parent | ecb4d2d9a72f223f792e435c3c50d19022a708d4 (diff) | |
download | rockbox-5fd9471c156ca054fbe5fc5d2b002f94645f473c.tar.gz rockbox-5fd9471c156ca054fbe5fc5d2b002f94645f473c.zip |
FS#12120. Convert FRACMUL macros into inline functions and fix typecasting for 64 bit platforms so that sims produce the same results as targets. Tweak the cf inline asm to not require an immediate value but add a FORCE_INLINE attribute to one of the cf functions to make sure it gets inlined as that saves both codesize and cycles.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29921 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/include/gcc_extensions.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/firmware/include/gcc_extensions.h b/firmware/include/gcc_extensions.h index f7580f6ddc..7109edaaf6 100644 --- a/firmware/include/gcc_extensions.h +++ b/firmware/include/gcc_extensions.h | |||
@@ -50,4 +50,11 @@ | |||
50 | #define NORETURN_ATTR | 50 | #define NORETURN_ATTR |
51 | #endif | 51 | #endif |
52 | 52 | ||
53 | |||
54 | #if defined(__GNUC__) | ||
55 | #define FORCE_INLINE inline __attribute__((always_inline)) | ||
56 | #else | ||
57 | #define FORCE_INLINE inline | ||
58 | #endif | ||
59 | |||
53 | #endif /* _GCC_EXTENSIONS_H_ */ | 60 | #endif /* _GCC_EXTENSIONS_H_ */ |