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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-6.8/] [opcodes/] [mep-asm.c] - Diff between revs 157 and 225

Show entire file | Details | Blame | View Log

Rev 157 Rev 225
Line 2... Line 2...
   CGEN: Cpu tools GENerator
   CGEN: Cpu tools GENerator
 
 
   THIS FILE IS MACHINE GENERATED WITH CGEN.
   THIS FILE IS MACHINE GENERATED WITH CGEN.
   - the resultant file is machine generated, cgen-asm.in isn't
   - the resultant file is machine generated, cgen-asm.in isn't
 
 
   Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2005, 2007
   Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2005, 2007, 2008
   Free Software Foundation, Inc.
   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
Line 49... Line 49...


/* -- assembler routines inserted here.  */
/* -- assembler routines inserted here.  */
 
 
/* -- asm.c */
/* -- asm.c */
 
 
 
#include "elf/mep.h"
 
 
#define CGEN_VALIDATE_INSN_SUPPORTED
#define CGEN_VALIDATE_INSN_SUPPORTED
 
#define mep_cgen_insn_supported mep_cgen_insn_supported_asm
 
 
       const char * parse_csrn       (CGEN_CPU_DESC, const char **, CGEN_KEYWORD *, long *);
       const char * parse_csrn       (CGEN_CPU_DESC, const char **, CGEN_KEYWORD *, long *);
       const char * parse_tpreg      (CGEN_CPU_DESC, const char **, CGEN_KEYWORD *, long *);
       const char * parse_tpreg      (CGEN_CPU_DESC, const char **, CGEN_KEYWORD *, long *);
       const char * parse_spreg      (CGEN_CPU_DESC, const char **, CGEN_KEYWORD *, long *);
       const char * parse_spreg      (CGEN_CPU_DESC, const char **, CGEN_KEYWORD *, long *);
       const char * parse_mep_align  (CGEN_CPU_DESC, const char **, enum cgen_operand_type, long *);
       const char * parse_mep_align  (CGEN_CPU_DESC, const char **, enum cgen_operand_type, long *);
       const char * parse_mep_alignu (CGEN_CPU_DESC, const char **, enum cgen_operand_type, unsigned long *);
       const char * parse_mep_alignu (CGEN_CPU_DESC, const char **, enum cgen_operand_type, unsigned long *);
static const char * parse_signed16   (CGEN_CPU_DESC, const char **, int, long *);
static const char * parse_signed16   (CGEN_CPU_DESC, const char **, int, long *);
 
static const char * parse_signed16_range   (CGEN_CPU_DESC, const char **, int, long *) ATTRIBUTE_UNUSED;
static const char * parse_unsigned16 (CGEN_CPU_DESC, const char **, int, unsigned long *);
static const char * parse_unsigned16 (CGEN_CPU_DESC, const char **, int, unsigned long *);
 
