-TESTS = reg_call1 reg_call2 reg_call3 reg_call_tail reg_save \
+TESTS = reg_call1 reg_call2 reg_call3 reg_call4 reg_call5 \
+ reg_call_tail reg_save \
varargs ops x87 x87_f x87_s deref
all: $(addsuffix .ok,$(TESTS))
if (pp->arg[arg].type.is_retreg)
fprintf(fout, "&%s", pp->arg[arg].reg);
else if (IS(pp->arg[arg].reg, "ebp")
- && !(po->flags & OPF_EBP_S))
+ && g_bp_frame && !(po->flags & OPF_EBP_S))
{
// rare special case
fprintf(fout, "%s(u32)&sf.b[sizeof(sf)]", cast);
po->regmask_dst |= 1 << xAX;
dep = hg_fp_find_dep(fp, po->operand[0].name);
- if (dep != NULL)
+ if (dep != NULL) {
dep->regmask_live = regmask_save | regmask_dst;
+ if (g_bp_frame && !(po->flags & OPF_EBP_S))
+ dep->regmask_live |= 1 << xBP;
+ }
}
else if (po->op == OP_RET) {
if (po->operand_cnt > 0) {