From 84fc57bfe6b5a9130d7ed27ee1e3fc1e06f80d08 Mon Sep 17 00:00:00 2001 From: Nathanael Premillieu Date: Wed, 12 Dec 2012 09:50:16 -0600 Subject: arm: set movret_uop as conditional or unconditional control A flag was missing for the movret_uop microop instruction. This patch adds that flag when the instruction is used, not directly in the constructor of the instruction. Committed by: Nilay Vaish --- src/arch/arm/insts/macromem.cc | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/arch/arm/insts/macromem.cc') diff --git a/src/arch/arm/insts/macromem.cc b/src/arch/arm/insts/macromem.cc index d05ac7728..decd194c4 100644 --- a/src/arch/arm/insts/macromem.cc +++ b/src/arch/arm/insts/macromem.cc @@ -145,6 +145,10 @@ MacroMemOp::MacroMemOp(const char *mnem, ExtMachInst machInst, // register. if (load && reg == INTREG_PC && exception_ret) { *++uop = new MicroUopRegMovRet(machInst, 0, INTREG_UREG1); + if (!(condCode == COND_AL || condCode == COND_UC)) + (*uop)->setFlag(StaticInst::IsCondControl); + else + (*uop)->setFlag(StaticInst::IsUncondControl); } else if (load) { *++uop = new MicroUopRegMov(machInst, regIdx, INTREG_UREG1); if (reg == INTREG_PC) { -- cgit v1.2.3