gpt4 book ai didi

rust - 如何在 Rust 中使用 __builtin_clzll?

转载 作者:行者123 更新时间:2023-12-05 00:43:30 49 4
gpt4 key购买 nike

GCC 有 __builtin_clzll 内置函数,根据 https://www.geeksforgeeks.org/builtin-functions-gcc-compiler/ :

__builtin_clz(x): This function is used to count the leading zeros of the integer. Note : clz = count leading zero’s 

我认为 LLVM 也有这些功能,Rust 是用 LLVM 编译的。有没有办法在 Rust 中使用这个函数?

最佳答案

Rust 有 leading_zeros所有内置整数类型的方法。如果在支持高效硬件前导零指令的 CPU 上编译,它将使用:

pub fn foo(n: u32) -> u32 {
n.leading_zeros()
}

rustc -O -C target-cpu=broadwell:

example::foo:
lzcnt eax, edi
ret

rustc -O --target arm-unknown-linux-gnueabihf -C target-cpu=cortex-a76:

example::foo:
clz r0, r0
bx lr

关于rust - 如何在 Rust 中使用 __builtin_clzll?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69901929/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com