diff options
author | Andrew Gierth <andrew@tao11.riddles.org.uk> | 2020-06-19 17:07:34 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-06-20 15:57:06 +0200 |
commit | 1bb909a44d2303f88bb05125fc6742e97f80cd1d (patch) | |
tree | cf4b2edd474e216d7cd3b0ce2dc972b21acacf2c | |
parent | 2c0fdb045ee4682d797ae6915eb58229a3784d39 (diff) | |
download | guile-1bb909a44d2303f88bb05125fc6742e97f80cd1d.tar.gz |
Fix ARMv7 THUMB encoding for immediates.
* lightening/arm-cpu.c (encode_thumb_immediate): Fix return value in
third case.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | lightening/arm-cpu.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lightening/arm-cpu.c b/lightening/arm-cpu.c index 4445266af..2b4eecc29 100644 --- a/lightening/arm-cpu.c +++ b/lightening/arm-cpu.c @@ -230,7 +230,7 @@ encode_thumb_immediate(unsigned int v) return ((v & 0xff) | (1 << 12)); /* abcdefgh 00000000 abcdefgh 00000000 */ if (((v & 0xffff0000) >> 16) == (v & 0xffff) && (v & 0xff) == 0) - return ((v & 0x000000ff) | (2 << 12)); + return (((v & 0x0000ff00) >> 8) | (2 << 12)); /* abcdefgh abcdefgh abcdefgh abcdefgh */ if ( (v & 0xff) == ((v & 0xff00) >> 8) && ((v & 0xff00) >> 8) == ((v & 0xff0000) >> 16) && |