Lines Matching refs:val
31 static inline long long zero_extend(long long val, unsigned size)
33 return val & bits_mask(size);
36 static inline long long sign_extend(long long val, unsigned size)
38 if (val & sign_bit(size))
39 val |= ~sign_mask(size);
40 return val;
44 // sign extend @val but only if exactly representable
45 static inline long long sign_extend_safe(long long val, unsigned size)
48 if (!(val & ~mask))
49 val = sign_extend(val, size);
50 return val;
53 static inline long long bits_extend(long long val, unsigned size, int is_signed)
55 val = zero_extend(val, size);
57 val = sign_extend(val, size);
58 return val;
61 static inline int is_power_of_2(long long val)
63 return val && !(val & (val - 1));
68 static inline int log2_exact(unsigned long long val)
70 return 8 * sizeof(val) - __builtin_clzl(val) - 1;