Fix bug parsing shigh(0xffff8000)

This commit is contained in:
Nick Clifton 2004-03-30 09:29:19 +00:00
parent 7cc69913c2
commit f4453dfa0a
4 changed files with 20 additions and 9 deletions

View File

@ -1,3 +1,7 @@
2004-03-30 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
* m32r.opc (parse_hi16): Fixed shigh(0xffff8000) bug.
2004-03-01 Richard Sandiford <rsandifo@redhat.com>
* frv.cpu (define-arch frv): Add fr450 mach.

View File

@ -1,6 +1,6 @@
/* M32R opcode support. -*- C -*-
Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
Copyright 1998, 1999, 2000, 2001, 2004 Free Software Foundation, Inc.
Contributed by Red Hat Inc; developed under contract from
Mitsubishi Electric Corporation.
@ -23,9 +23,7 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* This file is an addendum to m32r.cpu. Heavy use of C code isn't
appropriate in .cpu files, so it resides here. This especially applies
@ -40,8 +38,7 @@
<arch>-opc.c additions use: "-- opc.c"
<arch>-asm.c additions use: "-- asm.c"
<arch>-dis.c additions use: "-- dis.c"
<arch>-ibd.h additions use: "-- ibd.h"
*/
<arch>-ibd.h additions use: "-- ibd.h" */
/* -- opc.h */
@ -153,7 +150,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;
}

View File

@ -1,3 +1,7 @@
2004-03-30 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
* m32r-asm.c: Regenerate.
2004-03-29 Stan Shebs <shebs@apple.com>
* mpw-config.in, mpw-make.sed: Remove MPW support files, no longer

View File

@ -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;
}