summaryrefslogtreecommitdiff
path: root/arch/arm64/il.cpp
diff options
context:
space:
mode:
authorGalen Williamson <galen@vector35.com>2025-04-09 20:40:21 -0400
committerGalen Williamson <galen@vector35.com>2025-04-09 20:40:21 -0400
commit7168283c96afcce608fd1ee3241cd63dbe5dd09e (patch)
treef1ebb423b4bc7fd4e4708ba6e7142c090203cf43 /arch/arm64/il.cpp
parenteeb7cf79184094cd78847a7ed568daf263e63c97 (diff)
[aarch64] add lifting for B.NV instruction, fix branch generation for B.AL and B.NV, fix AlwaysBranch patching to generate a valid B instruction
Diffstat (limited to 'arch/arm64/il.cpp')
-rw-r--r--arch/arm64/il.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm64/il.cpp b/arch/arm64/il.cpp
index 31c7f094..6dd1afe1 100644
--- a/arch/arm64/il.cpp
+++ b/arch/arm64/il.cpp
@@ -1422,6 +1422,10 @@ bool GetLowLevelILForInstruction(
case ARM64_BTI:
il.AddInstruction(il.Intrinsic({}, ARM64_INTRIN_HINT_BTI, {}));
break;
+
+ case ARM64_B_NV:
+ il.AddInstruction(DirectJump(arch, il, addr + 4, addrSize));
+ break;
case ARM64_B:
case ARM64_B_AL:
il.AddInstruction(DirectJump(arch, il, IMM_O(operand1), addrSize));