* openrisc-asm.c: Regenerate.

* pj-opc.c: Update copyright date.
This commit is contained in:
Alan Modra 2003-12-04 11:07:22 +00:00
parent ccfa340233
commit 8f8077465d
3 changed files with 47 additions and 25 deletions

View File

@ -1,3 +1,8 @@
2003-12-04 Alan Modra <amodra@bigpond.net.au>
* openrisc-asm.c: Regenerate.
* pj-opc.c: Update copyright date.
2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
* m32r-asm.c: Regenerate.

View File

@ -60,7 +60,7 @@ long
openrisc_sign_extend_16bit (value)
long value;
{
return (long) (short) value;
return ((value & 0xffff) ^ 0x8000) - 0x8000;
}
/* Handle hi(). */
@ -74,15 +74,16 @@ parse_hi16 (cd, strp, opindex, valuep)
{
const char *errmsg;
enum cgen_parse_operand_result result_type;
bfd_vma value;
unsigned long ret;
if (**strp == '#')
++*strp;
if (strncasecmp (*strp, "hi(", 3) == 0)
{
*strp += 3;
bfd_vma value;
*strp += 3;
#if 0
errmsg = cgen_parse_signed_integer (cd, strp, opindex, valuep);
if (errmsg != NULL)
@ -92,23 +93,31 @@ parse_hi16 (cd, strp, opindex, valuep)
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_HI16,
&result_type, &value);
if (**strp != ')')
return "missing `)'";
return _("missing `)'");
++*strp;
if (errmsg == NULL
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
value >>= 16;
*valuep = (long) (short) value;
return errmsg;
ret = value;
}
else
{
if (**strp == '-')
errmsg = cgen_parse_signed_integer (cd, strp, opindex, (long *) &value);
{
long value;
errmsg = cgen_parse_signed_integer (cd, strp, opindex, &value);
ret = value;
}
else
errmsg = cgen_parse_unsigned_integer (cd, strp, opindex, (unsigned long *) &value);
{
unsigned long value;
errmsg = cgen_parse_unsigned_integer (cd, strp, opindex, &value);
ret = value;
}
}
*valuep = (long) (short) (value & 0xffff);
*valuep = ((ret & 0xffff) ^ 0x8000) - 0x8000;
return errmsg;
}
@ -123,15 +132,16 @@ parse_lo16 (cd, strp, opindex, valuep)
{
const char *errmsg;
enum cgen_parse_operand_result result_type;
bfd_vma value;
unsigned long ret;
if (**strp == '#')
++*strp;
if (strncasecmp (*strp, "lo(", 3) == 0)
{
*strp += 3;
bfd_vma value;
*strp += 3;
#if 0
errmsg = cgen_parse_signed_integer (cd, strp, opindex, valuep);
if (errmsg != NULL)
@ -142,21 +152,28 @@ parse_lo16 (cd, strp, opindex, valuep)
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_LO16,
&result_type, &value);
if (**strp != ')')
return "missing `)'";
++*strp;
if (errmsg == NULL
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
value &= 0xffff;
*valuep = (long) (short) value;
return _("missing `)'");
return errmsg;
++*strp;
ret = value;
}
else
{
if (**strp == '-')
{
long value;
errmsg = cgen_parse_signed_integer (cd, strp, opindex, &value);
ret = value;
}
else
{
unsigned long value;
errmsg = cgen_parse_unsigned_integer (cd, strp, opindex, &value);
ret = value;
}
}
if (**strp == '-')
errmsg = cgen_parse_signed_integer (cd, strp, opindex, (long *) &value);
else
errmsg = cgen_parse_unsigned_integer (cd, strp, opindex, (unsigned long *) &value);
*valuep = (long) (short) (value & 0xffff);
*valuep = ((ret & 0xffff) ^ 0x8000) - 0x8000;
return errmsg;
}

View File

@ -1,5 +1,5 @@
/* pj-opc.c -- Definitions for picoJava opcodes.
Copyright 1999, 2000 Free Software Foundation, Inc.
Copyright 1999, 2000, 2002 Free Software Foundation, Inc.
Contributed by Steve Chamberlain of Transmeta (sac@pobox.com).
This program is free software; you can redistribute it and/or modify