changeset e236675714a4 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=e236675714a4
description:
        ARM: Fix identification of one RAS pop instruction.

        The check should be with the op2 field, not with the op1 field.

diffstat:

 src/arch/arm/isa/insts/data.isa     |  2 +-
 src/arch/arm/isa/templates/pred.isa |  7 ++++---
 2 files changed, 5 insertions(+), 4 deletions(-)

diffs (31 lines):

diff -r fefce4388397 -r e236675714a4 src/arch/arm/isa/insts/data.isa
--- a/src/arch/arm/isa/insts/data.isa   Fri Jun 29 11:18:29 2012 -0400
+++ b/src/arch/arm/isa/insts/data.isa   Fri Jun 29 11:18:29 2012 -0400
@@ -293,7 +293,7 @@
     buildDataInst("orr", "Dest = resTemp = Op1 | secondOp;")
     buildDataInst("orn", "Dest = resTemp = Op1 | ~secondOp;", aiw = False)
     buildDataInst("mov", "Dest = resTemp = secondOp;", regRegAiw = False,
-                  isRasPop = "op1 == INTREG_LR", isBranch = "dest == 
INTREG_PC")
+                  isRasPop = "op2 == INTREG_LR", isBranch = "dest == 
INTREG_PC")
     buildDataInst("bic", "Dest = resTemp = Op1 & ~secondOp;")
     buildDataInst("mvn", "Dest = resTemp = ~secondOp;")
     buildDataInst("movt",
diff -r fefce4388397 -r e236675714a4 src/arch/arm/isa/templates/pred.isa
--- a/src/arch/arm/isa/templates/pred.isa       Fri Jun 29 11:18:29 2012 -0400
+++ b/src/arch/arm/isa/templates/pred.isa       Fri Jun 29 11:18:29 2012 -0400
@@ -115,11 +115,12 @@
                 flags[IsUncondControl] = true;
             else
                 flags[IsCondControl] = true;
+
+            if (%(is_ras_pop)s) {
+                flags[IsReturn] = true;
+            }
         }
 
-        if (%(is_ras_pop)s) {
-            flags[IsReturn] = true;
-        }
     }
 }};
 
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to