diff options
author | Nathanael Premillieu <nathanael.premillieu@irisa.fr> | 2012-12-12 09:50:33 -0600 |
---|---|---|
committer | Nathanael Premillieu <nathanael.premillieu@irisa.fr> | 2012-12-12 09:50:33 -0600 |
commit | 3026a116baf0dd31ba42f6aa4027e314f9a00905 (patch) | |
tree | bcf6abb5281a1e1dd0d08d507173a78907668e47 /src | |
parent | 84fc57bfe6b5a9130d7ed27ee1e3fc1e06f80d08 (diff) | |
download | gem5-3026a116baf0dd31ba42f6aa4027e314f9a00905.tar.xz |
arm: set uopSet_uop as conditional or unconditional control
uopSet_uop is microop instruction that has the IsControl flags set, but the
IsCondControl or IsUncondControl flags seems not to be set, neither in
the construction nor where the microop is used. This patch adds the the
flags in the constructor of the instruction (MicroUopSetPCCPSR).
Committed by: Nilay Vaish <nilay@cs.wisc.edu>
Diffstat (limited to 'src')
-rw-r--r-- | src/arch/arm/isa/templates/macromem.isa | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/arch/arm/isa/templates/macromem.isa b/src/arch/arm/isa/templates/macromem.isa index a62dec5cf..195204a95 100644 --- a/src/arch/arm/isa/templates/macromem.isa +++ b/src/arch/arm/isa/templates/macromem.isa @@ -135,9 +135,12 @@ def template MicroSetPCCPSRConstructor {{ { %(constructor)s; if (!(condCode == COND_AL || condCode == COND_UC)) { + flags[IsCondControl] = true; for (int x = 0; x < _numDestRegs; x++) { _srcRegIdx[_numSrcRegs++] = _destRegIdx[x]; } + } else { + flags[IsUncondControl] = true; } } }}; |