summaryrefslogtreecommitdiff
path: root/src/arch/arm/isa/decoder.isa
diff options
context:
space:
mode:
authorJack Whitman <jack-m5ml2@cs.york.ac.uk>2009-06-24 21:22:46 -0700
committerJack Whitman <jack-m5ml2@cs.york.ac.uk>2009-06-24 21:22:46 -0700
commit853a0858f33e6d27c1b3bc1a7cb29636a82e7663 (patch)
tree7a01f9cecf1546ea2ab7f15e8026829c45c67be8 /src/arch/arm/isa/decoder.isa
parent6dd42728040751dec6f83d7bd89a2b33f2339fc6 (diff)
downloadgem5-853a0858f33e6d27c1b3bc1a7cb29636a82e7663.tar.xz
ARM: Link register is trashed by non-executed branch and link operations.
Diffstat (limited to 'src/arch/arm/isa/decoder.isa')
-rw-r--r--src/arch/arm/isa/decoder.isa4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/arch/arm/isa/decoder.isa b/src/arch/arm/isa/decoder.isa
index af325b57a..20f5b99f0 100644
--- a/src/arch/arm/isa/decoder.isa
+++ b/src/arch/arm/isa/decoder.isa
@@ -246,7 +246,7 @@ decode COND_CODE default Unknown::unknown() {
}});
}
0x3: decode OPCODE_24_21 {
- 0x9: BranchExchange::blx({{ LR = NPC; }});
+ 0x9: BranchExchange::blx({{ }}, Link);
}
}
}
@@ -661,7 +661,7 @@ decode COND_CODE default Unknown::unknown() {
0x5: decode OPCODE_24 {
// Branch (and Link) Instructions
0: Branch::b({{ }});
- 1: Branch::bl({{ LR = NPC; }});
+ 1: Branch::bl({{ }}, Link);
}
0x6: decode CPNUM {
0x1: decode PUNWL {