From fbf224e02359a07be85a80747feb16f1d11918c8 Mon Sep 17 00:00:00 2001 From: merry Date: Sun, 13 Feb 2022 19:40:53 +0000 Subject: [PATCH] fixup! T16: Implement IT --- ARMeilleure/Translation/ArmEmitterContext.cs | 2 +- ARMeilleure/Translation/Translator.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ARMeilleure/Translation/ArmEmitterContext.cs b/ARMeilleure/Translation/ArmEmitterContext.cs index a3e825c5e..2383b5c42 100644 --- a/ARMeilleure/Translation/ArmEmitterContext.cs +++ b/ARMeilleure/Translation/ArmEmitterContext.cs @@ -55,7 +55,7 @@ namespace ARMeilleure.Translation public bool HighCq { get; } public Aarch32Mode Mode { get; } - public bool IsInIfThenBlock { get { return IfThenBlockState.Length > 0; } } + public bool IsInIfThenBlock { get { return IfThenBlockState != null && IfThenBlockState.Length > 0; } } public Condition CurrentIfThenBlockCond { get { return IfThenBlockState[0]; } } public Condition[] IfThenBlockState { get; set; } diff --git a/ARMeilleure/Translation/Translator.cs b/ARMeilleure/Translation/Translator.cs index 0f6046c62..c9779bf56 100644 --- a/ARMeilleure/Translation/Translator.cs +++ b/ARMeilleure/Translation/Translator.cs @@ -380,7 +380,7 @@ namespace ARMeilleure.Translation Operand lblPredicateSkip = default; - if (context.IsInIfThenBlock) + if (context.IsInIfThenBlock && context.CurrentIfThenBlockCond != Condition.Al) { lblPredicateSkip = Label();