summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2010-06-02 12:58:01 -0500
committerGabe Black <gblack@eecs.umich.edu>2010-06-02 12:58:01 -0500
commit79b288f7b5c81f37d1b33470a1144d52efafb496 (patch)
tree39544a5e329024cfcf27ceaa831ad219297cf1d8 /src/arch
parenta86491fbf27588356b8a4463d967b6e6358d83cb (diff)
downloadgem5-79b288f7b5c81f37d1b33470a1144d52efafb496.tar.xz
ARM: Force the condition code for 16 bit thumb instructions to be unconditional.
Before, because 16 bit thumb instructions didn't set the upper 16 bits of the ExtMachInst, that field would be interpretted as "equals".
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/arm/predecoder.hh2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/arch/arm/predecoder.hh b/src/arch/arm/predecoder.hh
index 2438f0378..63da78dd7 100644
--- a/src/arch/arm/predecoder.hh
+++ b/src/arch/arm/predecoder.hh
@@ -126,6 +126,8 @@ namespace ArmISA
DPRINTF(Predecoder, "16 bit Thumb.\n");
offset += 2;
emi.instBits = word;
+ // Set the condition code field artificially.
+ emi.condCode = COND_UC;
}
}
}