summaryrefslogtreecommitdiff
path: root/opcodes/m32r-asm.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2004-03-30 09:29:19 +0000
committerNick Clifton <nickc@redhat.com>2004-03-30 09:29:19 +0000
commitbb9bce30158f17b8223769090c717f66fe5157d4 (patch)
tree60bd0054cf53ab6c4444e9edfc6bcfc8033ce73b /opcodes/m32r-asm.c
parent3e1fce47b168b0cd71ef854243eec22a8faa6d6b (diff)
downloadbinutils-redhat-bb9bce30158f17b8223769090c717f66fe5157d4.tar.gz
Fix bug parsing shigh(0xffff8000)
Diffstat (limited to 'opcodes/m32r-asm.c')
-rw-r--r--opcodes/m32r-asm.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/opcodes/m32r-asm.c b/opcodes/m32r-asm.c
index 8c2cc81ea8..87c33f04cd 100644
--- a/opcodes/m32r-asm.c
+++ b/opcodes/m32r-asm.c
@@ -4,7 +4,7 @@
THIS FILE IS MACHINE GENERATED WITH CGEN.
- the resultant file is machine generated, cgen-asm.in isn't
-Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2004 Free Software Foundation, Inc.
This file is part of the GNU Binutils and GDB, the GNU debugger.
@@ -111,7 +111,10 @@ parse_hi16 (cd, strp, opindex, valuep)
++*strp;
if (errmsg == NULL
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value = (value >> 16) + (value & 0x8000 ? 1 : 0);
+ {
+ value = value + (value & 0x8000 ? 0x10000 : 0);
+ value >>= 16;
+ }
*valuep = value;
return errmsg;
}