sign_extend
sign_extend(int32_t val, uint32_t bits)
static inline long long sign_extend(long long val, unsigned size)