sim: arm: add support for MOVW and MOVT instructions
authorMike Frysinger <vapier@gentoo.org>
Wed, 15 May 2013 17:49:44 +0000 (17:49 +0000)
committerMike Frysinger <vapier@gentoo.org>
Wed, 15 May 2013 17:49:44 +0000 (17:49 +0000)
commit590919de6c670394fb3bc42bd99e559f04ee8edc
tree72bc0c171d223c6cc7dfb42118e2608d5585a418
parented0f00b834265be723abc3fba882804bfc1f8f71
sim: arm: add support for MOVW and MOVT instructions

From: Jayant R. Sonar <Jayant.Sonar@kpitcummins.com>

This patch adds simulator support for handling the armv7 instructions
'movw (immediate)' and 'movt'.

Compiler frequently use these instructions to load the 32bit addresses of
global variables, string pointers etc. into the general registers.

In absence of support of these instructions:
1. GDB run simulator fails to print even simple "hello world" string
   on console.
2. Loading of global variable addresses into the registers fail causing
   arithmetic operation failures.

Patch has been regression tested for arm-none-eabi (-march=armv7-a).
sim/arm/ChangeLog
sim/arm/armemu.c
sim/testsuite/sim/arm/ChangeLog
sim/testsuite/sim/arm/movw-movt.ms [new file with mode: 0644]