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