summaryrefslogtreecommitdiff
path: root/src/arch/arm/isa/operands.isa
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm/isa/operands.isa')
-rw-r--r--src/arch/arm/isa/operands.isa7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/arch/arm/isa/operands.isa b/src/arch/arm/isa/operands.isa
index 1a98a9087..a8b0b197a 100644
--- a/src/arch/arm/isa/operands.isa
+++ b/src/arch/arm/isa/operands.isa
@@ -70,10 +70,11 @@ let {{
'''
maybeAIWPCWrite = '''
if (%(reg_idx)s == PCReg) {
- if (xc->readPC() & (ULL(1) << PcTBitShift)) {
- setIWNextPC(xc, %(final_val)s);
- } else {
+ bool thumb = THUMB;
+ if (thumb) {
setNextPC(xc, %(final_val)s);
+ } else {
+ setIWNextPC(xc, %(final_val)s);
}
} else {
xc->%(func)s(this, %(op_idx)s, %(final_val)s);