ARM: Fix identification of one RAS pop instruction.

The check should be with the op2 field, not with the op1 field.
This commit is contained in:
Ali Saidi
2012-06-29 11:18:29 -04:00
parent 8d1e56bdcd
commit 71daeb0b2b
2 changed files with 5 additions and 4 deletions

View File

@@ -293,7 +293,7 @@ let {{
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",

View File

@@ -115,11 +115,12 @@ def template DataRegConstructor {{
flags[IsUncondControl] = true;
else
flags[IsCondControl] = true;
if (%(is_ras_pop)s) {
flags[IsReturn] = true;
}
}
if (%(is_ras_pop)s) {
flags[IsReturn] = true;
}
}
}};