Merge pull request #1163 from FioraAeterna/fixbranchmerge2

JIT: fix branch merging, take 2
This commit is contained in:
skidau 2014-09-26 15:38:15 +10:00
commit 943383c30e

View File

@ -612,6 +612,7 @@ void Jit64::boolX(UGeckoInstruction inst)
gpr.KillImmediate(a, true, true); gpr.KillImmediate(a, true, true);
} }
NOT(32, gpr.R(a)); NOT(32, gpr.R(a));
needs_test = true;
} }
else if ((inst.SUBOP10 == 412 /* orcx */) || (inst.SUBOP10 == 284 /* eqvx */)) else if ((inst.SUBOP10 == 412 /* orcx */) || (inst.SUBOP10 == 284 /* eqvx */))
{ {
@ -640,6 +641,7 @@ void Jit64::boolX(UGeckoInstruction inst)
{ {
AND(32, gpr.R(a), operand); AND(32, gpr.R(a), operand);
NOT(32, gpr.R(a)); NOT(32, gpr.R(a));
needs_test = true;
} }
else if (inst.SUBOP10 == 60) // andcx else if (inst.SUBOP10 == 60) // andcx
{ {
@ -663,6 +665,7 @@ void Jit64::boolX(UGeckoInstruction inst)
{ {
OR(32, gpr.R(a), operand); OR(32, gpr.R(a), operand);
NOT(32, gpr.R(a)); NOT(32, gpr.R(a));
needs_test = true;
} }
else if (inst.SUBOP10 == 412) // orcx else if (inst.SUBOP10 == 412) // orcx
{ {
@ -707,6 +710,7 @@ void Jit64::boolX(UGeckoInstruction inst)
MOV(32, gpr.R(a), gpr.R(s)); MOV(32, gpr.R(a), gpr.R(s));
AND(32, gpr.R(a), gpr.R(b)); AND(32, gpr.R(a), gpr.R(b));
NOT(32, gpr.R(a)); NOT(32, gpr.R(a));
needs_test = true;
} }
else if (inst.SUBOP10 == 60) // andcx else if (inst.SUBOP10 == 60) // andcx
{ {
@ -724,6 +728,7 @@ void Jit64::boolX(UGeckoInstruction inst)
MOV(32, gpr.R(a), gpr.R(s)); MOV(32, gpr.R(a), gpr.R(s));
OR(32, gpr.R(a), gpr.R(b)); OR(32, gpr.R(a), gpr.R(b));
NOT(32, gpr.R(a)); NOT(32, gpr.R(a));
needs_test = true;
} }
else if (inst.SUBOP10 == 412) // orcx else if (inst.SUBOP10 == 412) // orcx
{ {