AInstEmitAluHelper: Simplify EmitAddsVCheck

This commit is contained in:
MerryMage 2018-02-14 21:14:47 +00:00
commit 5992ce244a

View file

@ -21,22 +21,13 @@ namespace ChocolArm64.Instruction
public static void EmitAddsVCheck(AILEmitterCtx Context) public static void EmitAddsVCheck(AILEmitterCtx Context)
{ {
//V = (Rd ^ Rn) & (Rd ^ Rm) & ~(Rn ^ Rm) < 0 //V = (Rd ^ Rn) & ~(Rn ^ Rm) < 0
Context.EmitSttmp(); Context.Emit(OpCodes.Dup);
Context.EmitLdtmp();
Context.EmitLdtmp();
EmitDataLoadRn(Context); EmitDataLoadRn(Context);
Context.Emit(OpCodes.Xor); Context.Emit(OpCodes.Xor);
Context.EmitLdtmp();
EmitDataLoadOper2(Context);
Context.Emit(OpCodes.Xor);
Context.Emit(OpCodes.And);
EmitDataLoadOpers(Context); EmitDataLoadOpers(Context);
Context.Emit(OpCodes.Xor); Context.Emit(OpCodes.Xor);