diff --git a/src/xenia/cpu/x64/x64_emit_alu.cc b/src/xenia/cpu/x64/x64_emit_alu.cc index 95bb3c4c4..e0cfa55fb 100644 --- a/src/xenia/cpu/x64/x64_emit_alu.cc +++ b/src/xenia/cpu/x64/x64_emit_alu.cc @@ -80,7 +80,7 @@ XEEMITTER(addic, 0x30000000, D )(X64Emitter& e, X86Compiler& c, InstrDat c.mov(v, e.gpr_value(i.D.RA)); c.add(v, imm(XEEXTS16(i.D.DS))); GpVar cc(c.newGpVar()); - c.setc(cc); + c.setc(cc.r8()); e.update_gpr_value(i.D.RT, v); e.update_xer_with_carry(cc); @@ -126,7 +126,7 @@ XEEMITTER(addzex, 0x7C000194, XO )(X64Emitter& e, X86Compiler& c, InstrDat c.mov(v, e.gpr_value(i.XO.RA)); c.add(v, xer); GpVar cc(c.newGpVar()); - c.setc(cc); + c.setc(cc.r8()); e.update_gpr_value(i.XO.RT, v); e.update_xer_with_carry(cc); @@ -412,7 +412,7 @@ XEEMITTER(subficx, 0x20000000, D )(X64Emitter& e, X86Compiler& c, InstrDat c.stc(); // Always carrying. c.adc(v, imm(XEEXTS16(i.D.DS))); GpVar cc(c.newGpVar()); - c.setc(cc); + c.setc(cc.r8()); e.update_gpr_value(i.D.RT, v); e.update_xer_with_carry(cc); @@ -440,7 +440,7 @@ XEEMITTER(subfex, 0x7C000110, XO )(X64Emitter& e, X86Compiler& c, InstrDat c.adc(v, e.gpr_value(i.XO.RB)); GpVar cc(c.newGpVar()); - c.setc(cc); + c.setc(cc.r8()); e.update_gpr_value(i.XO.RT, v); diff --git a/src/xenia/cpu/x64/x64_emit_control.cc b/src/xenia/cpu/x64/x64_emit_control.cc index 46e378c59..1fb17cbc1 100644 --- a/src/xenia/cpu/x64/x64_emit_control.cc +++ b/src/xenia/cpu/x64/x64_emit_control.cc @@ -229,9 +229,9 @@ XEEMITTER(bcx, 0x40000000, B )(X64Emitter& e, X86Compiler& c, InstrDat c.cmp(ctr, imm(0)); ctr_ok = c.newGpVar(); if (XESELECTBITS(i.B.BO, 1, 1)) { - c.setz(ctr_ok); + c.setz(ctr_ok.r8()); } else { - c.setnz(ctr_ok); + c.setnz(ctr_ok.r8()); } } @@ -245,9 +245,9 @@ XEEMITTER(bcx, 0x40000000, B )(X64Emitter& e, X86Compiler& c, InstrDat c.cmp(cr, imm(0)); cond_ok = c.newGpVar(); if (XESELECTBITS(i.XL.BO, 3, 3)) { - c.setnz(cond_ok); + c.setnz(cond_ok.r8()); } else { - c.setz(cond_ok); + c.setz(cond_ok.r8()); } } @@ -302,9 +302,9 @@ XEEMITTER(bcctrx, 0x4C000420, XL )(X64Emitter& e, X86Compiler& c, InstrDat c.cmp(cr, imm(0)); cond_ok = c.newGpVar(); if (XESELECTBITS(i.XL.BO, 3, 3)) { - c.setnz(cond_ok); + c.setnz(cond_ok.r8()); } else { - c.setz(cond_ok); + c.setz(cond_ok.r8()); } } @@ -355,9 +355,9 @@ XEEMITTER(bclrx, 0x4C000020, XL )(X64Emitter& e, X86Compiler& c, InstrDat c.cmp(ctr, imm(0)); ctr_ok = c.newGpVar(); if (XESELECTBITS(i.XL.BO, 1, 1)) { - c.setz(ctr_ok); + c.setz(ctr_ok.r8()); } else { - c.setnz(ctr_ok); + c.setnz(ctr_ok.r8()); } } @@ -371,9 +371,9 @@ XEEMITTER(bclrx, 0x4C000020, XL )(X64Emitter& e, X86Compiler& c, InstrDat c.cmp(cr, imm(0)); cond_ok = c.newGpVar(); if (XESELECTBITS(i.XL.BO, 3, 3)) { - c.setnz(cond_ok); + c.setnz(cond_ok.r8()); } else { - c.setz(cond_ok); + c.setz(cond_ok.r8()); } } diff --git a/src/xenia/cpu/x64/x64_emitter.cc b/src/xenia/cpu/x64/x64_emitter.cc index d7b362826..506dae37a 100644 --- a/src/xenia/cpu/x64/x64_emitter.cc +++ b/src/xenia/cpu/x64/x64_emitter.cc @@ -1364,9 +1364,9 @@ void X64Emitter::update_cr_with_cond(uint32_t n, GpVar& lhs) { GpVar v_g(c.newGpVar()); GpVar v_e(c.newGpVar()); c.cmp(lhs, imm(0)); - c.setl(v_l); - c.setg(v_g); - c.sete(v_e); + c.setl(v_l.r8()); + c.setg(v_g.r8()); + c.sete(v_e.r8()); GpVar v(c.newGpVar()); c.shl(v_g, imm(1)); c.shl(v_e, imm(2)); @@ -1393,9 +1393,9 @@ void X64Emitter::update_cr_with_cond(uint32_t n, GpVar& lhs, GpVar& rhs) { GpVar v_g(c.newGpVar()); GpVar v_e(c.newGpVar()); c.cmp(lhs, rhs); - c.setl(v_l); - c.setg(v_g); - c.sete(v_e); + c.setl(v_l.r8()); + c.setg(v_g.r8()); + c.sete(v_e.r8()); GpVar v(c.newGpVar()); c.shl(v_g, imm(1)); c.shl(v_e, imm(2));