static const char * parse_unsigned16_range (CGEN_CPU_DESC, const char **, int, unsigned long *) ATTRIBUTE_UNUSED;
static const char * parse_lo16       (CGEN_CPU_DESC, const char **, int, long *, long);
static const char * parse_lo16       (CGEN_CPU_DESC, const char **, int, long *, long);
static const char * parse_unsigned7  (CGEN_CPU_DESC, const char **, enum cgen_operand_type, unsigned long *);
static const char * parse_unsigned7  (CGEN_CPU_DESC, const char **, enum cgen_operand_type, unsigned long *);
static const char * parse_zero       (CGEN_CPU_DESC, const char **, int, long *);
static const char * parse_zero       (CGEN_CPU_DESC, const char **, int, long *);
 
 
const char *
const char *
Line 82... Line 87...
  return NULL;
  return NULL;
}
}
 
 
/* begin-cop-ip-parse-handlers */
/* begin-cop-ip-parse-handlers */
static const char *
static const char *
parse_fmax_cr (CGEN_CPU_DESC cd,
parse_ivc2_cr (CGEN_CPU_DESC,
 
        const char **,
 
        CGEN_KEYWORD *,
 
        long *) ATTRIBUTE_UNUSED;
 
static const char *
 
parse_ivc2_cr (CGEN_CPU_DESC cd,
        const char **strp,
        const char **strp,
        CGEN_KEYWORD *keyword_table  ATTRIBUTE_UNUSED,
        CGEN_KEYWORD *keyword_table  ATTRIBUTE_UNUSED,
        long *field)
        long *field)
{
{
  return cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr_fmax, field);
  return cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr_ivc2, field);
}
}
static const char *
static const char *
parse_fmax_ccr (CGEN_CPU_DESC cd,
parse_ivc2_ccr (CGEN_CPU_DESC,
 
        const char **,
 
        CGEN_KEYWORD *,
 
        long *) ATTRIBUTE_UNUSED;
 
static const char *
 
parse_ivc2_ccr (CGEN_CPU_DESC cd,
        const char **strp,
        const char **strp,
        CGEN_KEYWORD *keyword_table  ATTRIBUTE_UNUSED,
        CGEN_KEYWORD *keyword_table  ATTRIBUTE_UNUSED,
        long *field)
        long *field)
{
{
  return cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_fmax, field);
  return cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, field);
}
}
/* end-cop-ip-parse-handlers */
/* end-cop-ip-parse-handlers */
 
 
const char *
const char *
parse_tpreg (CGEN_CPU_DESC cd, const char ** strp,
parse_tpreg (CGEN_CPU_DESC cd, const char ** strp,
Line 140... Line 155...
    {
    {
    case MEP_OPERAND_PCREL8A2:
    case MEP_OPERAND_PCREL8A2:
    case MEP_OPERAND_PCREL12A2:
    case MEP_OPERAND_PCREL12A2:
    case MEP_OPERAND_PCREL17A2:
    case MEP_OPERAND_PCREL17A2:
    case MEP_OPERAND_PCREL24A2:
    case MEP_OPERAND_PCREL24A2:
    case MEP_OPERAND_CDISP8A2:
 
    case MEP_OPERAND_CDISP8A4:
 
    case MEP_OPERAND_CDISP8A8:
 
      err = cgen_parse_signed_integer   (cd, strp, type, field);
      err = cgen_parse_signed_integer   (cd, strp, type, field);
      break;
      break;
    case MEP_OPERAND_PCABS24A2:
    case MEP_OPERAND_PCABS24A2:
    case MEP_OPERAND_UDISP7:
    case MEP_OPERAND_UDISP7:
    case MEP_OPERAND_UDISP7A2:
    case MEP_OPERAND_UDISP7A2:
Line 169... Line 181...
    case MEP_OPERAND_PCREL12A2:
    case MEP_OPERAND_PCREL12A2:
    case MEP_OPERAND_PCREL17A2:
    case MEP_OPERAND_PCREL17A2:
    case MEP_OPERAND_PCREL24A2:
    case MEP_OPERAND_PCREL24A2:
    case MEP_OPERAND_PCABS24A2:
    case MEP_OPERAND_PCABS24A2:
    case MEP_OPERAND_UDISP7A2:
    case MEP_OPERAND_UDISP7A2:
    case MEP_OPERAND_CDISP8A2:
 
      lsbs = *field & 1;
      lsbs = *field & 1;
      break;
      break;
    case MEP_OPERAND_UDISP7A4:
    case MEP_OPERAND_UDISP7A4:
    case MEP_OPERAND_UIMM7A4:
    case MEP_OPERAND_UIMM7A4:
    case MEP_OPERAND_ADDR24A4:
    case MEP_OPERAND_ADDR24A4:
    case MEP_OPERAND_CDISP8A4:
 
      lsbs = *field & 3;
      lsbs = *field & 3;
      break;
      break;
    case MEP_OPERAND_CDISP8A8:
 
      lsbs = *field & 7;
      lsbs = *field & 7;
      break;
      break;
    default:
    default:
      /* Safe assumption?  */
      /* Safe assumption?  */
      abort ();
      abort ();
Line 308... Line 317...
                  unsigned long *valuep)
                  unsigned long *valuep)
{
{
  return parse_lo16 (cd, strp, opindex, (long *) valuep, 0);
  return parse_lo16 (cd, strp, opindex, (long *) valuep, 0);
}
}
 
 
 
static const char *
 
parse_signed16_range (CGEN_CPU_DESC cd,
 
                      const char **strp,
 
                      int opindex,
 
                      signed long *valuep)
 
{
 
  const char *errmsg = 0;
 
  signed long value;
 
 
 
  errmsg = cgen_parse_signed_integer (cd, strp, opindex, & value);
 
  if (errmsg)
 
    return errmsg;
 
 
 
  if (value < -32768 || value > 32767)
 
    return _("Immediate is out of range -32768 to 32767");
 
 
 
  *valuep = value;
 
  return 0;
 
}
 
 
 
static const char *
 
parse_unsigned16_range (CGEN_CPU_DESC cd,
 
                        const char **strp,
 
                        int opindex,
 
                        unsigned long *valuep)
 
{
 
  const char *errmsg = 0;
 
  unsigned long value;
 
 
 
  errmsg = cgen_parse_unsigned_integer (cd, strp, opindex, & value);
 
  if (errmsg)
 
    return errmsg;
 
 
 
  if (value > 65535)
 
    return _("Immediate is out of range 0 to 65535");
 
 
 
  *valuep = value;
 
  return 0;
 
}
 
 
/* A special case of parse_signed16 which accepts only the value zero.  */
/* A special case of parse_signed16 which accepts only the value zero.  */
 
 
static const char *
static const char *
parse_zero (CGEN_CPU_DESC cd, const char **strp, int opindex, long *valuep)
parse_zero (CGEN_CPU_DESC cd, const char **strp, int opindex, long *valuep)
{
{
Line 455... Line 504...
    return _("invalid %function() here");
    return _("invalid %function() here");
 
 
  return parse_mep_alignu (cd, strp, opindex, valuep);
  return parse_mep_alignu (cd, strp, opindex, valuep);
}
}
 
 
 
static ATTRIBUTE_UNUSED const char *
 
parse_cdisp10 (CGEN_CPU_DESC cd,
 
               const char **strp,
 
               int opindex,
 
               long *valuep)
 
{
 
  const char *errmsg = 0;
 
  signed long value;
 
  long have_zero = 0;
 
  int wide = 0;
 
  int alignment;
 
 
 
  switch (opindex)
 
    {
 
    case MEP_OPERAND_CDISP10A4:
 
      alignment = 2;
 
      break;
 
    case MEP_OPERAND_CDISP10A2:
 
      alignment = 1;
 
      break;
 
    case MEP_OPERAND_CDISP10:
 
    default:
 
      alignment = 0;
 
      break;
 
    }
 
 
 
  if ((MEP_CPU & EF_MEP_CPU_MASK) == EF_MEP_CPU_C5)
 
    wide = 1;
 
 
 
  if (strncmp (*strp, "0x0", 3) == 0
 
      || (**strp == '0' && *(*strp + 1) != 'x'))
 
    have_zero = 1;
 
 
 
  errmsg = cgen_parse_signed_integer (cd, strp, opindex, & value);
 
  if (errmsg)
 
    return errmsg;
 
 
 
  if (wide)
 
    {
 
      if (value < -512 || value > 511)
 
        return _("Immediate is out of range -512 to 511");
 
    }
 
  else
 
    {
 
      if (value < -128 || value > 127)
 
        return _("Immediate is out of range -128 to 127");
 
    }
 
 
 
  if (value & ((1<<alignment)-1))
 
    return _("Value is not aligned enough");
 
 
 
  /* If this field may require a relocation then use larger dsp16.  */
 
  if (! have_zero && value == 0)
 
    return (wide ? _("Immediate is out of range -512 to 511")
 
            : _("Immediate is out of range -128 to 127"));
 
 
 
  *valuep = value;
 
  return 0;
 
}
 
 
/* BEGIN LIGHTWEIGHT MACRO PROCESSOR.  */
/* BEGIN LIGHTWEIGHT MACRO PROCESSOR.  */
 
 
#define MAXARGS 9
#define MAXARGS 9
 
 
typedef struct
typedef struct
Line 741... Line 850...
  switch (opindex)
  switch (opindex)
    {
    {
    case MEP_OPERAND_ADDR24A4 :
    case MEP_OPERAND_ADDR24A4 :
      errmsg = parse_mep_alignu (cd, strp, MEP_OPERAND_ADDR24A4, (unsigned long *) (& fields->f_24u8a4n));
      errmsg = parse_mep_alignu (cd, strp, MEP_OPERAND_ADDR24A4, (unsigned long *) (& fields->f_24u8a4n));
      break;
      break;
 
    case MEP_OPERAND_C5RMUIMM20 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_C5RMUIMM20, (unsigned long *) (& fields->f_c5_rmuimm20));
 
      break;
 
    case MEP_OPERAND_C5RNMUIMM24 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_C5RNMUIMM24, (unsigned long *) (& fields->f_c5_rnmuimm24));
 
      break;
    case MEP_OPERAND_CALLNUM :
    case MEP_OPERAND_CALLNUM :
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_CALLNUM, (unsigned long *) (& fields->f_callnum));
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_CALLNUM, (unsigned long *) (& fields->f_callnum));
      break;
      break;
    case MEP_OPERAND_CCCC :
    case MEP_OPERAND_CCCC :
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_CCCC, (unsigned long *) (& fields->f_rm));
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_CCCC, (unsigned long *) (& fields->f_rm));
      break;
      break;
    case MEP_OPERAND_CCRN :
    case MEP_OPERAND_CCRN :
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr, & fields->f_ccrn);
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr, & fields->f_ccrn);
      break;
      break;
    case MEP_OPERAND_CDISP8 :
    case MEP_OPERAND_CDISP10 :
      errmsg = cgen_parse_signed_integer (cd, strp, MEP_OPERAND_CDISP8, (long *) (& fields->f_8s24));
      errmsg = parse_cdisp10 (cd, strp, MEP_OPERAND_CDISP10, (long *) (& fields->f_cdisp10));
 
      break;
 
    case MEP_OPERAND_CDISP10A2 :
 
      errmsg = parse_cdisp10 (cd, strp, MEP_OPERAND_CDISP10A2, (long *) (& fields->f_cdisp10));
      break;
      break;
    case MEP_OPERAND_CDISP8A2 :
    case MEP_OPERAND_CDISP10A4 :
      errmsg = parse_mep_align (cd, strp, MEP_OPERAND_CDISP8A2, (long *) (& fields->f_8s24a2));
      errmsg = parse_cdisp10 (cd, strp, MEP_OPERAND_CDISP10A4, (long *) (& fields->f_cdisp10));
      break;
      break;
    case MEP_OPERAND_CDISP8A4 :
    case MEP_OPERAND_CDISP10A8 :
      errmsg = parse_mep_align (cd, strp, MEP_OPERAND_CDISP8A4, (long *) (& fields->f_8s24a4));
      errmsg = parse_cdisp10 (cd, strp, MEP_OPERAND_CDISP10A8, (long *) (& fields->f_cdisp10));
      break;
      break;
    case MEP_OPERAND_CDISP8A8 :
    case MEP_OPERAND_CDISP12 :
      errmsg = parse_mep_align (cd, strp, MEP_OPERAND_CDISP8A8, (long *) (& fields->f_8s24a8));
      errmsg = cgen_parse_signed_integer (cd, strp, MEP_OPERAND_CDISP12, (long *) (& fields->f_12s20));
      break;
      break;
    case MEP_OPERAND_CIMM4 :
    case MEP_OPERAND_CIMM4 :
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_CIMM4, (unsigned long *) (& fields->f_rn));
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_CIMM4, (unsigned long *) (& fields->f_rn));
      break;
      break;
    case MEP_OPERAND_CIMM5 :
    case MEP_OPERAND_CIMM5 :
