num_t
static const char *t_str(enum num_t t)
static enum num_t t_is_32(enum num_t t)
enum num_t t;
static enum num_t t_signed(enum num_t t)
static bool assert_range_eq(enum num_t t, struct range x, struct range y,
static enum num_t t_unsigned(enum num_t t)
static bool needs_two_arcs(enum num_t t1, struct range r1,
enum num_t t2, struct range r2)
enum num_t t;
static void sim_case(enum num_t init_t, enum num_t cond_t,
enum num_t t;
static bool num_is_small(enum num_t t, u64 x)
enum num_t init_t;
enum num_t cond_t;
static int verify_case_op(enum num_t init_t, enum num_t cond_t,
static void snprintf_num(enum num_t t, struct strbuf *sb, u64 x)
static int verify_case_opt(struct ctx *ctx, enum num_t init_t, enum num_t cond_t,
static int verify_case(struct ctx *ctx, enum num_t init_t, enum num_t cond_t,
static void validate_gen_range_vs_const_64(enum num_t init_t, enum num_t cond_t)
static void validate_gen_range_vs_const_32(enum num_t init_t, enum num_t cond_t)
static void validate_gen_range_vs_range(enum num_t init_t, enum num_t cond_t)
static u64 rand_const(enum num_t t)
static struct range rand_range(enum num_t t)
static void validate_rand_ranges(enum num_t init_t, enum num_t cond_t, bool const_range)
static void snprintf_range(enum num_t t, struct strbuf *sb, struct range x)
static void print_range(enum num_t t, struct range x, const char *sfx)
static struct range unkn_subreg(enum num_t t)
static struct range range(enum num_t t, u64 a, u64 b)
static struct range range_cast_u64(enum num_t to_t, struct range x)
static struct range range_cast_s64(enum num_t to_t, struct range x)
static struct range range_cast_u32(enum num_t to_t, struct range x)
static struct range range_cast_s32(enum num_t to_t, struct range x)
static struct range range_cast(enum num_t from_t, enum num_t to_t, struct range from)
static bool is_valid_num(enum num_t t, u64 x)
static bool is_valid_range(enum num_t t, struct range x)
static struct range range_intersection(enum num_t t, struct range old, struct range new)
static struct range range_union(enum num_t t, struct range x, struct range y)
static struct range range_refine_in_halves(enum num_t x_t, struct range x,
enum num_t y_t, struct range y)
static bool range64_range32_intersect(enum num_t a_t,
static struct range range_refine(enum num_t x_t, struct range x, enum num_t y_t, struct range y)
static bool range_canbe_op(enum num_t t, struct range x, struct range y, enum op op)
static bool range_always_op(enum num_t t, struct range x, struct range y, enum op op)
static __always_inline u64 min_t(enum num_t t, u64 x, u64 y)
static bool range_never_op(enum num_t t, struct range x, struct range y, enum op op)
static int range_branch_taken_op(enum num_t t, struct range x, struct range y, enum op op)
static void range_cond(enum num_t t, struct range x, struct range y,
enum num_t t;
static __always_inline u64 max_t(enum num_t t, u64 x, u64 y)
static void print_refinement(enum num_t s_t, struct range src,
enum num_t d_t, struct range old, struct range new,
static void reg_state_refine(struct reg_state *r, enum num_t t, struct range x, const char *ctx)
enum num_t d_t, s_t;
static void reg_state_set_const(struct reg_state *rs, enum num_t t, u64 val)
enum num_t tt;
static void reg_state_cond(enum num_t t, struct reg_state *x, struct reg_state *y, enum op op,
enum num_t ts[2];
static __always_inline u64 cast_t(enum num_t t, u64 x)
static int reg_state_branch_taken_op(enum num_t t, struct reg_state *x, struct reg_state *y,
enum num_t tu = t_unsigned(t);
enum num_t ts = t_signed(t);