ARM: fix some cases where instructions that write to fp reg 15 are accidently branches.
This commit is contained in:
parent
af8eb67fb4
commit
f4fd12d49e
|
@ -1122,7 +1122,7 @@ def template LoadRegConstructor {{
|
|||
#if %(use_uops)d
|
||||
assert(numMicroops >= 2);
|
||||
uops = new StaticInstPtr[numMicroops];
|
||||
if (_dest == INTREG_PC) {
|
||||
if (_dest == INTREG_PC && !isFloating()) {
|
||||
IntRegIndex wbIndexReg = index;
|
||||
uops[0] = new %(acc_name)s(machInst, INTREG_UREG0, _base, _add,
|
||||
_shiftAmt, _shiftType, _index);
|
||||
|
@ -1156,7 +1156,7 @@ def template LoadRegConstructor {{
|
|||
|
||||
}
|
||||
#else
|
||||
if (_dest == INTREG_PC) {
|
||||
if (_dest == INTREG_PC && !isFloating()) {
|
||||
flags[IsControl] = true;
|
||||
flags[IsIndirectControl] = true;
|
||||
if (conditional)
|
||||
|
@ -1185,7 +1185,7 @@ def template LoadImmConstructor {{
|
|||
#if %(use_uops)d
|
||||
assert(numMicroops >= 2);
|
||||
uops = new StaticInstPtr[numMicroops];
|
||||
if (_dest == INTREG_PC) {
|
||||
if (_dest == INTREG_PC && !isFloating()) {
|
||||
uops[0] = new %(acc_name)s(machInst, INTREG_UREG0, _base, _add,
|
||||
_imm);
|
||||
uops[0]->setDelayedCommit();
|
||||
|
@ -1208,7 +1208,7 @@ def template LoadImmConstructor {{
|
|||
uops[1]->setLastMicroop();
|
||||
}
|
||||
#else
|
||||
if (_dest == INTREG_PC) {
|
||||
if (_dest == INTREG_PC && !isFloating()) {
|
||||
flags[IsControl] = true;
|
||||
flags[IsIndirectControl] = true;
|
||||
if (conditional)
|
||||
|
|
|
@ -77,7 +77,7 @@ def template DataImmConstructor {{
|
|||
}
|
||||
}
|
||||
|
||||
if (%(is_branch)s){
|
||||
if (%(is_branch)s && !isFloating()){
|
||||
flags[IsControl] = true;
|
||||
flags[IsIndirectControl] = true;
|
||||
if (condCode == COND_AL || condCode == COND_UC)
|
||||
|
@ -117,7 +117,7 @@ def template DataRegConstructor {{
|
|||
}
|
||||
}
|
||||
|
||||
if (%(is_branch)s){
|
||||
if (%(is_branch)s && !isFloating()){
|
||||
flags[IsControl] = true;
|
||||
flags[IsIndirectControl] = true;
|
||||
if (condCode == COND_AL || condCode == COND_UC)
|
||||
|
|
Loading…
Reference in a new issue