From 251799ddc71f7c4027d7317ec00c87189b499eb4 Mon Sep 17 00:00:00 2001 From: chedahub <2017000029@ushs.hs.kr> Date: Mon, 3 Nov 2025 18:00:35 +0900 Subject: Fix VLE ANDIx translation to always store result in destination register --- arch/powerpc/il.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/il.cpp b/arch/powerpc/il.cpp index 728b3069..67ce4b99 100644 --- a/arch/powerpc/il.cpp +++ b/arch/powerpc/il.cpp @@ -660,8 +660,9 @@ bool GetLowLevelILForPPCInstruction(Architecture *arch, LowLevelILFunction &il, // VLE instructions that get translated to ANDIx may // not have the rc bit set - if (instruction->flags.rc) - ei0 = il.SetRegister(addressSize_l, oper0->reg, ei0, IL_FLAGWRITE_CR0_S); + ei0 = il.SetRegister(addressSize_l, oper0->reg, ei0, + instruction->flags.rc ? IL_FLAGWRITE_CR0_S : 0 + ); il.AddInstruction(ei0); break; -- cgit v1.3.1