diff options
| author | zhuyunfan <[email protected]> | 2021-03-03 16:28:23 +0800 |
|---|---|---|
| committer | zhuyunfan <[email protected]> | 2021-03-03 16:28:23 +0800 |
| commit | 8897a1cde38b338f8e32fa1c676d0a4d8bb53168 (patch) | |
| tree | d030566ca415024c2cac160971a844bbb1ce22da /libcpu | |
| parent | aad29c0d85c78351d245be2f14e73dd47b4c64b4 (diff) | |
| parent | 4a40ba95358139aed460369a91ff995cad2f8ce5 (diff) | |
Merge branch 'master' of https://github.com/RT-Thread/rt-thread
Diffstat (limited to 'libcpu')
| -rw-r--r-- | libcpu/arm/cortex-m33/cpuport.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/libcpu/arm/cortex-m33/cpuport.c b/libcpu/arm/cortex-m33/cpuport.c index 42b5798507..41325105d7 100644 --- a/libcpu/arm/cortex-m33/cpuport.c +++ b/libcpu/arm/cortex-m33/cpuport.c @@ -473,17 +473,13 @@ exit #elif defined(__CLANG_ARM) int __rt_ffs(int value) { - __asm volatile( - "CMP r0, #0x00 \n" - "BEQ 1f \n" + if (value == 0) return value; + __asm volatile( "RBIT r0, r0 \n" "CLZ r0, r0 \n" "ADDS r0, r0, #0x01 \n" - "1: \n" - "BX lr \n" - : "=r"(value) : "r"(value) ); |
