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:
@@ -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",
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user