summaryrefslogtreecommitdiff
path: root/src/arch/arm/isa/decoder
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2010-06-02 12:58:02 -0500
committerGabe Black <gblack@eecs.umich.edu>2010-06-02 12:58:02 -0500
commit1e7b317a988f5c23a828204451d567055f11afe3 (patch)
treee68d78d28c03de0ad6509a5024977cffcd0165ef /src/arch/arm/isa/decoder
parent64d6b6ebfd4da3c4facb9f584a362949eed6a1ed (diff)
downloadgem5-1e7b317a988f5c23a828204451d567055f11afe3.tar.xz
ARM: Hook up 32 bit thumb load/store multiple.
Diffstat (limited to 'src/arch/arm/isa/decoder')
-rw-r--r--src/arch/arm/isa/decoder/thumb.isa18
1 files changed, 4 insertions, 14 deletions
diff --git a/src/arch/arm/isa/decoder/thumb.isa b/src/arch/arm/isa/decoder/thumb.isa
index 7fb8dd854..dfaca8f42 100644
--- a/src/arch/arm/isa/decoder/thumb.isa
+++ b/src/arch/arm/isa/decoder/thumb.isa
@@ -166,13 +166,8 @@
default: WarnUnimpl::ldrd(); // immediate
}
}
- 0x2: decode HTOPCODE_4 {
- 0x0: WarnUnimpl::stm(); // stmia, stmea
- 0x1: decode HTRN {
- 0xd: WarnUnimpl::pop();
- default: WarnUnimpl::ldm(); // ldmia, ldmfd
- }
- }
+ // This uses the same encoding as regular ARM.
+ 0x2: ArmMacroMem::armMacroMem();
0x3: decode HTOPCODE_5_4 {
0x0: decode LTOPCODE_7_4 {
0x4: WarnUnimpl::strexb();
@@ -192,13 +187,8 @@
default: WarnUnimpl::ldrd(); // immediate
}
}
- 0x4: decode HTOPCODE_4 {
- 0x0: decode HTRN {
- 0xd: WarnUnimpl::push();
- default: WarnUnimpl::stmdb(); // stmfd
- }
- 0x1: WarnUnimpl::ldmdb(); // ldmea
- }
+ // This uses the same encoding as regular ARM.
+ 0x4: ArmMacroMem::armMacroMem();
0x5, 0x7: decode HTOPCODE_4 {
0x0: WarnUnimpl::strd(); // immediate
0x1: decode HTRN {