OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [opcodes/] [cgen-asm.c] - Diff between revs 18 and 166

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 18 Rev 166
Line 1... Line 1...
/* CGEN generic assembler support code.
/* CGEN generic assembler support code.
   Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2007
   Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2007,
   Free Software Foundation, Inc.
   2011  Free Software Foundation, Inc.
 
 
   This file is part of libopcodes.
   This file is part of libopcodes.
 
 
   This library is free software; you can redistribute it and/or modify
   This library is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   it under the terms of the GNU General Public License as published by
Line 266... Line 266...
  errmsg = (* cd->parse_operand_fn)
  errmsg = (* cd->parse_operand_fn)
    (cd, CGEN_PARSE_OPERAND_INTEGER, strp, opindex, BFD_RELOC_NONE,
    (cd, CGEN_PARSE_OPERAND_INTEGER, strp, opindex, BFD_RELOC_NONE,
     &result, &value);
     &result, &value);
  /* FIXME: Examine `result'.  */
  /* FIXME: Examine `result'.  */
  if (!errmsg)
  if (!errmsg)
 
    {
 
      /* Handle the case where a hex value is parsed on a 64-bit host.
 
         A value like 0xffffe000 is clearly intended to be a negative
 
         16-bit value, but on a 64-bit host it will be parsed by gas
 
         as 0x00000000ffffe000.
 
 
 
         The shifts below are designed not to produce compile time
 
         warnings on a 32-bit host.  */
 
      if (sizeof (value) > 4
 
          && result == CGEN_PARSE_OPERAND_RESULT_NUMBER
 
          && value > 0
 
          && (value & 0x80000000)
 
          && ((value >> 31) == 1))
 
        value |= -1 << 31;
 
 
    *valuep = value;
    *valuep = value;
 
    }
  return errmsg;
  return errmsg;
}
}
 
 
/* Parse a small unsigned integer parser.
/* Parse a small unsigned integer parser.
   ??? VALUEP is not a bfd_vma * on purpose, though this is confusing.
   ??? VALUEP is not a bfd_vma * on purpose, though this is confusing.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.