Lines Matching defs:v
517 #define __RTE_GEN_BIT_OPS(v, qualifier, size) \
518 __RTE_GEN_BIT_TEST(v, qualifier, size) \
519 __RTE_GEN_BIT_SET(v, qualifier, size) \
520 __RTE_GEN_BIT_CLEAR(v, qualifier, size) \
521 __RTE_GEN_BIT_ASSIGN(v, qualifier, size) \
522 __RTE_GEN_BIT_FLIP(v, qualifier, size)
862 * Get the count of leading 0-bits in v.
864 * @param v
870 rte_clz32(uint32_t v)
874 (void)_BitScanReverse(&rv, v);
876 return (unsigned int)(sizeof(v) * CHAR_BIT - 1 - rv);
880 * Get the count of leading 0-bits in v.
882 * @param v
888 rte_clz64(uint64_t v)
892 (void)_BitScanReverse64(&rv, v);
894 return (unsigned int)(sizeof(v) * CHAR_BIT - 1 - rv);
898 * Get the count of trailing 0-bits in v.
900 * @param v
906 rte_ctz32(uint32_t v)
910 (void)_BitScanForward(&rv, v);
916 * Get the count of trailing 0-bits in v.
918 * @param v
924 rte_ctz64(uint64_t v)
928 (void)_BitScanForward64(&rv, v);
934 * Get the count of 1-bits in v.
936 * @param v
942 rte_popcount32(uint32_t v)
944 return (unsigned int)__popcnt(v);
948 * Get the count of 1-bits in v.
950 * @param v
956 rte_popcount64(uint64_t v)
958 return (unsigned int)__popcnt64(v);
965 * Search v from least significant bit (LSB) to the most
968 * @param v
975 rte_ffs32(uint32_t v)
979 if (_BitScanForward(&rv, v) == 0)
989 * Search v from least significant bit (LSB) to the most
992 * @param v
999 rte_ffs64(uint64_t v)
1003 if (_BitScanForward64(&rv, v) == 0)
1012 * Get the count of leading 0-bits in v.
1014 * @param v
1020 rte_clz32(uint32_t v)
1022 return (unsigned int)__builtin_clz(v);
1026 * Get the count of leading 0-bits in v.
1028 * @param v
1034 rte_clz64(uint64_t v)
1036 return (unsigned int)__builtin_clzll(v);
1040 * Get the count of trailing 0-bits in v.
1042 * @param v
1048 rte_ctz32(uint32_t v)
1050 return (unsigned int)__builtin_ctz(v);
1054 * Get the count of trailing 0-bits in v.
1056 * @param v
1062 rte_ctz64(uint64_t v)
1064 return (unsigned int)__builtin_ctzll(v);
1068 * Get the count of 1-bits in v.
1070 * @param v
1076 rte_popcount32(uint32_t v)
1078 return (unsigned int)__builtin_popcount(v);
1082 * Get the count of 1-bits in v.
1084 * @param v
1090 rte_popcount64(uint64_t v)
1092 return (unsigned int)__builtin_popcountll(v);
1099 * Search v from least significant bit (LSB) to the most
1102 * @param v
1109 rte_ffs32(uint32_t v)
1111 return (unsigned int)__builtin_ffs(v);
1118 * Search v from least significant bit (LSB) to the most
1121 * @param v
1128 rte_ffs64(uint64_t v)
1130 return (unsigned int)__builtin_ffsll(v);
1162 * @param v
1168 rte_combine64ms1b(uint64_t v)
1170 v |= v >> 1;
1171 v |= v >> 2;
1172 v |= v >> 4;
1173 v |= v >> 8;
1174 v |= v >> 16;
1175 v |= v >> 32;
1177 return v;
1186 * @param v
1192 rte_bsf32(uint32_t v)
1194 return (uint32_t)rte_ctz32(v);
1203 * @param v
1206 * If ``v`` was not 0, this value will contain position of least significant
1209 * Returns 0 if ``v`` was 0, otherwise returns 1.
1212 rte_bsf32_safe(uint32_t v, uint32_t *pos)
1214 if (v == 0)
1217 *pos = rte_bsf32(v);
1227 * @param v
1233 rte_bsf64(uint64_t v)
1235 return (uint32_t)rte_ctz64(v);
1244 * @param v
1247 * If ``v`` was not 0, this value will contain position of least significant
1250 * Returns 0 if ``v`` was 0, otherwise returns 1.
1253 rte_bsf64_safe(uint64_t v, uint32_t *pos)
1255 if (v == 0)
1258 *pos = rte_bsf64(v);
1354 * @param v
1361 rte_align64pow2(uint64_t v)
1363 v--;
1364 v = rte_combine64ms1b(v);
1366 return v + 1;
1372 * @param v
1379 rte_align64prevpow2(uint64_t v)
1381 v = rte_combine64ms1b(v);
1383 return v - (v >> 1);
1392 * @param v
1398 rte_log2_u32(uint32_t v)
1400 if (v == 0)
1402 v = rte_align32pow2(v);
1403 return rte_bsf32(v);
1412 * @param v
1418 rte_log2_u64(uint64_t v)
1420 if (v == 0)
1422 v = rte_align64pow2(v);
1423 /* we checked for v being 0 already, so no undefined behavior */
1424 return rte_bsf64(v);
1451 #define __RTE_BIT_OVERLOAD_V_2(family, v, fun, qualifier, size, arg1_type, arg1_name) \
1455 __rte_bit_ ## family ## v ## fun ## size(addr, arg1_name); \
1466 #define __RTE_BIT_OVERLOAD_V_2R(family, v, fun, qualifier, size, ret_type, arg1_type, arg1_name) \
1470 return __rte_bit_ ## family ## v ## fun ## size(addr, arg1_name); \
1482 #define __RTE_BIT_OVERLOAD_V_3(family, v, fun, qualifier, size, arg1_type, arg1_name, \
1488 __rte_bit_ ## family ## v ## fun ## size(addr, arg1_name, arg2_name); \
1504 #define __RTE_BIT_OVERLOAD_V_3R(family, v, fun, qualifier, size, ret_type, arg1_type, arg1_name, \
1510 return __rte_bit_ ## family ## v ## fun ## size(addr, arg1_name, arg2_name); \
1527 #define __RTE_BIT_OVERLOAD_V_4(family, v, fun, qualifier, size, arg1_type, arg1_name, \
1533 __rte_bit_ ## family ## v ## fun ## size(addr, arg1_name, arg2_name, arg3_name); \
1550 #define __RTE_BIT_OVERLOAD_V_4R(family, v, fun, qualifier, size, ret_type, arg1_type, arg1_name, \
1556 return __rte_bit_ ## family ## v ## fun ## size(addr, arg1_name, arg2_name, \