浏览代码

[libcpu][arm] fix armclang error when enable LTO

tfx2001 2 年之前
父节点
当前提交
21ee452661
共有 3 个文件被更改,包括 11 次插入11 次删除
  1. 4 4
      libcpu/arm/cortex-m3/cpuport.c
  2. 3 3
      libcpu/arm/cortex-m4/cpuport.c
  3. 4 4
      libcpu/arm/cortex-m7/cpuport.c

+ 4 - 4
libcpu/arm/cortex-m3/cpuport.c

@@ -389,12 +389,12 @@ exit
 int __rt_ffs(int value)
 {
     __asm volatile(
-        "CMP     r0, #0x00            \n"
+        "CMP     %1, #0x00            \n"
         "BEQ     1f                   \n"
 
-        "RBIT    r0, r0               \n"
-        "CLZ     r0, r0               \n"
-        "ADDS    r0, r0, #0x01        \n"
+        "RBIT    %1, %1               \n"
+        "CLZ     %0, %1               \n"
+        "ADDS    %0, %0, #0x01        \n"
 
         "1:                           \n"
 

+ 3 - 3
libcpu/arm/cortex-m4/cpuport.c

@@ -474,11 +474,11 @@ exit
 int __rt_ffs(int value)
 {
     __asm volatile(
-        "CMP     %0, #0x00            \n"
+        "CMP     %1, #0x00            \n"
         "BEQ     1f                   \n"
 
-        "RBIT    %0, %0               \n"
-        "CLZ     %0, %0               \n"
+        "RBIT    %1, %1               \n"
+        "CLZ     %0, %1               \n"
         "ADDS    %0, %0, #0x01        \n"
 
         "1:                           \n"

+ 4 - 4
libcpu/arm/cortex-m7/cpuport.c

@@ -473,12 +473,12 @@ exit
 int __rt_ffs(int value)
 {
     __asm volatile(
-        "CMP     r0, #0x00            \n"
+        "CMP     %1, #0x00            \n"
         "BEQ     1f                   \n"
 
-        "RBIT    r0, r0               \n"
-        "CLZ     r0, r0               \n"
-        "ADDS    r0, r0, #0x01        \n"
+        "RBIT    %1, %1               \n"
+        "CLZ     %0, %1               \n"
+        "ADDS    %0, %0, #0x01        \n"
 
         "1:                           \n"