changeset 35198406dd72 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=35198406dd72
description:
        arm: set ldr_ret_uop as conditional or unconditional control
        This patch adds a missing flag to the ldr_ret_uop microop instruction.
        The flag is added when the instruction is used, not directly in the
        constructor of the instruction.

        Committed by: Nilay Vaish <[email protected]>"

diffstat:

 src/arch/arm/insts/macromem.cc |  4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diffs (14 lines):

diff -r a1609f47cb83 -r 35198406dd72 src/arch/arm/insts/macromem.cc
--- a/src/arch/arm/insts/macromem.cc    Wed Apr 17 16:06:58 2013 -0500
+++ b/src/arch/arm/insts/macromem.cc    Wed Apr 17 16:07:10 2013 -0500
@@ -110,6 +110,10 @@
                     // This must be the exception return form of ldm.
                     *++uop = new MicroLdrRetUop(machInst, regIdx,
                                                INTREG_UREG0, up, addr);
+                    if (!(condCode == COND_AL || condCode == COND_UC))
+                        (*uop)->setFlag(StaticInst::IsCondControl);
+                    else
+                        (*uop)->setFlag(StaticInst::IsUncondControl);
                 } else {
                     *++uop = new MicroLdrUop(machInst, regIdx,
                                             INTREG_UREG0, up, addr);
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to