summaryrefslogtreecommitdiff
path: root/libcpu
diff options
context:
space:
mode:
authorJonasWen <[email protected]>2022-06-15 17:19:51 +0800
committerGitHub <[email protected]>2022-06-15 17:19:51 +0800
commitb010e434ed3839e5064f7fc8337591a18d6b67cd (patch)
treed886b359b18fba95dddda80d9d9f3677b48b3f3b /libcpu
parentccbecfc220ac3224c5469aac7a1392a64f3a7c3e (diff)
[libcpu][arm] ArmClang 编译优化错误 (#6071)
Diffstat (limited to 'libcpu')
-rw-r--r--libcpu/arm/cortex-m4/cpuport.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/libcpu/arm/cortex-m4/cpuport.c b/libcpu/arm/cortex-m4/cpuport.c
index 6b748255c5..f060fa122d 100644
--- a/libcpu/arm/cortex-m4/cpuport.c
+++ b/libcpu/arm/cortex-m4/cpuport.c
@@ -15,6 +15,7 @@
* 2013-06-23 aozima support lazy stack optimized.
* 2018-07-24 aozima enhancement hard fault exception handler.
* 2019-07-03 yangjie add __rt_ffs() for armclang.
+ * 2022-06-12 jonas fixed __rt_ffs() for armclang.
*/
#include <rtthread.h>
@@ -473,12 +474,12 @@ exit
int __rt_ffs(int value)
{
__asm volatile(
- "CMP r0, #0x00 \n"
+ "CMP %0, #0x00 \n"
"BEQ 1f \n"
- "RBIT r0, r0 \n"
- "CLZ r0, r0 \n"
- "ADDS r0, r0, #0x01 \n"
+ "RBIT %0, %0 \n"
+ "CLZ %0, %0 \n"
+ "ADDS %0, %0, #0x01 \n"
"1: \n"