* Return the last (most-significant) bit set. * * @note The last (most significant) bit is at position 32. * @note rte_fls_u32(0) = 0, rte_fls_u32(1) = 1, rte_fls_u32(0x80000000) = 32 * * @param x * The input parameter. * @return * The last (most-significant) bit set, or 0 if the input is 0. */
| 566 | * The last (most-significant) bit set, or 0 if the input is 0. |
| 567 | */ |
| 568 | static inline uint32_t |
| 569 | rte_fls_u32(uint32_t x) |
| 570 | { |
| 571 | return (x == 0) ? 0 : 32 - rte_clz32(x); |
| 572 | } |
| 573 | |
| 574 | /** |
| 575 | * Return the last (most-significant) bit set. |