mirror of https://github.com/ARMmbed/mbed-os.git
littlefs: Added checks for __CLZ instruction in IAR
parent
2cf4715cb6
commit
b52575bc65
|
@ -39,7 +39,7 @@ static inline uint32_t lfs_min(uint32_t a, uint32_t b) {
|
||||||
static inline uint32_t lfs_ctz(uint32_t a) {
|
static inline uint32_t lfs_ctz(uint32_t a) {
|
||||||
#if defined(__GNUC__) || defined(__CC_ARM)
|
#if defined(__GNUC__) || defined(__CC_ARM)
|
||||||
return __builtin_ctz(a);
|
return __builtin_ctz(a);
|
||||||
#elif defined(__ICCARM__)
|
#elif defined(__ICCARM__) && defined(__CLZ)
|
||||||
return __CLZ(__RBIT(a));
|
return __CLZ(__RBIT(a));
|
||||||
#else
|
#else
|
||||||
uint32_t r = 32;
|
uint32_t r = 32;
|
||||||
|
@ -57,7 +57,7 @@ static inline uint32_t lfs_ctz(uint32_t a) {
|
||||||
static inline uint32_t lfs_npw2(uint32_t a) {
|
static inline uint32_t lfs_npw2(uint32_t a) {
|
||||||
#if defined(__GNUC__) || defined(__CC_ARM)
|
#if defined(__GNUC__) || defined(__CC_ARM)
|
||||||
return 32 - __builtin_clz(a-1);
|
return 32 - __builtin_clz(a-1);
|
||||||
#elif defined(__ICCARM__)
|
#elif defined(__ICCARM__) && defined(__CLZ)
|
||||||
return 32 - __CLZ(a-1);
|
return 32 - __CLZ(a-1);
|
||||||
#else
|
#else
|
||||||
uint32_t r = 0;
|
uint32_t r = 0;
|
||||||
|
|
Loading…
Reference in New Issue