arch-arm: fix ldm of pc interswitching branch
authorGedare Bloom <gedare@rtems.org>
Wed, 24 May 2017 22:35:50 +0000 (18:35 -0400)
committerGedare Bloom <gedare@rtems.org>
Thu, 13 Jul 2017 16:39:17 +0000 (16:39 +0000)
commitc473bdb8916528be4ff896c5e9378e6200f68939
tree864c63152be19a795889bb3bcd5e48786028cf49
parentfc575f8266149c78b29bcbe12ab86ccb7614ffbf
arch-arm: fix ldm of pc interswitching branch

The LDM instruction that loads to the PC causes a branch to the
instruction. In ARMv5T+ the branch can interswitch Thumb and ARM modes.
The interswitch is broken prior to this commit, with LDM to the PC
ignoring the switch.

Change-Id: I6aad073206743f3435c9923e3e2218bfe32c7e05
Reviewed-on: https://gem5-review.googlesource.com/3520
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
src/arch/arm/isa/insts/macromem.isa
src/arch/arm/isa/operands.isa