Line 789... Line 907...
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr, & fields->f_crnx);
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr, & fields->f_crnx);
      break;
      break;
    case MEP_OPERAND_CRNX64 :
    case MEP_OPERAND_CRNX64 :
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr64, & fields->f_crnx);
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr64, & fields->f_crnx);
      break;
      break;
 
    case MEP_OPERAND_CROC :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr64, & fields->f_ivc2_5u7);
 
      break;
 
    case MEP_OPERAND_CROP :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr64, & fields->f_ivc2_5u23);
 
      break;
 
    case MEP_OPERAND_CRPC :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr64, & fields->f_ivc2_5u26);
 
      break;
 
    case MEP_OPERAND_CRPP :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr64, & fields->f_ivc2_5u18);
 
      break;
 
    case MEP_OPERAND_CRQC :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr64, & fields->f_ivc2_5u21);
 
      break;
 
    case MEP_OPERAND_CRQP :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr64, & fields->f_ivc2_5u13);
 
      break;
    case MEP_OPERAND_CSRN :
    case MEP_OPERAND_CSRN :
      errmsg = parse_csrn (cd, strp, & mep_cgen_opval_h_csr, & fields->f_csrn);
      errmsg = parse_csrn (cd, strp, & mep_cgen_opval_h_csr, & fields->f_csrn);
      break;
      break;
    case MEP_OPERAND_CSRN_IDX :
    case MEP_OPERAND_CSRN_IDX :
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_CSRN_IDX, (unsigned long *) (& fields->f_csrn));
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_CSRN_IDX, (unsigned long *) (& fields->f_csrn));
Line 807... Line 943...
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_csr, & junk);
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_csr, & junk);
      break;
      break;
    case MEP_OPERAND_EXC :
    case MEP_OPERAND_EXC :
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_csr, & junk);
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_csr, & junk);
      break;
      break;
    case MEP_OPERAND_FMAX_CCRN :
    case MEP_OPERAND_HI :
      errmsg = parse_fmax_ccr (cd, strp, & mep_cgen_opval_h_ccr, & fields->f_fmax_4_4);
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_csr, & junk);
      break;
      break;
    case MEP_OPERAND_FMAX_FRD :
    case MEP_OPERAND_IMM16P0 :
      errmsg = parse_fmax_cr (cd, strp, & mep_cgen_opval_h_cr, & fields->f_fmax_frd);
      errmsg = parse_unsigned16_range (cd, strp, MEP_OPERAND_IMM16P0, (unsigned long *) (& fields->f_ivc2_imm16p0));
      break;
      break;
    case MEP_OPERAND_FMAX_FRD_INT :
    case MEP_OPERAND_IMM3P12 :
      errmsg = parse_fmax_cr (cd, strp, & mep_cgen_opval_h_cr, & fields->f_fmax_frd);
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM3P12, (unsigned long *) (& fields->f_ivc2_3u12));
      break;
      break;
    case MEP_OPERAND_FMAX_FRM :
    case MEP_OPERAND_IMM3P25 :
      errmsg = parse_fmax_cr (cd, strp, & mep_cgen_opval_h_cr, & fields->f_fmax_frm);
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM3P25, (unsigned long *) (& fields->f_ivc2_3u25));
      break;
      break;
    case MEP_OPERAND_FMAX_FRN :
    case MEP_OPERAND_IMM3P4 :
      errmsg = parse_fmax_cr (cd, strp, & mep_cgen_opval_h_cr, & fields->f_fmax_frn);
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM3P4, (unsigned long *) (& fields->f_ivc2_3u4));
      break;
      break;
    case MEP_OPERAND_FMAX_FRN_INT :
    case MEP_OPERAND_IMM3P5 :
      errmsg = parse_fmax_cr (cd, strp, & mep_cgen_opval_h_cr, & fields->f_fmax_frn);
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM3P5, (unsigned long *) (& fields->f_ivc2_3u5));
      break;
      break;
    case MEP_OPERAND_FMAX_RM :
    case MEP_OPERAND_IMM3P9 :
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_gpr, & fields->f_fmax_rm);
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM3P9, (unsigned long *) (& fields->f_ivc2_3u9));
      break;
      break;
    case MEP_OPERAND_HI :
    case MEP_OPERAND_IMM4P10 :
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_csr, & junk);
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM4P10, (unsigned long *) (& fields->f_ivc2_4u10));
 
      break;
 
    case MEP_OPERAND_IMM4P4 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM4P4, (unsigned long *) (& fields->f_ivc2_4u4));
 
      break;
 
    case MEP_OPERAND_IMM4P8 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM4P8, (unsigned long *) (& fields->f_ivc2_4u8));
 
      break;
 
    case MEP_OPERAND_IMM5P23 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM5P23, (unsigned long *) (& fields->f_ivc2_5u23));
 
      break;
 
    case MEP_OPERAND_IMM5P3 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM5P3, (unsigned long *) (& fields->f_ivc2_5u3));
 
      break;
 
    case MEP_OPERAND_IMM5P7 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM5P7, (unsigned long *) (& fields->f_ivc2_5u7));
 
      break;
 
    case MEP_OPERAND_IMM5P8 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM5P8, (unsigned long *) (& fields->f_ivc2_5u8));
 
      break;
 
    case MEP_OPERAND_IMM6P2 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM6P2, (unsigned long *) (& fields->f_ivc2_6u2));
 
      break;
 
    case MEP_OPERAND_IMM6P6 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM6P6, (unsigned long *) (& fields->f_ivc2_6u6));
 
      break;
 
    case MEP_OPERAND_IMM8P0 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM8P0, (unsigned long *) (& fields->f_ivc2_8u0));
 
      break;
 
    case MEP_OPERAND_IMM8P20 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM8P20, (unsigned long *) (& fields->f_ivc2_8u20));
 
      break;
 
    case MEP_OPERAND_IMM8P4 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM8P4, (unsigned long *) (& fields->f_ivc2_8u4));
 
      break;
 
    case MEP_OPERAND_IVC_X_0_2 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IVC_X_0_2, (unsigned long *) (& fields->f_ivc2_2u0));
 
      break;
 
    case MEP_OPERAND_IVC_X_0_3 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IVC_X_0_3, (unsigned long *) (& fields->f_ivc2_3u0));
 
      break;
 
    case MEP_OPERAND_IVC_X_0_4 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IVC_X_0_4, (unsigned long *) (& fields->f_ivc2_4u0));
 
      break;
 
    case MEP_OPERAND_IVC_X_0_5 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IVC_X_0_5, (unsigned long *) (& fields->f_ivc2_5u0));
 
      break;
 
    case MEP_OPERAND_IVC_X_6_1 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IVC_X_6_1, (unsigned long *) (& fields->f_ivc2_1u6));
 
      break;
 
    case MEP_OPERAND_IVC_X_6_2 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IVC_X_6_2, (unsigned long *) (& fields->f_ivc2_2u6));
 
      break;
 
    case MEP_OPERAND_IVC_X_6_3 :
 
      errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IVC_X_6_3, (unsigned long *) (& fields->f_ivc2_3u6));
 
      break;
 
    case MEP_OPERAND_IVC2_ACC0_0 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_ACC0_1 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_ACC0_2 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_ACC0_3 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_ACC0_4 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_ACC0_5 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_ACC0_6 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_ACC0_7 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_ACC1_0 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_ACC1_1 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_ACC1_2 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_ACC1_3 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_ACC1_4 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_ACC1_5 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_ACC1_6 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_ACC1_7 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_CC :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_COFA0 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_COFA1 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_COFR0 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_COFR1 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_CSAR0 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2_CSAR1 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & junk);
 
      break;
 
    case MEP_OPERAND_IVC2C3CCRN :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & fields->f_ivc2_ccrn_c3);
 
      break;
 
    case MEP_OPERAND_IVC2CCRN :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_ivc2, & fields->f_ivc2_ccrn);
 
      break;
 
    case MEP_OPERAND_IVC2CRN :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr64, & fields->f_ivc2_crnx);
 
      break;
 
    case MEP_OPERAND_IVC2RM :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_gpr, & fields->f_ivc2_crm);
      break;
      break;
    case MEP_OPERAND_LO :
    case MEP_OPERAND_LO :
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_csr, & junk);
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_csr, & junk);
      break;
      break;
    case MEP_OPERAND_LP :
    case MEP_OPERAND_LP :
