diff options
Diffstat (limited to 'sim/arm')
-rw-r--r-- | sim/arm/ChangeLog | 5 | ||||
-rw-r--r-- | sim/arm/armemu.c | 12 |
2 files changed, 13 insertions, 4 deletions
diff --git a/sim/arm/ChangeLog b/sim/arm/ChangeLog index 78f0f3b..8babf09 100644 --- a/sim/arm/ChangeLog +++ b/sim/arm/ChangeLog @@ -1,3 +1,8 @@ +2013-05-07 Jayant Sonar <jayant.sonar@kpitcummins.com> + Kaushik Phatak <Kaushik.Phatak@kpitcummins.com> + + * armemu.c (ARMul_Emulate32): Emulate instructions MOVW and MOVT. + 2012-12-19 Joel Brobecker <brobecker@adacore.com> * COPYING: Update to GPL version 3. diff --git a/sim/arm/armemu.c b/sim/arm/armemu.c index e728813..20a36bc 100644 --- a/sim/arm/armemu.c +++ b/sim/arm/armemu.c @@ -2315,8 +2315,10 @@ check_PMUintr: WRITESDEST (dest); break; - case 0x30: /* TST immed */ - UNDEF_Test; + case 0x30: /* MOVW immed */ + dest = BITS (0, 11); + dest |= (BITS (16, 19) << 12); + WRITEDEST (dest); break; case 0x31: /* TSTP immed */ @@ -2368,8 +2370,10 @@ check_PMUintr: } break; - case 0x34: /* CMP immed */ - UNDEF_Test; + case 0x34: /* MOVT immed */ + dest = BITS (0, 11); + dest |= (BITS (16, 19) << 12); + DEST |= (dest << 16); break; case 0x35: /* CMPP immed */ |