diff options
author | Aurelien Jarno <aurelien@aurel32.net> | 2011-01-06 22:43:13 +0100 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2011-01-10 07:30:30 +0100 |
commit | 0f11f25a001f6adca18689192182d415ff3dbb7c (patch) | |
tree | b829ea7108e50558b65f1300725a84b76934918f /target-sh4 | |
parent | a3e28aa5c748958e5719451aaff88a4d78e09a80 (diff) | |
download | hqemu-0f11f25a001f6adca18689192182d415ff3dbb7c.zip hqemu-0f11f25a001f6adca18689192182d415ff3dbb7c.tar.gz |
tcg/arm: improve constant loading
Improve constant loading in two ways:
- On all ARM versions, it's possible to load 0xffffff00 = -0x100 using
the mvn rd, #0. Fix the conditions.
- On <= ARMv6 versions, where movw and movt are not available, load the
constants using mov and orr with rotations depending on the constant
to load. This is very useful for example to load constants where the
low byte is 0. This reduce the generated code size by about 7%.
Also fix the coding style at the same time.
Cc: Andrzej Zaborowski <balrog@zabor.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'target-sh4')
0 files changed, 0 insertions, 0 deletions