Line 882... Line 1153...
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_gpr, & junk);
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_gpr, & junk);
      break;
      break;
    case MEP_OPERAND_RL :
    case MEP_OPERAND_RL :
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_gpr, & fields->f_rl);
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_gpr, & fields->f_rl);
      break;
      break;
 
    case MEP_OPERAND_RL5 :
 
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_gpr, & fields->f_rl5);
 
      break;
    case MEP_OPERAND_RM :
    case MEP_OPERAND_RM :
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_gpr, & fields->f_rm);
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_gpr, & fields->f_rm);
      break;
      break;
    case MEP_OPERAND_RMA :
    case MEP_OPERAND_RMA :
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_gpr, & fields->f_rm);
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_gpr, & fields->f_rm);
Line 939... Line 1213...
      errmsg = parse_signed16 (cd, strp, MEP_OPERAND_SDISP16, (long *) (& fields->f_16s16));
      errmsg = parse_signed16 (cd, strp, MEP_OPERAND_SDISP16, (long *) (& fields->f_16s16));
      break;
      break;
    case MEP_OPERAND_SIMM16 :
    case MEP_OPERAND_SIMM16 :
      errmsg = parse_signed16 (cd, strp, MEP_OPERAND_SIMM16, (long *) (& fields->f_16s16));
      errmsg = parse_signed16 (cd, strp, MEP_OPERAND_SIMM16, (long *) (& fields->f_16s16));
      break;
      break;
 
    case MEP_OPERAND_SIMM16P0 :
 
      errmsg = parse_signed16_range (cd, strp, MEP_OPERAND_SIMM16P0, (long *) (& fields->f_ivc2_simm16p0));
 
      break;
    case MEP_OPERAND_SIMM6 :
    case MEP_OPERAND_SIMM6 :
      errmsg = cgen_parse_signed_integer (cd, strp, MEP_OPERAND_SIMM6, (long *) (& fields->f_6s8));
      errmsg = cgen_parse_signed_integer (cd, strp, MEP_OPERAND_SIMM6, (long *) (& fields->f_6s8));
      break;
      break;
    case MEP_OPERAND_SIMM8 :
    case MEP_OPERAND_SIMM8 :
      errmsg = cgen_parse_signed_integer (cd, strp, MEP_OPERAND_SIMM8, (long *) (& fields->f_8s8));
      errmsg = cgen_parse_signed_integer (cd, strp, MEP_OPERAND_SIMM8, (long *) (& fields->f_8s8));
      break;
      break;
 
    case MEP_OPERAND_SIMM8P0 :
 
      errmsg = cgen_parse_signed_integer (cd, strp, MEP_OPERAND_SIMM8P0, (long *) (& fields->f_ivc2_8s0));
 
      break;
 
    case MEP_OPERAND_SIMM8P20 :
 
      errmsg = cgen_parse_signed_integer (cd, strp, MEP_OPERAND_SIMM8P20, (long *) (& fields->f_ivc2_8s20));
 
      break;
 
    case MEP_OPERAND_SIMM8P4 :
 
      errmsg = cgen_parse_signed_integer (cd, strp, MEP_OPERAND_SIMM8P4, (long *) (& fields->f_ivc2_8s4));
 
      break;
    case MEP_OPERAND_SP :
    case MEP_OPERAND_SP :
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_gpr, & junk);
      errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_gpr, & junk);
      break;
      break;
    case MEP_OPERAND_SPR :
    case MEP_OPERAND_SPR :
      errmsg = parse_spreg (cd, strp, & mep_cgen_opval_h_gpr, & junk);
      errmsg = parse_spreg (cd, strp, & mep_cgen_opval_h_gpr, & junk);

powered by: WebSVN 2.1.0

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