reg_umin
meta->umin_src = min(meta->umin_src, reg_umin(sreg));
meta->umin_dst = min(meta->umin_dst, reg_umin(dreg));
{"umin", reg_umin(reg), reg_umin(reg) == 0},
u64 umin_val = reg_umin(off_reg), umax_val = reg_umax(off_reg);
u64 umin = reg_umin(dst_reg);
check_mul_overflow(umin, reg_umin(src_reg), &umin)) {
u64 src_val = reg_umin(src_reg); /* non-zero, const divisor */
reg_set_urange64(dst_reg, div64_u64(reg_umin(dst_reg), src_val),
u64 src_val = reg_umin(src_reg); /* non-zero, const divisor */
u64 umin_val = reg_umin(src_reg);
max(reg_umin(dst_reg), umin_val),
u = cnum64_from_urange(reg_umin(dst_reg) << umin_val,
u64 umin_val = reg_umin(src_reg);
u64 umin_val = reg_umin(src_reg);
reg_set_urange64(dst_reg, reg_umin(dst_reg) >> umax_val,
u64 umin_val = reg_umin(src_reg);
&& reg_umin(src_reg) == reg_umax(src_reg))
if ((alu32 && reg_u32_min(&src_reg) == 0) || (!alu32 && reg_umin(&src_reg) == 0)) {
if ((alu32 && reg_u32_min(&src_reg) == 0) || (!alu32 && reg_umin(&src_reg) == 0))
u64 umin1 = is_jmp32 ? (u64)reg_u32_min(reg1) : reg_umin(reg1);
u64 umin2 = is_jmp32 ? (u64)reg_u32_min(reg2) : reg_umin(reg2);
cnum64_intersect_with_urange(®2->r64, reg_umin(reg1), U64_MAX);
cnum64_intersect_with_urange(®2->r64, reg_umin(reg1) + 1, U64_MAX);
u64 min_index = reg_umin(reg);
verbose(env, "the sum of R%u umin_value %llu is too big\n", regno, reg_umin(reg));
tnum_next = tnum_step(reg->var_off, reg_umin(reg));
umin_in_tnum = (reg_umin(reg) & ~reg->var_off.mask) == reg->var_off.value;
___mark_reg_known(reg, reg_umin(reg));
tnum_range(reg_umin(reg),
if ((reg_umin(reg) & ~mask) == (reg_umax(reg) & ~mask))
reg_set_urange64(reg, reg_umin(reg) & mask, reg_umax(reg) & mask);
if (reg_umin(size_reg) == 0 && !zero_size_allowed) {
reg_arg_name(env, size_argno), reg_umin(size_reg), reg_umax(size_reg));