Call Flag as int on A32
This commit is contained in:
parent
61c29e6cdf
commit
edc34a7180
2 changed files with 3 additions and 3 deletions
|
@ -68,7 +68,7 @@ namespace ARMeilleure.Instructions
|
||||||
|
|
||||||
Operand addr = GetIntA32(context, op.Rm);
|
Operand addr = GetIntA32(context, op.Rm);
|
||||||
Operand bitOne = context.BitwiseAnd(addr, Const(1));
|
Operand bitOne = context.BitwiseAnd(addr, Const(1));
|
||||||
addr = context.BitwiseOr(addr, Const(CallFlag)); // Set call flag.
|
addr = context.BitwiseOr(addr, Const((int)CallFlag)); // Set call flag.
|
||||||
|
|
||||||
bool isThumb = IsThumb(context.CurrOp);
|
bool isThumb = IsThumb(context.CurrOp);
|
||||||
|
|
||||||
|
|
|
@ -155,11 +155,11 @@ namespace ARMeilleure.Instructions
|
||||||
context.BranchIfTrue(lblArmMode, mode);
|
context.BranchIfTrue(lblArmMode, mode);
|
||||||
|
|
||||||
// Make this count as a call, the translator will ignore the low bit for the address.
|
// Make this count as a call, the translator will ignore the low bit for the address.
|
||||||
context.Return(context.ZeroExtend32(OperandType.I64, context.BitwiseOr(pc, Const(InstEmitFlowHelper.CallFlag))));
|
context.Return(context.ZeroExtend32(OperandType.I64, context.BitwiseOr(pc, Const((int)InstEmitFlowHelper.CallFlag))));
|
||||||
|
|
||||||
context.MarkLabel(lblArmMode);
|
context.MarkLabel(lblArmMode);
|
||||||
|
|
||||||
context.Return(context.ZeroExtend32(OperandType.I64, context.BitwiseOr(context.BitwiseAnd(pc, Const(~3)), Const(InstEmitFlowHelper.CallFlag))));
|
context.Return(context.ZeroExtend32(OperandType.I64, context.BitwiseOr(context.BitwiseAnd(pc, Const(~3)), Const((int)InstEmitFlowHelper.CallFlag))));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Operand GetIntOrZR(ArmEmitterContext context, int regIndex)
|
public static Operand GetIntOrZR(ArmEmitterContext context, int regIndex)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue