From 4795f742426515a660c74a4010836ac5c3f3e4c7 Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Thu, 22 Aug 2024 12:43:18 -0400 Subject: Fix getting incorrect S and D registers in lifted il --- arch/armv7/thumb2_disasm/il_thumb2.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/armv7/thumb2_disasm/il_thumb2.cpp b/arch/armv7/thumb2_disasm/il_thumb2.cpp index aec37ed1..2d0abe74 100644 --- a/arch/armv7/thumb2_disasm/il_thumb2.cpp +++ b/arch/armv7/thumb2_disasm/il_thumb2.cpp @@ -16,11 +16,11 @@ bool GetLowLevelILForNEONInstruction(Architecture* arch, LowLevelILFunction& il, static uint32_t GetRegisterByIndex(uint32_t i, const char* prefix = "") { if (strcmp(prefix, "s") == 0) - return REG_R0 + (i/2) + (i%2) + REG_S0; + return REG_S0 + i; if (strcmp(prefix, "d") == 0) - return REG_R0 + (i/2) + (i%2) + REG_D0; + return REG_D0 + i; if (strcmp(prefix, "q") == 0) - return REG_R0 + (i/2) + (i%2) + REG_Q0; + return REG_R0 + (i/2) + (i%2) + REG_Q0; // TODO: This might be the same as above. return REG_R0 + i; } -- cgit v1.3.1