ARM9: Fix LDMv5 writeback
Vicki Pfau vi@endrift.com
Sun, 19 Feb 2017 13:06:43 -0800
1 files changed,
4 insertions(+),
1 deletions(-)
jump to
M
src/arm/isa-arm.c
→
src/arm/isa-arm.c
@@ -262,7 +262,10 @@ if (!((1 << rn) & rs)) { \
cpu->gprs[rn] = address; \ } -#define ADDR_MODE_4_WRITEBACK_LDMv5 ADDR_MODE_4_WRITEBACK_LDM +#define ADDR_MODE_4_WRITEBACK_LDMv5 \ + if (!((1 << rn) & rs) || !(((1 << rn) - 1) & rs)) { \ + cpu->gprs[rn] = address; \ + } #define ADDR_MODE_4_WRITEBACK_STM cpu->gprs[rn] = address;