diff options
| author | GuEe-GUI <[email protected]> | 2024-12-12 13:52:49 +0800 |
|---|---|---|
| committer | Rbb666 <[email protected]> | 2024-12-13 10:39:20 +0800 |
| commit | 78f318aa8f506891002b58eeb45e8d18623cde15 (patch) | |
| tree | c8b0c0fe788770b6cc920deffd7602ccc4c16d54 /libcpu | |
| parent | ec4f375bbc8f4baf88c99d0464842f67a79b3def (diff) | |
[FIXUP] __rt_clz loss in aarch64
Signed-off-by: GuEe-GUI <[email protected]>
Diffstat (limited to 'libcpu')
| -rw-r--r-- | libcpu/aarch64/common/cpuport.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libcpu/aarch64/common/cpuport.c b/libcpu/aarch64/common/cpuport.c index b2592c854d..ed619990d7 100644 --- a/libcpu/aarch64/common/cpuport.c +++ b/libcpu/aarch64/common/cpuport.c @@ -56,4 +56,19 @@ unsigned long __rt_ffsl(unsigned long value) #endif } +unsigned long __rt_clz(unsigned long value) +{ +#ifdef __GNUC__ + return __builtin_clz(value); +#else + unsigned long val; + + __asm__ volatile ("clz %0, %1" + :"=r"(val) + :"r"(value)); + + return val; +#endif +} + #endif /* RT_USING_CPU_FFS */ |
