#endif
/* Conditional moves */
-void op_movn (void)
-{
- if (T1 != 0)
- env->gpr[env->current_tc][PARAM1] = T0;
- FORCE_RET();
-}
-
-void op_movz (void)
-{
- if (T1 == 0)
- env->gpr[env->current_tc][PARAM1] = T0;
- FORCE_RET();
-}
-
void op_movf (void)
{
if (!(env->fpu->fcr31 & PARAM1))
opn = "mul";
break;
case OPC_MOVN:
- gen_op_movn(rd);
+ {
+ int l1 = gen_new_label();
+
+ tcg_gen_brcond_tl(TCG_COND_EQ, cpu_T[1], tcg_const_tl(0), l1);
+ gen_op_store_gpr_T0(rd);
+ gen_set_label(l1);
+ }
opn = "movn";
goto print;
case OPC_MOVZ:
- gen_op_movz(rd);
+ {
+ int l1 = gen_new_label();
+
+ tcg_gen_brcond_tl(TCG_COND_NE, cpu_T[1], tcg_const_tl(0), l1);
+ gen_op_store_gpr_T0(rd);
+ gen_set_label(l1);
+ }
opn = "movz";
goto print;
case OPC_SLLV: