From: Damjan Marion Date: Wed, 27 Oct 2021 15:31:46 +0000 (+0200) Subject: vppinfra: use bzhi in pow2_mask when available X-Git-Tag: v22.06-rc0~355 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=bd908d5ac9c3b8b54c5ddaf09cc356e5b4d0ee35;p=vpp.git vppinfra: use bzhi in pow2_mask when available Saves one clock.... Type: improvement Change-Id: I43da40fb4887b77ac851f759c50a7ca2814f8f40 Signed-off-by: Damjan Marion --- diff --git a/src/vppinfra/clib.h b/src/vppinfra/clib.h index f0c3aca1e03..81b59e21a0b 100644 --- a/src/vppinfra/clib.h +++ b/src/vppinfra/clib.h @@ -251,6 +251,9 @@ min_log2_u64 (u64 x) always_inline uword pow2_mask (uword x) { +#ifdef __BMI2__ + return _bzhi_u64 (-1ULL, x); +#endif return ((uword) 1 << x) - (uword) 1; }