fr1
prog_req.fr1 = interp_req.fr1 && prog_req.fr1;
if (prog_req.fre && !prog_req.frdefault && !prog_req.fr1)
else if ((prog_req.fr1 && prog_req.frdefault) ||
else if (prog_req.fr1)
!prog_req.fr1 && !prog_req.single && !prog_req.soft)
bool fr1;
fr1: .reg %fr1
fstd,ma %fr1, 8(\regs)
fldd,mb -8(\regs), %fr1
struct reg_state *fr1, struct reg_state *fr2,
fr1->valid = fr2->valid = true;
fr1->r[t] = fr2->r[t] = tr1->r[t] = tr2->r[t] = z;
reg_state_cond(init_t, fr1, &rc, OP_GE, fr1, NULL, "r1>=A");
*tr1 = *fr1;
printf("STEP1 (%s) R1: ", t_str(init_t)); print_reg_state(fr1, "\n");
reg_state_cond(init_t, fr1, &rc, OP_LE, fr1, NULL, "r1<=B");
*tr1 = *fr1;
printf("STEP2 (%s) R1: ", t_str(init_t)); print_reg_state(fr1, "\n");
*branch_taken = reg_state_branch_taken_op(cond_t, fr1, fr2, op);
fr1->valid = fr2->valid = false;
fr1->valid = fr2->valid = true;
reg_state_cond(cond_t, fr1, fr2, rev_op, fr1, fr2, "FALSE");
printf("STEP3 (%s) FALSE R1:", t_str(cond_t)); print_reg_state(fr1, "\n");
struct reg_state fr1, fr2, tr1, tr2;
&fr1, &fr2, &tr1, &tr2);
if (!assert_reg_state_eq(&fr1, &fe1, "false_reg1") ||
printf("ACTUAL FALSE1: "); print_reg_state(&fr1, "\n");