{
TCGv_i64 th = tcg_temp_new_i64();
TCGv_i64 tl = tcg_temp_new_i64();
- TCGv_i64 zero = tcg_const_i64(0);
- tcg_gen_andi_i64(tl, cl, 1);
- tcg_gen_sub2_i64(tl, th, al, zero, tl, zero);
- tcg_gen_sub2_i64(tl, th, tl, th, bl, zero);
- tcg_gen_andi_i64(th, th, 1);
- tcg_gen_sub2_i64(tl, th, ah, zero, th, zero);
- tcg_gen_sub2_i64(tl, th, tl, th, bh, zero);
- tcg_gen_andi_i64(dl, th, 1);
- tcg_gen_mov_i64(dh, zero);
+ tcg_gen_not_i64(tl, bl);
+ tcg_gen_not_i64(th, bh);
+ gen_accc2_i64(dl, dh, al, ah, tl, th, cl, ch);
tcg_temp_free_i64(tl);
tcg_temp_free_i64(th);
- tcg_temp_free_i64(zero);
}
static DisasJumpType op_vsbcbi(DisasContext *s, DisasOps *o)