xref: /DragonOS/kernel/src/arch/riscv64/asm/bitops.rs (revision 0102d69fdd231e472d7bb3d609a41ae56a3799ee)
14fda81ceSLoGin /// @brief ffz - 寻找u64中的第一个0所在的位(从第0位开始寻找)
24fda81ceSLoGin /// 请注意,如果x中没有0,那么结果将是未定义的。请确保传入的x至少存在1个0
34fda81ceSLoGin ///
44fda81ceSLoGin /// @param x 目标u64
54fda81ceSLoGin /// @return i32 bit-number(0..63) of the first (least significant) zero bit.
64fda81ceSLoGin #[inline]
7*0102d69fSLoGin #[allow(dead_code)]
ffz(x: u64) -> i3284fda81ceSLoGin pub fn ffz(x: u64) -> i32 {
94fda81ceSLoGin     (!x).trailing_zeros() as i32
104fda81ceSLoGin }
11