summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Gierth <andrew@tao11.riddles.org.uk>2020-06-19 17:07:34 +0100
committerLudovic Courtès <ludo@gnu.org>2020-06-20 15:57:06 +0200
commit1bb909a44d2303f88bb05125fc6742e97f80cd1d (patch)
treecf4b2edd474e216d7cd3b0ce2dc972b21acacf2c
parent2c0fdb045ee4682d797ae6915eb58229a3784d39 (diff)
downloadguile-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.c2
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) &&