Back to index

cell-binutils  2.17cvs20070401
Defines | Functions | Variables
m32c-ibld.c File Reference
#include "sysdep.h"
#include <stdio.h>
#include "ansidecl.h"
#include "dis-asm.h"
#include "bfd.h"
#include "symcat.h"
#include "m32c-desc.h"
#include "m32c-opc.h"
#include "opintl.h"
#include "safe-ctype.h"

Go to the source code of this file.

Defines

#define min(a, b)   ((a) < (b) ? (a) : (b))
#define max(a, b)   ((a) > (b) ? (a) : (b))
#define FLD(f)   (fields->f)

Functions

static const char * insert_normal (CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR)
static const char * insert_insn_normal (CGEN_CPU_DESC, const CGEN_INSN *, CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma)
static int extract_normal (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, bfd_vma, long *)
static int extract_insn_normal (CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *, CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma)
static CGEN_INLINE void insert_1 (CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *)
static CGEN_INLINE int fill_cache (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, bfd_vma)
static CGEN_INLINE long extract_1 (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, unsigned char *, bfd_vma)
static CGEN_INLINE int fill_cache (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, CGEN_EXTRACT_INFO *ex_info, int offset, int bytes, bfd_vma pc)
static CGEN_INLINE long extract_1 (CGEN_CPU_DESC cd, CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED, int start, int length, int word_length, unsigned char *bufp, bfd_vma pc ATTRIBUTE_UNUSED)
const char * m32c_cgen_insert_operand (CGEN_CPU_DESC, int, CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma)
const char * m32c_cgen_insert_operand (CGEN_CPU_DESC cd, int opindex, CGEN_FIELDS *fields, CGEN_INSN_BYTES_PTR buffer, bfd_vma pc ATTRIBUTE_UNUSED)
int m32c_cgen_extract_operand (CGEN_CPU_DESC, int, CGEN_EXTRACT_INFO *, CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma)
int m32c_cgen_get_int_operand (CGEN_CPU_DESC, int, const CGEN_FIELDS *)
bfd_vma m32c_cgen_get_vma_operand (CGEN_CPU_DESC, int, const CGEN_FIELDS *)
int m32c_cgen_get_int_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, int opindex, const CGEN_FIELDS *fields)
bfd_vma m32c_cgen_get_vma_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, int opindex, const CGEN_FIELDS *fields)
void m32c_cgen_set_int_operand (CGEN_CPU_DESC, int, CGEN_FIELDS *, int)
void m32c_cgen_set_vma_operand (CGEN_CPU_DESC, int, CGEN_FIELDS *, bfd_vma)
void m32c_cgen_set_int_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, int opindex, CGEN_FIELDS *fields, int value)
void m32c_cgen_set_vma_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, int opindex, CGEN_FIELDS *fields, bfd_vma value)
void m32c_cgen_init_ibld_table (CGEN_CPU_DESC cd)

Variables

cgen_insert_fn *const m32c_cgen_insert_handlers []
cgen_extract_fn *const m32c_cgen_extract_handlers []

Define Documentation

#define FLD (   f)    (fields->f)

Definition at line 45 of file m32c-ibld.c.

#define max (   a,
  b 
)    ((a) > (b) ? (a) : (b))

Definition at line 42 of file m32c-ibld.c.

#define min (   a,
  b 
)    ((a) < (b) ? (a) : (b))

Definition at line 40 of file m32c-ibld.c.


Function Documentation

static CGEN_INLINE long extract_1 ( CGEN_CPU_DESC  ,
CGEN_EXTRACT_INFO ,
int  ,
int  ,
int  ,
unsigned char *  ,
bfd_vma   
) [static]
static CGEN_INLINE long extract_1 ( CGEN_CPU_DESC  cd,
CGEN_EXTRACT_INFO *ex_info  ATTRIBUTE_UNUSED,
int  start,
int  length,
int  word_length,
unsigned char *  bufp,
bfd_vma pc  ATTRIBUTE_UNUSED 
) [static]

Definition at line 371 of file m32c-ibld.c.

{
  unsigned long x;
  int shift;

  x = cgen_get_insn_value (cd, bufp, word_length);

  if (CGEN_INSN_LSB0_P)
    shift = (start + 1) - length;
  else
    shift = (word_length - (start + length));
  return x >> shift;
}

Here is the call graph for this function:

static int extract_insn_normal ( CGEN_CPU_DESC  cd,
const CGEN_INSN *  insn,
CGEN_EXTRACT_INFO ex_info,
CGEN_INSN_INT  insn_value,
CGEN_FIELDS *  fields,
bfd_vma  pc 
) [static]

Definition at line 506 of file m32c-ibld.c.

{
  const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
  const CGEN_SYNTAX_CHAR_TYPE *syn;

  CGEN_FIELDS_BITSIZE (fields) = CGEN_INSN_BITSIZE (insn);

  CGEN_INIT_EXTRACT (cd);

  for (syn = CGEN_SYNTAX_STRING (syntax); *syn; ++syn)
    {
      int length;

      if (CGEN_SYNTAX_CHAR_P (*syn))
       continue;

      length = (* cd->extract_operand) (cd, CGEN_SYNTAX_FIELD (*syn),
                                   ex_info, insn_value, fields, pc);
      if (length <= 0)
       return length;
    }

  /* We recognized and successfully extracted this insn.  */
  return CGEN_INSN_BITSIZE (insn);
}

Here is the call graph for this function:

static int extract_normal ( CGEN_CPU_DESC  cd,
CGEN_EXTRACT_INFO ex_info,
CGEN_INSN_INT  insn_value,
unsigned int  attrs,
unsigned int  word_offset,
unsigned int  start,
unsigned int  length,
unsigned int  word_length,
unsigned int  total_length,
bfd_vma  pc,
long valuep 
) [static]

Definition at line 414 of file m32c-ibld.c.

{
  long value, mask;

  /* If LENGTH is zero, this operand doesn't contribute to the value
     so give it a standard value of zero.  */
  if (length == 0)
    {
      *valuep = 0;
      return 1;
    }

  if (word_length > 32)
    abort ();

  /* For architectures with insns smaller than the insn-base-bitsize,
     word_length may be too big.  */
  if (cd->min_insn_bitsize < cd->base_insn_bitsize)
    {
      if (word_offset + word_length > total_length)
       word_length = total_length - word_offset;
    }

  /* Does the value reside in INSN_VALUE, and at the right alignment?  */

  if (CGEN_INT_INSN_P || (word_offset == 0 && word_length == total_length))
    {
      if (CGEN_INSN_LSB0_P)
       value = insn_value >> ((word_offset + start + 1) - length);
      else
       value = insn_value >> (total_length - ( word_offset + start + length));
    }

#if ! CGEN_INT_INSN_P

  else
    {
      unsigned char *bufp = ex_info->insn_bytes + word_offset / 8;

      if (word_length > 32)
       abort ();

      if (fill_cache (cd, ex_info, word_offset / 8, word_length / 8, pc) == 0)
       return 0;

      value = extract_1 (cd, ex_info, start, length, word_length, bufp, pc);
    }

#endif /* ! CGEN_INT_INSN_P */

  /* Written this way to avoid undefined behaviour.  */
  mask = (((1L << (length - 1)) - 1) << 1) | 1;

  value &= mask;
  /* sign extend? */
  if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGNED)
      && (value & (1L << (length - 1))))
    value |= ~mask;

  *valuep = value;

  return 1;
}

Here is the call graph for this function:

Here is the caller graph for this function:

static CGEN_INLINE int fill_cache ( CGEN_CPU_DESC  ,
CGEN_EXTRACT_INFO ,
int  ,
int  ,
bfd_vma   
) [static]
static CGEN_INLINE int fill_cache ( CGEN_CPU_DESC cd  ATTRIBUTE_UNUSED,
CGEN_EXTRACT_INFO ex_info,
int  offset,
int  bytes,
bfd_vma  pc 
) [static]

Definition at line 327 of file m32c-ibld.c.

{
  /* It's doubtful that the middle part has already been fetched so
     we don't optimize that case.  kiss.  */
  unsigned int mask;
  disassemble_info *info = (disassemble_info *) ex_info->dis_info;

  /* First do a quick check.  */
  mask = (1 << bytes) - 1;
  if (((ex_info->valid >> offset) & mask) == mask)
    return 1;

  /* Search for the first byte we need to read.  */
  for (mask = 1 << offset; bytes > 0; --bytes, ++offset, mask <<= 1)
    if (! (mask & ex_info->valid))
      break;

  if (bytes)
    {
      int status;

      pc += offset;
      status = (*info->read_memory_func)
       (pc, ex_info->insn_bytes + offset, bytes, info);

      if (status != 0)
       {
         (*info->memory_error_func) (status, pc, info);
         return 0;
       }

      ex_info->valid |= ((1 << bytes) - 1) << offset;
    }

  return 1;
}
static CGEN_INLINE void insert_1 ( CGEN_CPU_DESC  cd,
unsigned long  value,
int  start,
int  length,
int  word_length,
unsigned char *  bufp 
) [static]

Definition at line 80 of file m32c-ibld.c.

{
  unsigned long x,mask;
  int shift;

  x = cgen_get_insn_value (cd, bufp, word_length);

  /* Written this way to avoid undefined behaviour.  */
  mask = (((1L << (length - 1)) - 1) << 1) | 1;
  if (CGEN_INSN_LSB0_P)
    shift = (start + 1) - length;
  else
    shift = (word_length - (start + length));
  x = (x & ~(mask << shift)) | ((value & mask) << shift);

  cgen_put_insn_value (cd, bufp, word_length, (bfd_vma) x);
}

Here is the call graph for this function:

Here is the caller graph for this function:

static const char * insert_insn_normal ( CGEN_CPU_DESC  cd,
const CGEN_INSN *  insn,
CGEN_FIELDS *  fields,
CGEN_INSN_BYTES_PTR  buffer,
bfd_vma  pc 
) [static]

Definition at line 240 of file m32c-ibld.c.

{
  const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
  unsigned long value;
  const CGEN_SYNTAX_CHAR_TYPE * syn;

  CGEN_INIT_INSERT (cd);
  value = CGEN_INSN_BASE_VALUE (insn);

  /* If we're recording insns as numbers (rather than a string of bytes),
     target byte order handling is deferred until later.  */

#if CGEN_INT_INSN_P

  put_insn_int_value (cd, buffer, cd->base_insn_bitsize,
                    CGEN_FIELDS_BITSIZE (fields), value);

#else

  cgen_put_insn_value (cd, buffer, min ((unsigned) cd->base_insn_bitsize,
                                   (unsigned) CGEN_FIELDS_BITSIZE (fields)),
                     value);

#endif /* ! CGEN_INT_INSN_P */

  /* ??? It would be better to scan the format's fields.
     Still need to be able to insert a value based on the operand though;
     e.g. storing a branch displacement that got resolved later.
     Needs more thought first.  */

  for (syn = CGEN_SYNTAX_STRING (syntax); * syn; ++ syn)
    {
      const char *errmsg;

      if (CGEN_SYNTAX_CHAR_P (* syn))
       continue;

      errmsg = (* cd->insert_operand) (cd, CGEN_SYNTAX_FIELD (*syn),
                                   fields, buffer, pc);
      if (errmsg)
       return errmsg;
    }

  return NULL;
}

Here is the call graph for this function:

static const char * insert_normal ( CGEN_CPU_DESC  cd,
long  value,
unsigned int  attrs,
unsigned int  word_offset,
unsigned int  start,
unsigned int  length,
unsigned int  word_length,
unsigned int  total_length,
CGEN_INSN_BYTES_PTR  buffer 
) [static]

Definition at line 122 of file m32c-ibld.c.

{
  static char errbuf[100];
  /* Written this way to avoid undefined behaviour.  */
  unsigned long mask = (((1L << (length - 1)) - 1) << 1) | 1;

  /* If LENGTH is zero, this operand doesn't contribute to the value.  */
  if (length == 0)
    return NULL;

  if (word_length > 32)
    abort ();

  /* For architectures with insns smaller than the base-insn-bitsize,
     word_length may be too big.  */
  if (cd->min_insn_bitsize < cd->base_insn_bitsize)
    {
      if (word_offset == 0
         && word_length > total_length)
       word_length = total_length;
    }

  /* Ensure VALUE will fit.  */
  if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGN_OPT))
    {
      long minval = - (1L << (length - 1));
      unsigned long maxval = mask;
      
      if ((value > 0 && (unsigned long) value > maxval)
         || value < minval)
       {
         /* xgettext:c-format */
         sprintf (errbuf,
                 _("operand out of range (%ld not between %ld and %lu)"),
                 value, minval, maxval);
         return errbuf;
       }
    }
  else if (! CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGNED))
    {
      unsigned long maxval = mask;
      unsigned long val = (unsigned long) value;

      /* For hosts with a word size > 32 check to see if value has been sign
        extended beyond 32 bits.  If so then ignore these higher sign bits
        as the user is attempting to store a 32-bit signed value into an
        unsigned 32-bit field which is allowed.  */
      if (sizeof (unsigned long) > 4 && ((value >> 32) == -1))
       val &= 0xFFFFFFFF;

      if (val > maxval)
       {
         /* xgettext:c-format */
         sprintf (errbuf,
                 _("operand out of range (0x%lx not between 0 and 0x%lx)"),
                 val, maxval);
         return errbuf;
       }
    }
  else
    {
      if (! cgen_signed_overflow_ok_p (cd))
       {
         long minval = - (1L << (length - 1));
         long maxval =   (1L << (length - 1)) - 1;
         
         if (value < minval || value > maxval)
           {
             sprintf
              /* xgettext:c-format */
              (errbuf, _("operand out of range (%ld not between %ld and %ld)"),
               value, minval, maxval);
             return errbuf;
           }
       }
    }

#if CGEN_INT_INSN_P

  {
    int shift;

    if (CGEN_INSN_LSB0_P)
      shift = (word_offset + start + 1) - length;
    else
      shift = total_length - (word_offset + start + length);
    *buffer = (*buffer & ~(mask << shift)) | ((value & mask) << shift);
  }

#else /* ! CGEN_INT_INSN_P */

  {
    unsigned char *bufp = (unsigned char *) buffer + word_offset / 8;

    insert_1 (cd, value, start, length, word_length, bufp);
  }

#endif /* ! CGEN_INT_INSN_P */

  return NULL;
}

Here is the call graph for this function:

Here is the caller graph for this function:

int m32c_cgen_extract_operand ( CGEN_CPU_DESC  cd,
int  opindex,
CGEN_EXTRACT_INFO ex_info,
CGEN_INSN_INT  insn_value,
CGEN_FIELDS *  fields,
bfd_vma  pc 
)

Definition at line 1754 of file m32c-ibld.c.

{
  /* Assume success (for those operands that are nops).  */
  int length = 1;
  unsigned int total_length = CGEN_FIELDS_BITSIZE (fields);

  switch (opindex)
    {
    case M32C_OPERAND_A0 :
      break;
    case M32C_OPERAND_A1 :
      break;
    case M32C_OPERAND_AN16_PUSH_S :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 4, 1, 32, total_length, pc, & fields->f_4_1);
      break;
    case M32C_OPERAND_BIT16AN :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 15, 1, 32, total_length, pc, & fields->f_dst16_an);
      break;
    case M32C_OPERAND_BIT16RN :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 14, 2, 32, total_length, pc, & fields->f_dst16_rn);
      break;
    case M32C_OPERAND_BIT3_S :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 2, 2, 32, total_length, pc, & fields->f_2_2);
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 7, 1, 32, total_length, pc, & fields->f_7_1);
        if (length <= 0) break;
{
  FLD (f_imm3_S) = ((((((FLD (f_2_2)) << (1))) | (FLD (f_7_1)))) + (1));
}
      }
      break;
    case M32C_OPERAND_BIT32ANPREFIXED :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 17, 1, 32, total_length, pc, & fields->f_dst32_an_prefixed);
      break;
    case M32C_OPERAND_BIT32ANUNPREFIXED :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 9, 1, 32, total_length, pc, & fields->f_dst32_an_unprefixed);
      break;
    case M32C_OPERAND_BIT32RNPREFIXED :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 16, 2, 32, total_length, pc, & value);
        value = (((((~ (((unsigned int) (value) >> (1))))) & (1))) | (((((value) << (1))) & (2))));
        fields->f_dst32_rn_prefixed_QI = value;
      }
      break;
    case M32C_OPERAND_BIT32RNUNPREFIXED :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 8, 2, 32, total_length, pc, & value);
        value = (((((~ (((unsigned int) (value) >> (1))))) & (1))) | (((((value) << (1))) & (2))));
        fields->f_dst32_rn_unprefixed_QI = value;
      }
      break;
    case M32C_OPERAND_BITBASE16_16_S8 :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 16, 8, 32, total_length, pc, & fields->f_dsp_16_s8);
      break;
    case M32C_OPERAND_BITBASE16_16_U16 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 16, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        fields->f_dsp_16_u16 = value;
      }
      break;
    case M32C_OPERAND_BITBASE16_16_U8 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 16, 8, 32, total_length, pc, & fields->f_dsp_16_u8);
      break;
    case M32C_OPERAND_BITBASE16_8_U11_S :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 5, 3, 32, total_length, pc, & fields->f_bitno16_S);
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 8, 8, 32, total_length, pc, & fields->f_dsp_8_u8);
        if (length <= 0) break;
{
  FLD (f_bitbase16_u11_S) = ((((FLD (f_dsp_8_u8)) << (3))) | (FLD (f_bitno16_S)));
}
      }
      break;
    case M32C_OPERAND_BITBASE32_16_S11_UNPREFIXED :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 13, 3, 32, total_length, pc, & fields->f_bitno32_unprefixed);
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 16, 8, 32, total_length, pc, & fields->f_dsp_16_s8);
        if (length <= 0) break;
{
  FLD (f_bitbase32_16_s11_unprefixed) = ((((FLD (f_dsp_16_s8)) << (3))) | (FLD (f_bitno32_unprefixed)));
}
      }
      break;
    case M32C_OPERAND_BITBASE32_16_S19_UNPREFIXED :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 13, 3, 32, total_length, pc, & fields->f_bitno32_unprefixed);
        if (length <= 0) break;
        {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 16, 16, 32, total_length, pc, & value);
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        fields->f_dsp_16_s16 = value;
      }
        if (length <= 0) break;
{
  FLD (f_bitbase32_16_s19_unprefixed) = ((((FLD (f_dsp_16_s16)) << (3))) | (FLD (f_bitno32_unprefixed)));
}
      }
      break;
    case M32C_OPERAND_BITBASE32_16_U11_UNPREFIXED :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 13, 3, 32, total_length, pc, & fields->f_bitno32_unprefixed);
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 16, 8, 32, total_length, pc, & fields->f_dsp_16_u8);
        if (length <= 0) break;
{
  FLD (f_bitbase32_16_u11_unprefixed) = ((((FLD (f_dsp_16_u8)) << (3))) | (FLD (f_bitno32_unprefixed)));
}
      }
      break;
    case M32C_OPERAND_BITBASE32_16_U19_UNPREFIXED :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 13, 3, 32, total_length, pc, & fields->f_bitno32_unprefixed);
        if (length <= 0) break;
        {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 16, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        fields->f_dsp_16_u16 = value;
      }
        if (length <= 0) break;
{
  FLD (f_bitbase32_16_u19_unprefixed) = ((((FLD (f_dsp_16_u16)) << (3))) | (FLD (f_bitno32_unprefixed)));
}
      }
      break;
    case M32C_OPERAND_BITBASE32_16_U27_UNPREFIXED :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 13, 3, 32, total_length, pc, & fields->f_bitno32_unprefixed);
        if (length <= 0) break;
        {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 16, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        fields->f_dsp_16_u16 = value;
      }
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 0, 8, 32, total_length, pc, & fields->f_dsp_32_u8);
        if (length <= 0) break;
{
  FLD (f_bitbase32_16_u27_unprefixed) = ((((FLD (f_dsp_16_u16)) << (3))) | (((((FLD (f_dsp_32_u8)) << (19))) | (FLD (f_bitno32_unprefixed)))));
}
      }
      break;
    case M32C_OPERAND_BITBASE32_24_S11_PREFIXED :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 21, 3, 32, total_length, pc, & fields->f_bitno32_prefixed);
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 24, 8, 32, total_length, pc, & fields->f_dsp_24_s8);
        if (length <= 0) break;
{
  FLD (f_bitbase32_24_s11_prefixed) = ((((FLD (f_dsp_24_s8)) << (3))) | (FLD (f_bitno32_prefixed)));
}
      }
      break;
    case M32C_OPERAND_BITBASE32_24_S19_PREFIXED :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 21, 3, 32, total_length, pc, & fields->f_bitno32_prefixed);
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 24, 8, 32, total_length, pc, & fields->f_dsp_24_u8);
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 32, 0, 8, 32, total_length, pc, & fields->f_dsp_32_s8);
        if (length <= 0) break;
{
  FLD (f_bitbase32_24_s19_prefixed) = ((((FLD (f_dsp_24_u8)) << (3))) | (((((FLD (f_dsp_32_s8)) << (11))) | (FLD (f_bitno32_prefixed)))));
}
      }
      break;
    case M32C_OPERAND_BITBASE32_24_U11_PREFIXED :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 21, 3, 32, total_length, pc, & fields->f_bitno32_prefixed);
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 24, 8, 32, total_length, pc, & fields->f_dsp_24_u8);
        if (length <= 0) break;
{
  FLD (f_bitbase32_24_u11_prefixed) = ((((FLD (f_dsp_24_u8)) << (3))) | (FLD (f_bitno32_prefixed)));
}
      }
      break;
    case M32C_OPERAND_BITBASE32_24_U19_PREFIXED :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 21, 3, 32, total_length, pc, & fields->f_bitno32_prefixed);
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 24, 8, 32, total_length, pc, & fields->f_dsp_24_u8);
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 0, 8, 32, total_length, pc, & fields->f_dsp_32_u8);
        if (length <= 0) break;
{
  FLD (f_bitbase32_24_u19_prefixed) = ((((FLD (f_dsp_24_u8)) << (3))) | (((((FLD (f_dsp_32_u8)) << (11))) | (FLD (f_bitno32_prefixed)))));
}
      }
      break;
    case M32C_OPERAND_BITBASE32_24_U27_PREFIXED :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 21, 3, 32, total_length, pc, & fields->f_bitno32_prefixed);
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 24, 8, 32, total_length, pc, & fields->f_dsp_24_u8);
        if (length <= 0) break;
        {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 0, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        fields->f_dsp_32_u16 = value;
      }
        if (length <= 0) break;
{
  FLD (f_bitbase32_24_u27_prefixed) = ((((FLD (f_dsp_24_u8)) << (3))) | (((((FLD (f_dsp_32_u16)) << (11))) | (FLD (f_bitno32_prefixed)))));
}
      }
      break;
    case M32C_OPERAND_BITNO16R :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 16, 8, 32, total_length, pc, & fields->f_dsp_16_u8);
      break;
    case M32C_OPERAND_BITNO32PREFIXED :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 21, 3, 32, total_length, pc, & fields->f_bitno32_prefixed);
      break;
    case M32C_OPERAND_BITNO32UNPREFIXED :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 13, 3, 32, total_length, pc, & fields->f_bitno32_unprefixed);
      break;
    case M32C_OPERAND_DSP_10_U6 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 10, 6, 32, total_length, pc, & fields->f_dsp_10_u6);
      break;
    case M32C_OPERAND_DSP_16_S16 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 16, 16, 32, total_length, pc, & value);
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        fields->f_dsp_16_s16 = value;
      }
      break;
    case M32C_OPERAND_DSP_16_S8 :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 16, 8, 32, total_length, pc, & fields->f_dsp_16_s8);
      break;
    case M32C_OPERAND_DSP_16_U16 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 16, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        fields->f_dsp_16_u16 = value;
      }
      break;
    case M32C_OPERAND_DSP_16_U20 :
      {
        {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 16, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        fields->f_dsp_16_u16 = value;
      }
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 0, 8, 32, total_length, pc, & fields->f_dsp_32_u8);
        if (length <= 0) break;
{
  FLD (f_dsp_16_u24) = ((((FLD (f_dsp_32_u8)) << (16))) | (FLD (f_dsp_16_u16)));
}
      }
      break;
    case M32C_OPERAND_DSP_16_U24 :
      {
        {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 16, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        fields->f_dsp_16_u16 = value;
      }
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 0, 8, 32, total_length, pc, & fields->f_dsp_32_u8);
        if (length <= 0) break;
{
  FLD (f_dsp_16_u24) = ((((FLD (f_dsp_32_u8)) << (16))) | (FLD (f_dsp_16_u16)));
}
      }
      break;
    case M32C_OPERAND_DSP_16_U8 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 16, 8, 32, total_length, pc, & fields->f_dsp_16_u8);
      break;
    case M32C_OPERAND_DSP_24_S16 :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 24, 8, 32, total_length, pc, & fields->f_dsp_24_u8);
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 0, 8, 32, total_length, pc, & fields->f_dsp_32_u8);
        if (length <= 0) break;
{
  FLD (f_dsp_24_s16) = EXTHISI (((HI) (UINT) (((((FLD (f_dsp_32_u8)) << (8))) | (FLD (f_dsp_24_u8))))));
}
      }
      break;
    case M32C_OPERAND_DSP_24_S8 :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 24, 8, 32, total_length, pc, & fields->f_dsp_24_s8);
      break;
    case M32C_OPERAND_DSP_24_U16 :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 24, 8, 32, total_length, pc, & fields->f_dsp_24_u8);
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 0, 8, 32, total_length, pc, & fields->f_dsp_32_u8);
        if (length <= 0) break;
{
  FLD (f_dsp_24_u16) = ((((FLD (f_dsp_32_u8)) << (8))) | (FLD (f_dsp_24_u8)));
}
      }
      break;
    case M32C_OPERAND_DSP_24_U20 :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 24, 8, 32, total_length, pc, & fields->f_dsp_24_u8);
        if (length <= 0) break;
        {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 0, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        fields->f_dsp_32_u16 = value;
      }
        if (length <= 0) break;
{
  FLD (f_dsp_24_u24) = ((((FLD (f_dsp_32_u16)) << (8))) | (FLD (f_dsp_24_u8)));
}
      }
      break;
    case M32C_OPERAND_DSP_24_U24 :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 24, 8, 32, total_length, pc, & fields->f_dsp_24_u8);
        if (length <= 0) break;
        {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 0, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        fields->f_dsp_32_u16 = value;
      }
        if (length <= 0) break;
{
  FLD (f_dsp_24_u24) = ((((FLD (f_dsp_32_u16)) << (8))) | (FLD (f_dsp_24_u8)));
}
      }
      break;
    case M32C_OPERAND_DSP_24_U8 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 24, 8, 32, total_length, pc, & fields->f_dsp_24_u8);
      break;
    case M32C_OPERAND_DSP_32_S16 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 32, 0, 16, 32, total_length, pc, & value);
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        fields->f_dsp_32_s16 = value;
      }
      break;
    case M32C_OPERAND_DSP_32_S8 :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 32, 0, 8, 32, total_length, pc, & fields->f_dsp_32_s8);
      break;
    case M32C_OPERAND_DSP_32_U16 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 0, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        fields->f_dsp_32_u16 = value;
      }
      break;
    case M32C_OPERAND_DSP_32_U20 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 0, 24, 32, total_length, pc, & value);
        value = ((((((((unsigned int) (value) >> (16))) & (255))) | (((value) & (65280))))) | (((((value) << (16))) & (16711680))));
        fields->f_dsp_32_u24 = value;
      }
      break;
    case M32C_OPERAND_DSP_32_U24 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 0, 24, 32, total_length, pc, & value);
        value = ((((((((unsigned int) (value) >> (16))) & (255))) | (((value) & (65280))))) | (((((value) << (16))) & (16711680))));
        fields->f_dsp_32_u24 = value;
      }
      break;
    case M32C_OPERAND_DSP_32_U8 :
      length = extract_normal (cd, ex_info, insn_value, 0, 32, 0, 8, 32, total_length, pc, & fields->f_dsp_32_u8);
      break;
    case M32C_OPERAND_DSP_40_S16 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 32, 8, 16, 32, total_length, pc, & value);
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        fields->f_dsp_40_s16 = value;
      }
      break;
    case M32C_OPERAND_DSP_40_S8 :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 32, 8, 8, 32, total_length, pc, & fields->f_dsp_40_s8);
      break;
    case M32C_OPERAND_DSP_40_U16 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 8, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        fields->f_dsp_40_u16 = value;
      }
      break;
    case M32C_OPERAND_DSP_40_U20 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 8, 20, 32, total_length, pc, & value);
        value = ((((((((unsigned int) (value) >> (16))) & (255))) | (((value) & (65280))))) | (((((value) << (16))) & (983040))));
        fields->f_dsp_40_u20 = value;
      }
      break;
    case M32C_OPERAND_DSP_40_U24 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 8, 24, 32, total_length, pc, & value);
        value = ((((((((unsigned int) (value) >> (16))) & (255))) | (((value) & (65280))))) | (((((value) << (16))) & (16711680))));
        fields->f_dsp_40_u24 = value;
      }
      break;
    case M32C_OPERAND_DSP_40_U8 :
      length = extract_normal (cd, ex_info, insn_value, 0, 32, 8, 8, 32, total_length, pc, & fields->f_dsp_40_u8);
      break;
    case M32C_OPERAND_DSP_48_S16 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 32, 16, 16, 32, total_length, pc, & value);
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        fields->f_dsp_48_s16 = value;
      }
      break;
    case M32C_OPERAND_DSP_48_S8 :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 32, 16, 8, 32, total_length, pc, & fields->f_dsp_48_s8);
      break;
    case M32C_OPERAND_DSP_48_U16 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 16, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        fields->f_dsp_48_u16 = value;
      }
      break;
    case M32C_OPERAND_DSP_48_U20 :
      {
        {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 16, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        fields->f_dsp_48_u16 = value;
      }
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 64, 0, 8, 32, total_length, pc, & fields->f_dsp_64_u8);
        if (length <= 0) break;
{
  FLD (f_dsp_48_u20) = ((((FLD (f_dsp_48_u16)) & (65535))) | (((((FLD (f_dsp_64_u8)) << (16))) & (983040))));
}
      }
      break;
    case M32C_OPERAND_DSP_48_U24 :
      {
        {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 16, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        fields->f_dsp_48_u16 = value;
      }
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 64, 0, 8, 32, total_length, pc, & fields->f_dsp_64_u8);
        if (length <= 0) break;
{
  FLD (f_dsp_48_u24) = ((((FLD (f_dsp_48_u16)) & (65535))) | (((((FLD (f_dsp_64_u8)) << (16))) & (16711680))));
}
      }
      break;
    case M32C_OPERAND_DSP_48_U8 :
      length = extract_normal (cd, ex_info, insn_value, 0, 32, 16, 8, 32, total_length, pc, & fields->f_dsp_48_u8);
      break;
    case M32C_OPERAND_DSP_8_S24 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 24, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (16))) | (((value) & (65280))))) | (((EXTQISI (TRUNCSIQI (((value) & (255))))) << (16))));
        fields->f_dsp_8_s24 = value;
      }
      break;
    case M32C_OPERAND_DSP_8_S8 :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 8, 32, total_length, pc, & fields->f_dsp_8_s8);
      break;
    case M32C_OPERAND_DSP_8_U16 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 8, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        fields->f_dsp_8_u16 = value;
      }
      break;
    case M32C_OPERAND_DSP_8_U24 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 8, 24, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (16))) | (((value) & (65280))))) | (((((value) & (255))) << (16))));
        fields->f_dsp_8_u24 = value;
      }
      break;
    case M32C_OPERAND_DSP_8_U6 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 8, 6, 32, total_length, pc, & fields->f_dsp_8_u6);
      break;
    case M32C_OPERAND_DSP_8_U8 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 8, 8, 32, total_length, pc, & fields->f_dsp_8_u8);
      break;
    case M32C_OPERAND_DST16AN :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 15, 1, 32, total_length, pc, & fields->f_dst16_an);
      break;
    case M32C_OPERAND_DST16AN_S :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 4, 1, 32, total_length, pc, & fields->f_dst16_an_s);
      break;
    case M32C_OPERAND_DST16ANHI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 15, 1, 32, total_length, pc, & fields->f_dst16_an);
      break;
    case M32C_OPERAND_DST16ANQI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 15, 1, 32, total_length, pc, & fields->f_dst16_an);
      break;
    case M32C_OPERAND_DST16ANQI_S :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 5, 1, 32, total_length, pc, & fields->f_dst16_rn_QI_s);
      break;
    case M32C_OPERAND_DST16ANSI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 15, 1, 32, total_length, pc, & fields->f_dst16_an);
      break;
    case M32C_OPERAND_DST16RNEXTQI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 14, 1, 32, total_length, pc, & fields->f_dst16_rn_ext);
      break;
    case M32C_OPERAND_DST16RNHI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 14, 2, 32, total_length, pc, & fields->f_dst16_rn);
      break;
    case M32C_OPERAND_DST16RNQI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 14, 2, 32, total_length, pc, & fields->f_dst16_rn);
      break;
    case M32C_OPERAND_DST16RNQI_S :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 5, 1, 32, total_length, pc, & fields->f_dst16_rn_QI_s);
      break;
    case M32C_OPERAND_DST16RNSI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 14, 2, 32, total_length, pc, & fields->f_dst16_rn);
      break;
    case M32C_OPERAND_DST32ANEXTUNPREFIXED :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 9, 1, 32, total_length, pc, & fields->f_dst32_an_unprefixed);
      break;
    case M32C_OPERAND_DST32ANPREFIXED :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 17, 1, 32, total_length, pc, & fields->f_dst32_an_prefixed);
      break;
    case M32C_OPERAND_DST32ANPREFIXEDHI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 17, 1, 32, total_length, pc, & fields->f_dst32_an_prefixed);
      break;
    case M32C_OPERAND_DST32ANPREFIXEDQI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 17, 1, 32, total_length, pc, & fields->f_dst32_an_prefixed);
      break;
    case M32C_OPERAND_DST32ANPREFIXEDSI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 17, 1, 32, total_length, pc, & fields->f_dst32_an_prefixed);
      break;
    case M32C_OPERAND_DST32ANUNPREFIXED :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 9, 1, 32, total_length, pc, & fields->f_dst32_an_unprefixed);
      break;
    case M32C_OPERAND_DST32ANUNPREFIXEDHI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 9, 1, 32, total_length, pc, & fields->f_dst32_an_unprefixed);
      break;
    case M32C_OPERAND_DST32ANUNPREFIXEDQI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 9, 1, 32, total_length, pc, & fields->f_dst32_an_unprefixed);
      break;
    case M32C_OPERAND_DST32ANUNPREFIXEDSI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 9, 1, 32, total_length, pc, & fields->f_dst32_an_unprefixed);
      break;
    case M32C_OPERAND_DST32R0HI_S :
      break;
    case M32C_OPERAND_DST32R0QI_S :
      break;
    case M32C_OPERAND_DST32RNEXTUNPREFIXEDHI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 9, 1, 32, total_length, pc, & fields->f_dst32_rn_ext_unprefixed);
      break;
    case M32C_OPERAND_DST32RNEXTUNPREFIXEDQI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 9, 1, 32, total_length, pc, & fields->f_dst32_rn_ext_unprefixed);
      break;
    case M32C_OPERAND_DST32RNPREFIXEDHI :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 16, 2, 32, total_length, pc, & value);
        value = ((((value) + (2))) % (4));
        fields->f_dst32_rn_prefixed_HI = value;
      }
      break;
    case M32C_OPERAND_DST32RNPREFIXEDQI :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 16, 2, 32, total_length, pc, & value);
        value = (((((~ (((unsigned int) (value) >> (1))))) & (1))) | (((((value) << (1))) & (2))));
        fields->f_dst32_rn_prefixed_QI = value;
      }
      break;
    case M32C_OPERAND_DST32RNPREFIXEDSI :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 16, 2, 32, total_length, pc, & value);
        value = ((value) - (2));
        fields->f_dst32_rn_prefixed_SI = value;
      }
      break;
    case M32C_OPERAND_DST32RNUNPREFIXEDHI :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 8, 2, 32, total_length, pc, & value);
        value = ((((value) + (2))) % (4));
        fields->f_dst32_rn_unprefixed_HI = value;
      }
      break;
    case M32C_OPERAND_DST32RNUNPREFIXEDQI :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 8, 2, 32, total_length, pc, & value);
        value = (((((~ (((unsigned int) (value) >> (1))))) & (1))) | (((((value) << (1))) & (2))));
        fields->f_dst32_rn_unprefixed_QI = value;
      }
      break;
    case M32C_OPERAND_DST32RNUNPREFIXEDSI :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 8, 2, 32, total_length, pc, & value);
        value = ((value) - (2));
        fields->f_dst32_rn_unprefixed_SI = value;
      }
      break;
    case M32C_OPERAND_G :
      break;
    case M32C_OPERAND_IMM_12_S4 :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 12, 4, 32, total_length, pc, & fields->f_imm_12_s4);
      break;
    case M32C_OPERAND_IMM_12_S4N :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 12, 4, 32, total_length, pc, & fields->f_imm_12_s4);
      break;
    case M32C_OPERAND_IMM_13_U3 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 13, 3, 32, total_length, pc, & fields->f_imm_13_u3);
      break;
    case M32C_OPERAND_IMM_16_HI :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 16, 16, 32, total_length, pc, & value);
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        fields->f_dsp_16_s16 = value;
      }
      break;
    case M32C_OPERAND_IMM_16_QI :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 16, 8, 32, total_length, pc, & fields->f_dsp_16_s8);
      break;
    case M32C_OPERAND_IMM_16_SI :
      {
        {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 16, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        fields->f_dsp_16_u16 = value;
      }
        if (length <= 0) break;
        {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 0, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        fields->f_dsp_32_u16 = value;
      }
        if (length <= 0) break;
{
  FLD (f_dsp_16_s32) = ((((FLD (f_dsp_16_u16)) & (65535))) | (((((FLD (f_dsp_32_u16)) << (16))) & (0xffff0000))));
}
      }
      break;
    case M32C_OPERAND_IMM_20_S4 :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 20, 4, 32, total_length, pc, & fields->f_imm_20_s4);
      break;
    case M32C_OPERAND_IMM_24_HI :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 24, 8, 32, total_length, pc, & fields->f_dsp_24_u8);
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 0, 8, 32, total_length, pc, & fields->f_dsp_32_u8);
        if (length <= 0) break;
{
  FLD (f_dsp_24_s16) = EXTHISI (((HI) (UINT) (((((FLD (f_dsp_32_u8)) << (8))) | (FLD (f_dsp_24_u8))))));
}
      }
      break;
    case M32C_OPERAND_IMM_24_QI :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 24, 8, 32, total_length, pc, & fields->f_dsp_24_s8);
      break;
    case M32C_OPERAND_IMM_24_SI :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 24, 8, 32, total_length, pc, & fields->f_dsp_24_u8);
        if (length <= 0) break;
        {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 0, 24, 32, total_length, pc, & value);
        value = ((((((((unsigned int) (value) >> (16))) & (255))) | (((value) & (65280))))) | (((((value) << (16))) & (16711680))));
        fields->f_dsp_32_u24 = value;
      }
        if (length <= 0) break;
{
  FLD (f_dsp_24_s32) = ((((FLD (f_dsp_24_u8)) & (255))) | (((((FLD (f_dsp_32_u24)) << (8))) & (0xffffff00))));
}
      }
      break;
    case M32C_OPERAND_IMM_32_HI :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 32, 0, 16, 32, total_length, pc, & value);
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        fields->f_dsp_32_s16 = value;
      }
      break;
    case M32C_OPERAND_IMM_32_QI :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 32, 0, 8, 32, total_length, pc, & fields->f_dsp_32_s8);
      break;
    case M32C_OPERAND_IMM_32_SI :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 32, 0, 32, 32, total_length, pc, & value);
        value = EXTSISI (((((((((unsigned int) (value) >> (24))) & (255))) | (((((unsigned int) (value) >> (8))) & (65280))))) | (((((((value) << (8))) & (16711680))) | (((((value) << (24))) & (0xff000000)))))));
        fields->f_dsp_32_s32 = value;
      }
      break;
    case M32C_OPERAND_IMM_40_HI :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 32, 8, 16, 32, total_length, pc, & value);
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        fields->f_dsp_40_s16 = value;
      }
      break;
    case M32C_OPERAND_IMM_40_QI :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 32, 8, 8, 32, total_length, pc, & fields->f_dsp_40_s8);
      break;
    case M32C_OPERAND_IMM_40_SI :
      {
        {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 8, 24, 32, total_length, pc, & value);
        value = ((((((((unsigned int) (value) >> (16))) & (255))) | (((value) & (65280))))) | (((((value) << (16))) & (16711680))));
        fields->f_dsp_40_u24 = value;
      }
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 64, 0, 8, 32, total_length, pc, & fields->f_dsp_64_u8);
        if (length <= 0) break;
{
  FLD (f_dsp_40_s32) = ((((FLD (f_dsp_40_u24)) & (16777215))) | (((((FLD (f_dsp_64_u8)) << (24))) & (0xff000000))));
}
      }
      break;
    case M32C_OPERAND_IMM_48_HI :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 32, 16, 16, 32, total_length, pc, & value);
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        fields->f_dsp_48_s16 = value;
      }
      break;
    case M32C_OPERAND_IMM_48_QI :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 32, 16, 8, 32, total_length, pc, & fields->f_dsp_48_s8);
      break;
    case M32C_OPERAND_IMM_48_SI :
      {
        {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 16, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        fields->f_dsp_48_u16 = value;
      }
        if (length <= 0) break;
        {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 64, 0, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        fields->f_dsp_64_u16 = value;
      }
        if (length <= 0) break;
{
  FLD (f_dsp_48_s32) = ((((FLD (f_dsp_48_u16)) & (65535))) | (((((FLD (f_dsp_64_u16)) << (16))) & (0xffff0000))));
}
      }
      break;
    case M32C_OPERAND_IMM_56_HI :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 32, 24, 8, 32, total_length, pc, & fields->f_dsp_56_u8);
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 64, 0, 8, 32, total_length, pc, & fields->f_dsp_64_u8);
        if (length <= 0) break;
{
  FLD (f_dsp_56_s16) = EXTHISI (((HI) (UINT) (((((FLD (f_dsp_64_u8)) << (8))) | (FLD (f_dsp_56_u8))))));
}
      }
      break;
    case M32C_OPERAND_IMM_56_QI :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 32, 24, 8, 32, total_length, pc, & fields->f_dsp_56_s8);
      break;
    case M32C_OPERAND_IMM_64_HI :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 64, 0, 16, 32, total_length, pc, & value);
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        fields->f_dsp_64_s16 = value;
      }
      break;
    case M32C_OPERAND_IMM_8_HI :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 16, 32, total_length, pc, & value);
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        fields->f_dsp_8_s16 = value;
      }
      break;
    case M32C_OPERAND_IMM_8_QI :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 8, 32, total_length, pc, & fields->f_dsp_8_s8);
      break;
    case M32C_OPERAND_IMM_8_S4 :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 4, 32, total_length, pc, & fields->f_imm_8_s4);
      break;
    case M32C_OPERAND_IMM_8_S4N :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 4, 32, total_length, pc, & fields->f_imm_8_s4);
      break;
    case M32C_OPERAND_IMM_SH_12_S4 :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 12, 4, 32, total_length, pc, & fields->f_imm_12_s4);
      break;
    case M32C_OPERAND_IMM_SH_20_S4 :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 20, 4, 32, total_length, pc, & fields->f_imm_20_s4);
      break;
    case M32C_OPERAND_IMM_SH_8_S4 :
      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 4, 32, total_length, pc, & fields->f_imm_8_s4);
      break;
    case M32C_OPERAND_IMM1_S :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 2, 1, 32, total_length, pc, & value);
        value = ((value) + (1));
        fields->f_imm1_S = value;
      }
      break;
    case M32C_OPERAND_IMM3_S :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 2, 2, 32, total_length, pc, & fields->f_2_2);
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 7, 1, 32, total_length, pc, & fields->f_7_1);
        if (length <= 0) break;
{
  FLD (f_imm3_S) = ((((((FLD (f_2_2)) << (1))) | (FLD (f_7_1)))) + (1));
}
      }
      break;
    case M32C_OPERAND_LAB_16_8 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED)|(1<<CGEN_IFLD_PCREL_ADDR), 0, 16, 8, 32, total_length, pc, & value);
        value = ((value) + (((pc) + (2))));
        fields->f_lab_16_8 = value;
      }
      break;
    case M32C_OPERAND_LAB_24_8 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED)|(1<<CGEN_IFLD_PCREL_ADDR), 0, 24, 8, 32, total_length, pc, & value);
        value = ((value) + (((pc) + (2))));
        fields->f_lab_24_8 = value;
      }
      break;
    case M32C_OPERAND_LAB_32_8 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED)|(1<<CGEN_IFLD_PCREL_ADDR), 32, 0, 8, 32, total_length, pc, & value);
        value = ((value) + (((pc) + (2))));
        fields->f_lab_32_8 = value;
      }
      break;
    case M32C_OPERAND_LAB_40_8 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED)|(1<<CGEN_IFLD_PCREL_ADDR), 32, 8, 8, 32, total_length, pc, & value);
        value = ((value) + (((pc) + (2))));
        fields->f_lab_40_8 = value;
      }
      break;
    case M32C_OPERAND_LAB_5_3 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_PCREL_ADDR), 0, 5, 3, 32, total_length, pc, & value);
        value = ((value) + (((pc) + (2))));
        fields->f_lab_5_3 = value;
      }
      break;
    case M32C_OPERAND_LAB_8_16 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGN_OPT)|(1<<CGEN_IFLD_PCREL_ADDR), 0, 8, 16, 32, total_length, pc, & value);
        value = ((((((unsigned int) (((value) & (65535))) >> (8))) | (((int) (((((value) & (255))) << (24))) >> (16))))) + (((pc) + (1))));
        fields->f_lab_8_16 = value;
      }
      break;
    case M32C_OPERAND_LAB_8_24 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_ABS_ADDR), 0, 8, 24, 32, total_length, pc, & value);
        value = ((((((unsigned int) (value) >> (16))) | (((value) & (65280))))) | (((((value) & (255))) << (16))));
        fields->f_lab_8_24 = value;
      }
      break;
    case M32C_OPERAND_LAB_8_8 :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED)|(1<<CGEN_IFLD_PCREL_ADDR), 0, 8, 8, 32, total_length, pc, & value);
        value = ((value) + (((pc) + (1))));
        fields->f_lab_8_8 = value;
      }
      break;
    case M32C_OPERAND_LAB32_JMP_S :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 2, 2, 32, total_length, pc, & fields->f_2_2);
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 7, 1, 32, total_length, pc, & fields->f_7_1);
        if (length <= 0) break;
{
  FLD (f_lab32_jmp_s) = ((pc) + (((((((FLD (f_2_2)) << (1))) | (FLD (f_7_1)))) + (2))));
}
      }
      break;
    case M32C_OPERAND_Q :
      break;
    case M32C_OPERAND_R0 :
      break;
    case M32C_OPERAND_R0H :
      break;
    case M32C_OPERAND_R0L :
      break;
    case M32C_OPERAND_R1 :
      break;
    case M32C_OPERAND_R1R2R0 :
      break;
    case M32C_OPERAND_R2 :
      break;
    case M32C_OPERAND_R2R0 :
      break;
    case M32C_OPERAND_R3 :
      break;
    case M32C_OPERAND_R3R1 :
      break;
    case M32C_OPERAND_REGSETPOP :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 8, 8, 32, total_length, pc, & fields->f_8_8);
      break;
    case M32C_OPERAND_REGSETPUSH :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 8, 8, 32, total_length, pc, & fields->f_8_8);
      break;
    case M32C_OPERAND_RN16_PUSH_S :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 4, 1, 32, total_length, pc, & fields->f_4_1);
      break;
    case M32C_OPERAND_S :
      break;
    case M32C_OPERAND_SRC16AN :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 11, 1, 32, total_length, pc, & fields->f_src16_an);
      break;
    case M32C_OPERAND_SRC16ANHI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 11, 1, 32, total_length, pc, & fields->f_src16_an);
      break;
    case M32C_OPERAND_SRC16ANQI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 11, 1, 32, total_length, pc, & fields->f_src16_an);
      break;
    case M32C_OPERAND_SRC16RNHI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 10, 2, 32, total_length, pc, & fields->f_src16_rn);
      break;
    case M32C_OPERAND_SRC16RNQI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 10, 2, 32, total_length, pc, & fields->f_src16_rn);
      break;
    case M32C_OPERAND_SRC32ANPREFIXED :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 19, 1, 32, total_length, pc, & fields->f_src32_an_prefixed);
      break;
    case M32C_OPERAND_SRC32ANPREFIXEDHI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 19, 1, 32, total_length, pc, & fields->f_src32_an_prefixed);
      break;
    case M32C_OPERAND_SRC32ANPREFIXEDQI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 19, 1, 32, total_length, pc, & fields->f_src32_an_prefixed);
      break;
    case M32C_OPERAND_SRC32ANPREFIXEDSI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 19, 1, 32, total_length, pc, & fields->f_src32_an_prefixed);
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXED :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 11, 1, 32, total_length, pc, & fields->f_src32_an_unprefixed);
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXEDHI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 11, 1, 32, total_length, pc, & fields->f_src32_an_unprefixed);
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXEDQI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 11, 1, 32, total_length, pc, & fields->f_src32_an_unprefixed);
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXEDSI :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 11, 1, 32, total_length, pc, & fields->f_src32_an_unprefixed);
      break;
    case M32C_OPERAND_SRC32RNPREFIXEDHI :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 18, 2, 32, total_length, pc, & value);
        value = ((((value) + (2))) % (4));
        fields->f_src32_rn_prefixed_HI = value;
      }
      break;
    case M32C_OPERAND_SRC32RNPREFIXEDQI :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 18, 2, 32, total_length, pc, & value);
        value = (((((~ (((unsigned int) (value) >> (1))))) & (1))) | (((((value) << (1))) & (2))));
        fields->f_src32_rn_prefixed_QI = value;
      }
      break;
    case M32C_OPERAND_SRC32RNPREFIXEDSI :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 18, 2, 32, total_length, pc, & value);
        value = ((value) - (2));
        fields->f_src32_rn_prefixed_SI = value;
      }
      break;
    case M32C_OPERAND_SRC32RNUNPREFIXEDHI :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 10, 2, 32, total_length, pc, & value);
        value = ((((value) + (2))) % (4));
        fields->f_src32_rn_unprefixed_HI = value;
      }
      break;
    case M32C_OPERAND_SRC32RNUNPREFIXEDQI :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 10, 2, 32, total_length, pc, & value);
        value = (((((~ (((unsigned int) (value) >> (1))))) & (1))) | (((((value) << (1))) & (2))));
        fields->f_src32_rn_unprefixed_QI = value;
      }
      break;
    case M32C_OPERAND_SRC32RNUNPREFIXEDSI :
      {
        long value;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 10, 2, 32, total_length, pc, & value);
        value = ((value) - (2));
        fields->f_src32_rn_unprefixed_SI = value;
      }
      break;
    case M32C_OPERAND_SRCDST16_R0L_R0H_S_NORMAL :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 5, 1, 32, total_length, pc, & fields->f_5_1);
      break;
    case M32C_OPERAND_X :
      break;
    case M32C_OPERAND_Z :
      break;
    case M32C_OPERAND_COND16_16 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 16, 8, 32, total_length, pc, & fields->f_dsp_16_u8);
      break;
    case M32C_OPERAND_COND16_24 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 24, 8, 32, total_length, pc, & fields->f_dsp_24_u8);
      break;
    case M32C_OPERAND_COND16_32 :
      length = extract_normal (cd, ex_info, insn_value, 0, 32, 0, 8, 32, total_length, pc, & fields->f_dsp_32_u8);
      break;
    case M32C_OPERAND_COND16C :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 12, 4, 32, total_length, pc, & fields->f_cond16);
      break;
    case M32C_OPERAND_COND16J :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 12, 4, 32, total_length, pc, & fields->f_cond16);
      break;
    case M32C_OPERAND_COND16J5 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 5, 3, 32, total_length, pc, & fields->f_cond16j_5);
      break;
    case M32C_OPERAND_COND32 :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 9, 1, 32, total_length, pc, & fields->f_9_1);
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 13, 3, 32, total_length, pc, & fields->f_13_3);
        if (length <= 0) break;
{
  FLD (f_cond32) = ((((FLD (f_9_1)) << (3))) | (FLD (f_13_3)));
}
      }
      break;
    case M32C_OPERAND_COND32_16 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 16, 8, 32, total_length, pc, & fields->f_dsp_16_u8);
      break;
    case M32C_OPERAND_COND32_24 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 24, 8, 32, total_length, pc, & fields->f_dsp_24_u8);
      break;
    case M32C_OPERAND_COND32_32 :
      length = extract_normal (cd, ex_info, insn_value, 0, 32, 0, 8, 32, total_length, pc, & fields->f_dsp_32_u8);
      break;
    case M32C_OPERAND_COND32_40 :
      length = extract_normal (cd, ex_info, insn_value, 0, 32, 8, 8, 32, total_length, pc, & fields->f_dsp_40_u8);
      break;
    case M32C_OPERAND_COND32J :
      {
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 1, 3, 32, total_length, pc, & fields->f_1_3);
        if (length <= 0) break;
        length = extract_normal (cd, ex_info, insn_value, 0, 0, 7, 1, 32, total_length, pc, & fields->f_7_1);
        if (length <= 0) break;
{
  FLD (f_cond32j) = ((((FLD (f_1_3)) << (1))) | (FLD (f_7_1)));
}
      }
      break;
    case M32C_OPERAND_CR1_PREFIXED_32 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 21, 3, 32, total_length, pc, & fields->f_21_3);
      break;
    case M32C_OPERAND_CR1_UNPREFIXED_32 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 13, 3, 32, total_length, pc, & fields->f_13_3);
      break;
    case M32C_OPERAND_CR16 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 9, 3, 32, total_length, pc, & fields->f_9_3);
      break;
    case M32C_OPERAND_CR2_32 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 13, 3, 32, total_length, pc, & fields->f_13_3);
      break;
    case M32C_OPERAND_CR3_PREFIXED_32 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 21, 3, 32, total_length, pc, & fields->f_21_3);
      break;
    case M32C_OPERAND_CR3_UNPREFIXED_32 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 13, 3, 32, total_length, pc, & fields->f_13_3);
      break;
    case M32C_OPERAND_FLAGS16 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 9, 3, 32, total_length, pc, & fields->f_9_3);
      break;
    case M32C_OPERAND_FLAGS32 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 13, 3, 32, total_length, pc, & fields->f_13_3);
      break;
    case M32C_OPERAND_SCCOND32 :
      length = extract_normal (cd, ex_info, insn_value, 0, 0, 12, 4, 32, total_length, pc, & fields->f_cond16);
      break;
    case M32C_OPERAND_SIZE :
      break;

    default :
      /* xgettext:c-format */
      fprintf (stderr, _("Unrecognized field %d while decoding insn.\n"),
              opindex);
      abort ();
    }

  return length;
}

Here is the call graph for this function:

Here is the caller graph for this function:

int m32c_cgen_get_int_operand ( CGEN_CPU_DESC  ,
int  ,
const CGEN_FIELDS *   
)

Here is the caller graph for this function:

int m32c_cgen_get_int_operand ( CGEN_CPU_DESC cd  ATTRIBUTE_UNUSED,
int  opindex,
const CGEN_FIELDS *  fields 
)

Definition at line 2915 of file m32c-ibld.c.

{
  int value;

  switch (opindex)
    {
    case M32C_OPERAND_A0 :
      value = 0;
      break;
    case M32C_OPERAND_A1 :
      value = 0;
      break;
    case M32C_OPERAND_AN16_PUSH_S :
      value = fields->f_4_1;
      break;
    case M32C_OPERAND_BIT16AN :
      value = fields->f_dst16_an;
      break;
    case M32C_OPERAND_BIT16RN :
      value = fields->f_dst16_rn;
      break;
    case M32C_OPERAND_BIT3_S :
      value = fields->f_imm3_S;
      break;
    case M32C_OPERAND_BIT32ANPREFIXED :
      value = fields->f_dst32_an_prefixed;
      break;
    case M32C_OPERAND_BIT32ANUNPREFIXED :
      value = fields->f_dst32_an_unprefixed;
      break;
    case M32C_OPERAND_BIT32RNPREFIXED :
      value = fields->f_dst32_rn_prefixed_QI;
      break;
    case M32C_OPERAND_BIT32RNUNPREFIXED :
      value = fields->f_dst32_rn_unprefixed_QI;
      break;
    case M32C_OPERAND_BITBASE16_16_S8 :
      value = fields->f_dsp_16_s8;
      break;
    case M32C_OPERAND_BITBASE16_16_U16 :
      value = fields->f_dsp_16_u16;
      break;
    case M32C_OPERAND_BITBASE16_16_U8 :
      value = fields->f_dsp_16_u8;
      break;
    case M32C_OPERAND_BITBASE16_8_U11_S :
      value = fields->f_bitbase16_u11_S;
      break;
    case M32C_OPERAND_BITBASE32_16_S11_UNPREFIXED :
      value = fields->f_bitbase32_16_s11_unprefixed;
      break;
    case M32C_OPERAND_BITBASE32_16_S19_UNPREFIXED :
      value = fields->f_bitbase32_16_s19_unprefixed;
      break;
    case M32C_OPERAND_BITBASE32_16_U11_UNPREFIXED :
      value = fields->f_bitbase32_16_u11_unprefixed;
      break;
    case M32C_OPERAND_BITBASE32_16_U19_UNPREFIXED :
      value = fields->f_bitbase32_16_u19_unprefixed;
      break;
    case M32C_OPERAND_BITBASE32_16_U27_UNPREFIXED :
      value = fields->f_bitbase32_16_u27_unprefixed;
      break;
    case M32C_OPERAND_BITBASE32_24_S11_PREFIXED :
      value = fields->f_bitbase32_24_s11_prefixed;
      break;
    case M32C_OPERAND_BITBASE32_24_S19_PREFIXED :
      value = fields->f_bitbase32_24_s19_prefixed;
      break;
    case M32C_OPERAND_BITBASE32_24_U11_PREFIXED :
      value = fields->f_bitbase32_24_u11_prefixed;
      break;
    case M32C_OPERAND_BITBASE32_24_U19_PREFIXED :
      value = fields->f_bitbase32_24_u19_prefixed;
      break;
    case M32C_OPERAND_BITBASE32_24_U27_PREFIXED :
      value = fields->f_bitbase32_24_u27_prefixed;
      break;
    case M32C_OPERAND_BITNO16R :
      value = fields->f_dsp_16_u8;
      break;
    case M32C_OPERAND_BITNO32PREFIXED :
      value = fields->f_bitno32_prefixed;
      break;
    case M32C_OPERAND_BITNO32UNPREFIXED :
      value = fields->f_bitno32_unprefixed;
      break;
    case M32C_OPERAND_DSP_10_U6 :
      value = fields->f_dsp_10_u6;
      break;
    case M32C_OPERAND_DSP_16_S16 :
      value = fields->f_dsp_16_s16;
      break;
    case M32C_OPERAND_DSP_16_S8 :
      value = fields->f_dsp_16_s8;
      break;
    case M32C_OPERAND_DSP_16_U16 :
      value = fields->f_dsp_16_u16;
      break;
    case M32C_OPERAND_DSP_16_U20 :
      value = fields->f_dsp_16_u24;
      break;
    case M32C_OPERAND_DSP_16_U24 :
      value = fields->f_dsp_16_u24;
      break;
    case M32C_OPERAND_DSP_16_U8 :
      value = fields->f_dsp_16_u8;
      break;
    case M32C_OPERAND_DSP_24_S16 :
      value = fields->f_dsp_24_s16;
      break;
    case M32C_OPERAND_DSP_24_S8 :
      value = fields->f_dsp_24_s8;
      break;
    case M32C_OPERAND_DSP_24_U16 :
      value = fields->f_dsp_24_u16;
      break;
    case M32C_OPERAND_DSP_24_U20 :
      value = fields->f_dsp_24_u24;
      break;
    case M32C_OPERAND_DSP_24_U24 :
      value = fields->f_dsp_24_u24;
      break;
    case M32C_OPERAND_DSP_24_U8 :
      value = fields->f_dsp_24_u8;
      break;
    case M32C_OPERAND_DSP_32_S16 :
      value = fields->f_dsp_32_s16;
      break;
    case M32C_OPERAND_DSP_32_S8 :
      value = fields->f_dsp_32_s8;
      break;
    case M32C_OPERAND_DSP_32_U16 :
      value = fields->f_dsp_32_u16;
      break;
    case M32C_OPERAND_DSP_32_U20 :
      value = fields->f_dsp_32_u24;
      break;
    case M32C_OPERAND_DSP_32_U24 :
      value = fields->f_dsp_32_u24;
      break;
    case M32C_OPERAND_DSP_32_U8 :
      value = fields->f_dsp_32_u8;
      break;
    case M32C_OPERAND_DSP_40_S16 :
      value = fields->f_dsp_40_s16;
      break;
    case M32C_OPERAND_DSP_40_S8 :
      value = fields->f_dsp_40_s8;
      break;
    case M32C_OPERAND_DSP_40_U16 :
      value = fields->f_dsp_40_u16;
      break;
    case M32C_OPERAND_DSP_40_U20 :
      value = fields->f_dsp_40_u20;
      break;
    case M32C_OPERAND_DSP_40_U24 :
      value = fields->f_dsp_40_u24;
      break;
    case M32C_OPERAND_DSP_40_U8 :
      value = fields->f_dsp_40_u8;
      break;
    case M32C_OPERAND_DSP_48_S16 :
      value = fields->f_dsp_48_s16;
      break;
    case M32C_OPERAND_DSP_48_S8 :
      value = fields->f_dsp_48_s8;
      break;
    case M32C_OPERAND_DSP_48_U16 :
      value = fields->f_dsp_48_u16;
      break;
    case M32C_OPERAND_DSP_48_U20 :
      value = fields->f_dsp_48_u20;
      break;
    case M32C_OPERAND_DSP_48_U24 :
      value = fields->f_dsp_48_u24;
      break;
    case M32C_OPERAND_DSP_48_U8 :
      value = fields->f_dsp_48_u8;
      break;
    case M32C_OPERAND_DSP_8_S24 :
      value = fields->f_dsp_8_s24;
      break;
    case M32C_OPERAND_DSP_8_S8 :
      value = fields->f_dsp_8_s8;
      break;
    case M32C_OPERAND_DSP_8_U16 :
      value = fields->f_dsp_8_u16;
      break;
    case M32C_OPERAND_DSP_8_U24 :
      value = fields->f_dsp_8_u24;
      break;
    case M32C_OPERAND_DSP_8_U6 :
      value = fields->f_dsp_8_u6;
      break;
    case M32C_OPERAND_DSP_8_U8 :
      value = fields->f_dsp_8_u8;
      break;
    case M32C_OPERAND_DST16AN :
      value = fields->f_dst16_an;
      break;
    case M32C_OPERAND_DST16AN_S :
      value = fields->f_dst16_an_s;
      break;
    case M32C_OPERAND_DST16ANHI :
      value = fields->f_dst16_an;
      break;
    case M32C_OPERAND_DST16ANQI :
      value = fields->f_dst16_an;
      break;
    case M32C_OPERAND_DST16ANQI_S :
      value = fields->f_dst16_rn_QI_s;
      break;
    case M32C_OPERAND_DST16ANSI :
      value = fields->f_dst16_an;
      break;
    case M32C_OPERAND_DST16RNEXTQI :
      value = fields->f_dst16_rn_ext;
      break;
    case M32C_OPERAND_DST16RNHI :
      value = fields->f_dst16_rn;
      break;
    case M32C_OPERAND_DST16RNQI :
      value = fields->f_dst16_rn;
      break;
    case M32C_OPERAND_DST16RNQI_S :
      value = fields->f_dst16_rn_QI_s;
      break;
    case M32C_OPERAND_DST16RNSI :
      value = fields->f_dst16_rn;
      break;
    case M32C_OPERAND_DST32ANEXTUNPREFIXED :
      value = fields->f_dst32_an_unprefixed;
      break;
    case M32C_OPERAND_DST32ANPREFIXED :
      value = fields->f_dst32_an_prefixed;
      break;
    case M32C_OPERAND_DST32ANPREFIXEDHI :
      value = fields->f_dst32_an_prefixed;
      break;
    case M32C_OPERAND_DST32ANPREFIXEDQI :
      value = fields->f_dst32_an_prefixed;
      break;
    case M32C_OPERAND_DST32ANPREFIXEDSI :
      value = fields->f_dst32_an_prefixed;
      break;
    case M32C_OPERAND_DST32ANUNPREFIXED :
      value = fields->f_dst32_an_unprefixed;
      break;
    case M32C_OPERAND_DST32ANUNPREFIXEDHI :
      value = fields->f_dst32_an_unprefixed;
      break;
    case M32C_OPERAND_DST32ANUNPREFIXEDQI :
      value = fields->f_dst32_an_unprefixed;
      break;
    case M32C_OPERAND_DST32ANUNPREFIXEDSI :
      value = fields->f_dst32_an_unprefixed;
      break;
    case M32C_OPERAND_DST32R0HI_S :
      value = 0;
      break;
    case M32C_OPERAND_DST32R0QI_S :
      value = 0;
      break;
    case M32C_OPERAND_DST32RNEXTUNPREFIXEDHI :
      value = fields->f_dst32_rn_ext_unprefixed;
      break;
    case M32C_OPERAND_DST32RNEXTUNPREFIXEDQI :
      value = fields->f_dst32_rn_ext_unprefixed;
      break;
    case M32C_OPERAND_DST32RNPREFIXEDHI :
      value = fields->f_dst32_rn_prefixed_HI;
      break;
    case M32C_OPERAND_DST32RNPREFIXEDQI :
      value = fields->f_dst32_rn_prefixed_QI;
      break;
    case M32C_OPERAND_DST32RNPREFIXEDSI :
      value = fields->f_dst32_rn_prefixed_SI;
      break;
    case M32C_OPERAND_DST32RNUNPREFIXEDHI :
      value = fields->f_dst32_rn_unprefixed_HI;
      break;
    case M32C_OPERAND_DST32RNUNPREFIXEDQI :
      value = fields->f_dst32_rn_unprefixed_QI;
      break;
    case M32C_OPERAND_DST32RNUNPREFIXEDSI :
      value = fields->f_dst32_rn_unprefixed_SI;
      break;
    case M32C_OPERAND_G :
      value = 0;
      break;
    case M32C_OPERAND_IMM_12_S4 :
      value = fields->f_imm_12_s4;
      break;
    case M32C_OPERAND_IMM_12_S4N :
      value = fields->f_imm_12_s4;
      break;
    case M32C_OPERAND_IMM_13_U3 :
      value = fields->f_imm_13_u3;
      break;
    case M32C_OPERAND_IMM_16_HI :
      value = fields->f_dsp_16_s16;
      break;
    case M32C_OPERAND_IMM_16_QI :
      value = fields->f_dsp_16_s8;
      break;
    case M32C_OPERAND_IMM_16_SI :
      value = fields->f_dsp_16_s32;
      break;
    case M32C_OPERAND_IMM_20_S4 :
      value = fields->f_imm_20_s4;
      break;
    case M32C_OPERAND_IMM_24_HI :
      value = fields->f_dsp_24_s16;
      break;
    case M32C_OPERAND_IMM_24_QI :
      value = fields->f_dsp_24_s8;
      break;
    case M32C_OPERAND_IMM_24_SI :
      value = fields->f_dsp_24_s32;
      break;
    case M32C_OPERAND_IMM_32_HI :
      value = fields->f_dsp_32_s16;
      break;
    case M32C_OPERAND_IMM_32_QI :
      value = fields->f_dsp_32_s8;
      break;
    case M32C_OPERAND_IMM_32_SI :
      value = fields->f_dsp_32_s32;
      break;
    case M32C_OPERAND_IMM_40_HI :
      value = fields->f_dsp_40_s16;
      break;
    case M32C_OPERAND_IMM_40_QI :
      value = fields->f_dsp_40_s8;
      break;
    case M32C_OPERAND_IMM_40_SI :
      value = fields->f_dsp_40_s32;
      break;
    case M32C_OPERAND_IMM_48_HI :
      value = fields->f_dsp_48_s16;
      break;
    case M32C_OPERAND_IMM_48_QI :
      value = fields->f_dsp_48_s8;
      break;
    case M32C_OPERAND_IMM_48_SI :
      value = fields->f_dsp_48_s32;
      break;
    case M32C_OPERAND_IMM_56_HI :
      value = fields->f_dsp_56_s16;
      break;
    case M32C_OPERAND_IMM_56_QI :
      value = fields->f_dsp_56_s8;
      break;
    case M32C_OPERAND_IMM_64_HI :
      value = fields->f_dsp_64_s16;
      break;
    case M32C_OPERAND_IMM_8_HI :
      value = fields->f_dsp_8_s16;
      break;
    case M32C_OPERAND_IMM_8_QI :
      value = fields->f_dsp_8_s8;
      break;
    case M32C_OPERAND_IMM_8_S4 :
      value = fields->f_imm_8_s4;
      break;
    case M32C_OPERAND_IMM_8_S4N :
      value = fields->f_imm_8_s4;
      break;
    case M32C_OPERAND_IMM_SH_12_S4 :
      value = fields->f_imm_12_s4;
      break;
    case M32C_OPERAND_IMM_SH_20_S4 :
      value = fields->f_imm_20_s4;
      break;
    case M32C_OPERAND_IMM_SH_8_S4 :
      value = fields->f_imm_8_s4;
      break;
    case M32C_OPERAND_IMM1_S :
      value = fields->f_imm1_S;
      break;
    case M32C_OPERAND_IMM3_S :
      value = fields->f_imm3_S;
      break;
    case M32C_OPERAND_LAB_16_8 :
      value = fields->f_lab_16_8;
      break;
    case M32C_OPERAND_LAB_24_8 :
      value = fields->f_lab_24_8;
      break;
    case M32C_OPERAND_LAB_32_8 :
      value = fields->f_lab_32_8;
      break;
    case M32C_OPERAND_LAB_40_8 :
      value = fields->f_lab_40_8;
      break;
    case M32C_OPERAND_LAB_5_3 :
      value = fields->f_lab_5_3;
      break;
    case M32C_OPERAND_LAB_8_16 :
      value = fields->f_lab_8_16;
      break;
    case M32C_OPERAND_LAB_8_24 :
      value = fields->f_lab_8_24;
      break;
    case M32C_OPERAND_LAB_8_8 :
      value = fields->f_lab_8_8;
      break;
    case M32C_OPERAND_LAB32_JMP_S :
      value = fields->f_lab32_jmp_s;
      break;
    case M32C_OPERAND_Q :
      value = 0;
      break;
    case M32C_OPERAND_R0 :
      value = 0;
      break;
    case M32C_OPERAND_R0H :
      value = 0;
      break;
    case M32C_OPERAND_R0L :
      value = 0;
      break;
    case M32C_OPERAND_R1 :
      value = 0;
      break;
    case M32C_OPERAND_R1R2R0 :
      value = 0;
      break;
    case M32C_OPERAND_R2 :
      value = 0;
      break;
    case M32C_OPERAND_R2R0 :
      value = 0;
      break;
    case M32C_OPERAND_R3 :
      value = 0;
      break;
    case M32C_OPERAND_R3R1 :
      value = 0;
      break;
    case M32C_OPERAND_REGSETPOP :
      value = fields->f_8_8;
      break;
    case M32C_OPERAND_REGSETPUSH :
      value = fields->f_8_8;
      break;
    case M32C_OPERAND_RN16_PUSH_S :
      value = fields->f_4_1;
      break;
    case M32C_OPERAND_S :
      value = 0;
      break;
    case M32C_OPERAND_SRC16AN :
      value = fields->f_src16_an;
      break;
    case M32C_OPERAND_SRC16ANHI :
      value = fields->f_src16_an;
      break;
    case M32C_OPERAND_SRC16ANQI :
      value = fields->f_src16_an;
      break;
    case M32C_OPERAND_SRC16RNHI :
      value = fields->f_src16_rn;
      break;
    case M32C_OPERAND_SRC16RNQI :
      value = fields->f_src16_rn;
      break;
    case M32C_OPERAND_SRC32ANPREFIXED :
      value = fields->f_src32_an_prefixed;
      break;
    case M32C_OPERAND_SRC32ANPREFIXEDHI :
      value = fields->f_src32_an_prefixed;
      break;
    case M32C_OPERAND_SRC32ANPREFIXEDQI :
      value = fields->f_src32_an_prefixed;
      break;
    case M32C_OPERAND_SRC32ANPREFIXEDSI :
      value = fields->f_src32_an_prefixed;
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXED :
      value = fields->f_src32_an_unprefixed;
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXEDHI :
      value = fields->f_src32_an_unprefixed;
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXEDQI :
      value = fields->f_src32_an_unprefixed;
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXEDSI :
      value = fields->f_src32_an_unprefixed;
      break;
    case M32C_OPERAND_SRC32RNPREFIXEDHI :
      value = fields->f_src32_rn_prefixed_HI;
      break;
    case M32C_OPERAND_SRC32RNPREFIXEDQI :
      value = fields->f_src32_rn_prefixed_QI;
      break;
    case M32C_OPERAND_SRC32RNPREFIXEDSI :
      value = fields->f_src32_rn_prefixed_SI;
      break;
    case M32C_OPERAND_SRC32RNUNPREFIXEDHI :
      value = fields->f_src32_rn_unprefixed_HI;
      break;
    case M32C_OPERAND_SRC32RNUNPREFIXEDQI :
      value = fields->f_src32_rn_unprefixed_QI;
      break;
    case M32C_OPERAND_SRC32RNUNPREFIXEDSI :
      value = fields->f_src32_rn_unprefixed_SI;
      break;
    case M32C_OPERAND_SRCDST16_R0L_R0H_S_NORMAL :
      value = fields->f_5_1;
      break;
    case M32C_OPERAND_X :
      value = 0;
      break;
    case M32C_OPERAND_Z :
      value = 0;
      break;
    case M32C_OPERAND_COND16_16 :
      value = fields->f_dsp_16_u8;
      break;
    case M32C_OPERAND_COND16_24 :
      value = fields->f_dsp_24_u8;
      break;
    case M32C_OPERAND_COND16_32 :
      value = fields->f_dsp_32_u8;
      break;
    case M32C_OPERAND_COND16C :
      value = fields->f_cond16;
      break;
    case M32C_OPERAND_COND16J :
      value = fields->f_cond16;
      break;
    case M32C_OPERAND_COND16J5 :
      value = fields->f_cond16j_5;
      break;
    case M32C_OPERAND_COND32 :
      value = fields->f_cond32;
      break;
    case M32C_OPERAND_COND32_16 :
      value = fields->f_dsp_16_u8;
      break;
    case M32C_OPERAND_COND32_24 :
      value = fields->f_dsp_24_u8;
      break;
    case M32C_OPERAND_COND32_32 :
      value = fields->f_dsp_32_u8;
      break;
    case M32C_OPERAND_COND32_40 :
      value = fields->f_dsp_40_u8;
      break;
    case M32C_OPERAND_COND32J :
      value = fields->f_cond32j;
      break;
    case M32C_OPERAND_CR1_PREFIXED_32 :
      value = fields->f_21_3;
      break;
    case M32C_OPERAND_CR1_UNPREFIXED_32 :
      value = fields->f_13_3;
      break;
    case M32C_OPERAND_CR16 :
      value = fields->f_9_3;
      break;
    case M32C_OPERAND_CR2_32 :
      value = fields->f_13_3;
      break;
    case M32C_OPERAND_CR3_PREFIXED_32 :
      value = fields->f_21_3;
      break;
    case M32C_OPERAND_CR3_UNPREFIXED_32 :
      value = fields->f_13_3;
      break;
    case M32C_OPERAND_FLAGS16 :
      value = fields->f_9_3;
      break;
    case M32C_OPERAND_FLAGS32 :
      value = fields->f_13_3;
      break;
    case M32C_OPERAND_SCCOND32 :
      value = fields->f_cond16;
      break;
    case M32C_OPERAND_SIZE :
      value = 0;
      break;

    default :
      /* xgettext:c-format */
      fprintf (stderr, _("Unrecognized field %d while getting int operand.\n"),
                     opindex);
      abort ();
  }

  return value;
}

Here is the call graph for this function:

bfd_vma m32c_cgen_get_vma_operand ( CGEN_CPU_DESC  ,
int  ,
const CGEN_FIELDS *   
)

Here is the caller graph for this function:

bfd_vma m32c_cgen_get_vma_operand ( CGEN_CPU_DESC cd  ATTRIBUTE_UNUSED,
int  opindex,
const CGEN_FIELDS *  fields 
)

Definition at line 3514 of file m32c-ibld.c.

{
  bfd_vma value;

  switch (opindex)
    {
    case M32C_OPERAND_A0 :
      value = 0;
      break;
    case M32C_OPERAND_A1 :
      value = 0;
      break;
    case M32C_OPERAND_AN16_PUSH_S :
      value = fields->f_4_1;
      break;
    case M32C_OPERAND_BIT16AN :
      value = fields->f_dst16_an;
      break;
    case M32C_OPERAND_BIT16RN :
      value = fields->f_dst16_rn;
      break;
    case M32C_OPERAND_BIT3_S :
      value = fields->f_imm3_S;
      break;
    case M32C_OPERAND_BIT32ANPREFIXED :
      value = fields->f_dst32_an_prefixed;
      break;
    case M32C_OPERAND_BIT32ANUNPREFIXED :
      value = fields->f_dst32_an_unprefixed;
      break;
    case M32C_OPERAND_BIT32RNPREFIXED :
      value = fields->f_dst32_rn_prefixed_QI;
      break;
    case M32C_OPERAND_BIT32RNUNPREFIXED :
      value = fields->f_dst32_rn_unprefixed_QI;
      break;
    case M32C_OPERAND_BITBASE16_16_S8 :
      value = fields->f_dsp_16_s8;
      break;
    case M32C_OPERAND_BITBASE16_16_U16 :
      value = fields->f_dsp_16_u16;
      break;
    case M32C_OPERAND_BITBASE16_16_U8 :
      value = fields->f_dsp_16_u8;
      break;
    case M32C_OPERAND_BITBASE16_8_U11_S :
      value = fields->f_bitbase16_u11_S;
      break;
    case M32C_OPERAND_BITBASE32_16_S11_UNPREFIXED :
      value = fields->f_bitbase32_16_s11_unprefixed;
      break;
    case M32C_OPERAND_BITBASE32_16_S19_UNPREFIXED :
      value = fields->f_bitbase32_16_s19_unprefixed;
      break;
    case M32C_OPERAND_BITBASE32_16_U11_UNPREFIXED :
      value = fields->f_bitbase32_16_u11_unprefixed;
      break;
    case M32C_OPERAND_BITBASE32_16_U19_UNPREFIXED :
      value = fields->f_bitbase32_16_u19_unprefixed;
      break;
    case M32C_OPERAND_BITBASE32_16_U27_UNPREFIXED :
      value = fields->f_bitbase32_16_u27_unprefixed;
      break;
    case M32C_OPERAND_BITBASE32_24_S11_PREFIXED :
      value = fields->f_bitbase32_24_s11_prefixed;
      break;
    case M32C_OPERAND_BITBASE32_24_S19_PREFIXED :
      value = fields->f_bitbase32_24_s19_prefixed;
      break;
    case M32C_OPERAND_BITBASE32_24_U11_PREFIXED :
      value = fields->f_bitbase32_24_u11_prefixed;
      break;
    case M32C_OPERAND_BITBASE32_24_U19_PREFIXED :
      value = fields->f_bitbase32_24_u19_prefixed;
      break;
    case M32C_OPERAND_BITBASE32_24_U27_PREFIXED :
      value = fields->f_bitbase32_24_u27_prefixed;
      break;
    case M32C_OPERAND_BITNO16R :
      value = fields->f_dsp_16_u8;
      break;
    case M32C_OPERAND_BITNO32PREFIXED :
      value = fields->f_bitno32_prefixed;
      break;
    case M32C_OPERAND_BITNO32UNPREFIXED :
      value = fields->f_bitno32_unprefixed;
      break;
    case M32C_OPERAND_DSP_10_U6 :
      value = fields->f_dsp_10_u6;
      break;
    case M32C_OPERAND_DSP_16_S16 :
      value = fields->f_dsp_16_s16;
      break;
    case M32C_OPERAND_DSP_16_S8 :
      value = fields->f_dsp_16_s8;
      break;
    case M32C_OPERAND_DSP_16_U16 :
      value = fields->f_dsp_16_u16;
      break;
    case M32C_OPERAND_DSP_16_U20 :
      value = fields->f_dsp_16_u24;
      break;
    case M32C_OPERAND_DSP_16_U24 :
      value = fields->f_dsp_16_u24;
      break;
    case M32C_OPERAND_DSP_16_U8 :
      value = fields->f_dsp_16_u8;
      break;
    case M32C_OPERAND_DSP_24_S16 :
      value = fields->f_dsp_24_s16;
      break;
    case M32C_OPERAND_DSP_24_S8 :
      value = fields->f_dsp_24_s8;
      break;
    case M32C_OPERAND_DSP_24_U16 :
      value = fields->f_dsp_24_u16;
      break;
    case M32C_OPERAND_DSP_24_U20 :
      value = fields->f_dsp_24_u24;
      break;
    case M32C_OPERAND_DSP_24_U24 :
      value = fields->f_dsp_24_u24;
      break;
    case M32C_OPERAND_DSP_24_U8 :
      value = fields->f_dsp_24_u8;
      break;
    case M32C_OPERAND_DSP_32_S16 :
      value = fields->f_dsp_32_s16;
      break;
    case M32C_OPERAND_DSP_32_S8 :
      value = fields->f_dsp_32_s8;
      break;
    case M32C_OPERAND_DSP_32_U16 :
      value = fields->f_dsp_32_u16;
      break;
    case M32C_OPERAND_DSP_32_U20 :
      value = fields->f_dsp_32_u24;
      break;
    case M32C_OPERAND_DSP_32_U24 :
      value = fields->f_dsp_32_u24;
      break;
    case M32C_OPERAND_DSP_32_U8 :
      value = fields->f_dsp_32_u8;
      break;
    case M32C_OPERAND_DSP_40_S16 :
      value = fields->f_dsp_40_s16;
      break;
    case M32C_OPERAND_DSP_40_S8 :
      value = fields->f_dsp_40_s8;
      break;
    case M32C_OPERAND_DSP_40_U16 :
      value = fields->f_dsp_40_u16;
      break;
    case M32C_OPERAND_DSP_40_U20 :
      value = fields->f_dsp_40_u20;
      break;
    case M32C_OPERAND_DSP_40_U24 :
      value = fields->f_dsp_40_u24;
      break;
    case M32C_OPERAND_DSP_40_U8 :
      value = fields->f_dsp_40_u8;
      break;
    case M32C_OPERAND_DSP_48_S16 :
      value = fields->f_dsp_48_s16;
      break;
    case M32C_OPERAND_DSP_48_S8 :
      value = fields->f_dsp_48_s8;
      break;
    case M32C_OPERAND_DSP_48_U16 :
      value = fields->f_dsp_48_u16;
      break;
    case M32C_OPERAND_DSP_48_U20 :
      value = fields->f_dsp_48_u20;
      break;
    case M32C_OPERAND_DSP_48_U24 :
      value = fields->f_dsp_48_u24;
      break;
    case M32C_OPERAND_DSP_48_U8 :
      value = fields->f_dsp_48_u8;
      break;
    case M32C_OPERAND_DSP_8_S24 :
      value = fields->f_dsp_8_s24;
      break;
    case M32C_OPERAND_DSP_8_S8 :
      value = fields->f_dsp_8_s8;
      break;
    case M32C_OPERAND_DSP_8_U16 :
      value = fields->f_dsp_8_u16;
      break;
    case M32C_OPERAND_DSP_8_U24 :
      value = fields->f_dsp_8_u24;
      break;
    case M32C_OPERAND_DSP_8_U6 :
      value = fields->f_dsp_8_u6;
      break;
    case M32C_OPERAND_DSP_8_U8 :
      value = fields->f_dsp_8_u8;
      break;
    case M32C_OPERAND_DST16AN :
      value = fields->f_dst16_an;
      break;
    case M32C_OPERAND_DST16AN_S :
      value = fields->f_dst16_an_s;
      break;
    case M32C_OPERAND_DST16ANHI :
      value = fields->f_dst16_an;
      break;
    case M32C_OPERAND_DST16ANQI :
      value = fields->f_dst16_an;
      break;
    case M32C_OPERAND_DST16ANQI_S :
      value = fields->f_dst16_rn_QI_s;
      break;
    case M32C_OPERAND_DST16ANSI :
      value = fields->f_dst16_an;
      break;
    case M32C_OPERAND_DST16RNEXTQI :
      value = fields->f_dst16_rn_ext;
      break;
    case M32C_OPERAND_DST16RNHI :
      value = fields->f_dst16_rn;
      break;
    case M32C_OPERAND_DST16RNQI :
      value = fields->f_dst16_rn;
      break;
    case M32C_OPERAND_DST16RNQI_S :
      value = fields->f_dst16_rn_QI_s;
      break;
    case M32C_OPERAND_DST16RNSI :
      value = fields->f_dst16_rn;
      break;
    case M32C_OPERAND_DST32ANEXTUNPREFIXED :
      value = fields->f_dst32_an_unprefixed;
      break;
    case M32C_OPERAND_DST32ANPREFIXED :
      value = fields->f_dst32_an_prefixed;
      break;
    case M32C_OPERAND_DST32ANPREFIXEDHI :
      value = fields->f_dst32_an_prefixed;
      break;
    case M32C_OPERAND_DST32ANPREFIXEDQI :
      value = fields->f_dst32_an_prefixed;
      break;
    case M32C_OPERAND_DST32ANPREFIXEDSI :
      value = fields->f_dst32_an_prefixed;
      break;
    case M32C_OPERAND_DST32ANUNPREFIXED :
      value = fields->f_dst32_an_unprefixed;
      break;
    case M32C_OPERAND_DST32ANUNPREFIXEDHI :
      value = fields->f_dst32_an_unprefixed;
      break;
    case M32C_OPERAND_DST32ANUNPREFIXEDQI :
      value = fields->f_dst32_an_unprefixed;
      break;
    case M32C_OPERAND_DST32ANUNPREFIXEDSI :
      value = fields->f_dst32_an_unprefixed;
      break;
    case M32C_OPERAND_DST32R0HI_S :
      value = 0;
      break;
    case M32C_OPERAND_DST32R0QI_S :
      value = 0;
      break;
    case M32C_OPERAND_DST32RNEXTUNPREFIXEDHI :
      value = fields->f_dst32_rn_ext_unprefixed;
      break;
    case M32C_OPERAND_DST32RNEXTUNPREFIXEDQI :
      value = fields->f_dst32_rn_ext_unprefixed;
      break;
    case M32C_OPERAND_DST32RNPREFIXEDHI :
      value = fields->f_dst32_rn_prefixed_HI;
      break;
    case M32C_OPERAND_DST32RNPREFIXEDQI :
      value = fields->f_dst32_rn_prefixed_QI;
      break;
    case M32C_OPERAND_DST32RNPREFIXEDSI :
      value = fields->f_dst32_rn_prefixed_SI;
      break;
    case M32C_OPERAND_DST32RNUNPREFIXEDHI :
      value = fields->f_dst32_rn_unprefixed_HI;
      break;
    case M32C_OPERAND_DST32RNUNPREFIXEDQI :
      value = fields->f_dst32_rn_unprefixed_QI;
      break;
    case M32C_OPERAND_DST32RNUNPREFIXEDSI :
      value = fields->f_dst32_rn_unprefixed_SI;
      break;
    case M32C_OPERAND_G :
      value = 0;
      break;
    case M32C_OPERAND_IMM_12_S4 :
      value = fields->f_imm_12_s4;
      break;
    case M32C_OPERAND_IMM_12_S4N :
      value = fields->f_imm_12_s4;
      break;
    case M32C_OPERAND_IMM_13_U3 :
      value = fields->f_imm_13_u3;
      break;
    case M32C_OPERAND_IMM_16_HI :
      value = fields->f_dsp_16_s16;
      break;
    case M32C_OPERAND_IMM_16_QI :
      value = fields->f_dsp_16_s8;
      break;
    case M32C_OPERAND_IMM_16_SI :
      value = fields->f_dsp_16_s32;
      break;
    case M32C_OPERAND_IMM_20_S4 :
      value = fields->f_imm_20_s4;
      break;
    case M32C_OPERAND_IMM_24_HI :
      value = fields->f_dsp_24_s16;
      break;
    case M32C_OPERAND_IMM_24_QI :
      value = fields->f_dsp_24_s8;
      break;
    case M32C_OPERAND_IMM_24_SI :
      value = fields->f_dsp_24_s32;
      break;
    case M32C_OPERAND_IMM_32_HI :
      value = fields->f_dsp_32_s16;
      break;
    case M32C_OPERAND_IMM_32_QI :
      value = fields->f_dsp_32_s8;
      break;
    case M32C_OPERAND_IMM_32_SI :
      value = fields->f_dsp_32_s32;
      break;
    case M32C_OPERAND_IMM_40_HI :
      value = fields->f_dsp_40_s16;
      break;
    case M32C_OPERAND_IMM_40_QI :
      value = fields->f_dsp_40_s8;
      break;
    case M32C_OPERAND_IMM_40_SI :
      value = fields->f_dsp_40_s32;
      break;
    case M32C_OPERAND_IMM_48_HI :
      value = fields->f_dsp_48_s16;
      break;
    case M32C_OPERAND_IMM_48_QI :
      value = fields->f_dsp_48_s8;
      break;
    case M32C_OPERAND_IMM_48_SI :
      value = fields->f_dsp_48_s32;
      break;
    case M32C_OPERAND_IMM_56_HI :
      value = fields->f_dsp_56_s16;
      break;
    case M32C_OPERAND_IMM_56_QI :
      value = fields->f_dsp_56_s8;
      break;
    case M32C_OPERAND_IMM_64_HI :
      value = fields->f_dsp_64_s16;
      break;
    case M32C_OPERAND_IMM_8_HI :
      value = fields->f_dsp_8_s16;
      break;
    case M32C_OPERAND_IMM_8_QI :
      value = fields->f_dsp_8_s8;
      break;
    case M32C_OPERAND_IMM_8_S4 :
      value = fields->f_imm_8_s4;
      break;
    case M32C_OPERAND_IMM_8_S4N :
      value = fields->f_imm_8_s4;
      break;
    case M32C_OPERAND_IMM_SH_12_S4 :
      value = fields->f_imm_12_s4;
      break;
    case M32C_OPERAND_IMM_SH_20_S4 :
      value = fields->f_imm_20_s4;
      break;
    case M32C_OPERAND_IMM_SH_8_S4 :
      value = fields->f_imm_8_s4;
      break;
    case M32C_OPERAND_IMM1_S :
      value = fields->f_imm1_S;
      break;
    case M32C_OPERAND_IMM3_S :
      value = fields->f_imm3_S;
      break;
    case M32C_OPERAND_LAB_16_8 :
      value = fields->f_lab_16_8;
      break;
    case M32C_OPERAND_LAB_24_8 :
      value = fields->f_lab_24_8;
      break;
    case M32C_OPERAND_LAB_32_8 :
      value = fields->f_lab_32_8;
      break;
    case M32C_OPERAND_LAB_40_8 :
      value = fields->f_lab_40_8;
      break;
    case M32C_OPERAND_LAB_5_3 :
      value = fields->f_lab_5_3;
      break;
    case M32C_OPERAND_LAB_8_16 :
      value = fields->f_lab_8_16;
      break;
    case M32C_OPERAND_LAB_8_24 :
      value = fields->f_lab_8_24;
      break;
    case M32C_OPERAND_LAB_8_8 :
      value = fields->f_lab_8_8;
      break;
    case M32C_OPERAND_LAB32_JMP_S :
      value = fields->f_lab32_jmp_s;
      break;
    case M32C_OPERAND_Q :
      value = 0;
      break;
    case M32C_OPERAND_R0 :
      value = 0;
      break;
    case M32C_OPERAND_R0H :
      value = 0;
      break;
    case M32C_OPERAND_R0L :
      value = 0;
      break;
    case M32C_OPERAND_R1 :
      value = 0;
      break;
    case M32C_OPERAND_R1R2R0 :
      value = 0;
      break;
    case M32C_OPERAND_R2 :
      value = 0;
      break;
    case M32C_OPERAND_R2R0 :
      value = 0;
      break;
    case M32C_OPERAND_R3 :
      value = 0;
      break;
    case M32C_OPERAND_R3R1 :
      value = 0;
      break;
    case M32C_OPERAND_REGSETPOP :
      value = fields->f_8_8;
      break;
    case M32C_OPERAND_REGSETPUSH :
      value = fields->f_8_8;
      break;
    case M32C_OPERAND_RN16_PUSH_S :
      value = fields->f_4_1;
      break;
    case M32C_OPERAND_S :
      value = 0;
      break;
    case M32C_OPERAND_SRC16AN :
      value = fields->f_src16_an;
      break;
    case M32C_OPERAND_SRC16ANHI :
      value = fields->f_src16_an;
      break;
    case M32C_OPERAND_SRC16ANQI :
      value = fields->f_src16_an;
      break;
    case M32C_OPERAND_SRC16RNHI :
      value = fields->f_src16_rn;
      break;
    case M32C_OPERAND_SRC16RNQI :
      value = fields->f_src16_rn;
      break;
    case M32C_OPERAND_SRC32ANPREFIXED :
      value = fields->f_src32_an_prefixed;
      break;
    case M32C_OPERAND_SRC32ANPREFIXEDHI :
      value = fields->f_src32_an_prefixed;
      break;
    case M32C_OPERAND_SRC32ANPREFIXEDQI :
      value = fields->f_src32_an_prefixed;
      break;
    case M32C_OPERAND_SRC32ANPREFIXEDSI :
      value = fields->f_src32_an_prefixed;
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXED :
      value = fields->f_src32_an_unprefixed;
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXEDHI :
      value = fields->f_src32_an_unprefixed;
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXEDQI :
      value = fields->f_src32_an_unprefixed;
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXEDSI :
      value = fields->f_src32_an_unprefixed;
      break;
    case M32C_OPERAND_SRC32RNPREFIXEDHI :
      value = fields->f_src32_rn_prefixed_HI;
      break;
    case M32C_OPERAND_SRC32RNPREFIXEDQI :
      value = fields->f_src32_rn_prefixed_QI;
      break;
    case M32C_OPERAND_SRC32RNPREFIXEDSI :
      value = fields->f_src32_rn_prefixed_SI;
      break;
    case M32C_OPERAND_SRC32RNUNPREFIXEDHI :
      value = fields->f_src32_rn_unprefixed_HI;
      break;
    case M32C_OPERAND_SRC32RNUNPREFIXEDQI :
      value = fields->f_src32_rn_unprefixed_QI;
      break;
    case M32C_OPERAND_SRC32RNUNPREFIXEDSI :
      value = fields->f_src32_rn_unprefixed_SI;
      break;
    case M32C_OPERAND_SRCDST16_R0L_R0H_S_NORMAL :
      value = fields->f_5_1;
      break;
    case M32C_OPERAND_X :
      value = 0;
      break;
    case M32C_OPERAND_Z :
      value = 0;
      break;
    case M32C_OPERAND_COND16_16 :
      value = fields->f_dsp_16_u8;
      break;
    case M32C_OPERAND_COND16_24 :
      value = fields->f_dsp_24_u8;
      break;
    case M32C_OPERAND_COND16_32 :
      value = fields->f_dsp_32_u8;
      break;
    case M32C_OPERAND_COND16C :
      value = fields->f_cond16;
      break;
    case M32C_OPERAND_COND16J :
      value = fields->f_cond16;
      break;
    case M32C_OPERAND_COND16J5 :
      value = fields->f_cond16j_5;
      break;
    case M32C_OPERAND_COND32 :
      value = fields->f_cond32;
      break;
    case M32C_OPERAND_COND32_16 :
      value = fields->f_dsp_16_u8;
      break;
    case M32C_OPERAND_COND32_24 :
      value = fields->f_dsp_24_u8;
      break;
    case M32C_OPERAND_COND32_32 :
      value = fields->f_dsp_32_u8;
      break;
    case M32C_OPERAND_COND32_40 :
      value = fields->f_dsp_40_u8;
      break;
    case M32C_OPERAND_COND32J :
      value = fields->f_cond32j;
      break;
    case M32C_OPERAND_CR1_PREFIXED_32 :
      value = fields->f_21_3;
      break;
    case M32C_OPERAND_CR1_UNPREFIXED_32 :
      value = fields->f_13_3;
      break;
    case M32C_OPERAND_CR16 :
      value = fields->f_9_3;
      break;
    case M32C_OPERAND_CR2_32 :
      value = fields->f_13_3;
      break;
    case M32C_OPERAND_CR3_PREFIXED_32 :
      value = fields->f_21_3;
      break;
    case M32C_OPERAND_CR3_UNPREFIXED_32 :
      value = fields->f_13_3;
      break;
    case M32C_OPERAND_FLAGS16 :
      value = fields->f_9_3;
      break;
    case M32C_OPERAND_FLAGS32 :
      value = fields->f_13_3;
      break;
    case M32C_OPERAND_SCCOND32 :
      value = fields->f_cond16;
      break;
    case M32C_OPERAND_SIZE :
      value = 0;
      break;

    default :
      /* xgettext:c-format */
      fprintf (stderr, _("Unrecognized field %d while getting vma operand.\n"),
                     opindex);
      abort ();
  }

  return value;
}

Here is the call graph for this function:

const char* m32c_cgen_insert_operand ( CGEN_CPU_DESC  ,
int  ,
CGEN_FIELDS *  ,
CGEN_INSN_BYTES_PTR  ,
bfd_vma   
)

Here is the caller graph for this function:

const char* m32c_cgen_insert_operand ( CGEN_CPU_DESC  cd,
int  opindex,
CGEN_FIELDS *  fields,
CGEN_INSN_BYTES_PTR  buffer,
bfd_vma pc  ATTRIBUTE_UNUSED 
)

Definition at line 557 of file m32c-ibld.c.

{
  const char * errmsg = NULL;
  unsigned int total_length = CGEN_FIELDS_BITSIZE (fields);

  switch (opindex)
    {
    case M32C_OPERAND_A0 :
      break;
    case M32C_OPERAND_A1 :
      break;
    case M32C_OPERAND_AN16_PUSH_S :
      errmsg = insert_normal (cd, fields->f_4_1, 0, 0, 4, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_BIT16AN :
      errmsg = insert_normal (cd, fields->f_dst16_an, 0, 0, 15, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_BIT16RN :
      errmsg = insert_normal (cd, fields->f_dst16_rn, 0, 0, 14, 2, 32, total_length, buffer);
      break;
    case M32C_OPERAND_BIT3_S :
      {
{
  FLD (f_7_1) = ((((FLD (f_imm3_S)) - (1))) & (1));
  FLD (f_2_2) = ((((unsigned int) (((FLD (f_imm3_S)) - (1))) >> (1))) & (3));
}
        errmsg = insert_normal (cd, fields->f_2_2, 0, 0, 2, 2, 32, total_length, buffer);
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_7_1, 0, 0, 7, 1, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_BIT32ANPREFIXED :
      errmsg = insert_normal (cd, fields->f_dst32_an_prefixed, 0, 0, 17, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_BIT32ANUNPREFIXED :
      errmsg = insert_normal (cd, fields->f_dst32_an_unprefixed, 0, 0, 9, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_BIT32RNPREFIXED :
      {
        long value = fields->f_dst32_rn_prefixed_QI;
        value = (((((((~ (value))) << (1))) & (2))) | (((((unsigned int) (value) >> (1))) & (1))));
        errmsg = insert_normal (cd, value, 0, 0, 16, 2, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_BIT32RNUNPREFIXED :
      {
        long value = fields->f_dst32_rn_unprefixed_QI;
        value = (((((((~ (value))) << (1))) & (2))) | (((((unsigned int) (value) >> (1))) & (1))));
        errmsg = insert_normal (cd, value, 0, 0, 8, 2, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_BITBASE16_16_S8 :
      errmsg = insert_normal (cd, fields->f_dsp_16_s8, 0|(1<<CGEN_IFLD_SIGNED), 0, 16, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_BITBASE16_16_U16 :
      {
        long value = fields->f_dsp_16_u16;
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        errmsg = insert_normal (cd, value, 0, 0, 16, 16, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_BITBASE16_16_U8 :
      errmsg = insert_normal (cd, fields->f_dsp_16_u8, 0, 0, 16, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_BITBASE16_8_U11_S :
      {
{
  FLD (f_bitno16_S) = ((FLD (f_bitbase16_u11_S)) & (7));
  FLD (f_dsp_8_u8) = ((((unsigned int) (FLD (f_bitbase16_u11_S)) >> (3))) & (255));
}
        errmsg = insert_normal (cd, fields->f_bitno16_S, 0, 0, 5, 3, 32, total_length, buffer);
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_8_u8, 0, 0, 8, 8, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_BITBASE32_16_S11_UNPREFIXED :
      {
{
  FLD (f_bitno32_unprefixed) = ((FLD (f_bitbase32_16_s11_unprefixed)) & (7));
  FLD (f_dsp_16_s8) = ((int) (FLD (f_bitbase32_16_s11_unprefixed)) >> (3));
}
        errmsg = insert_normal (cd, fields->f_bitno32_unprefixed, 0, 0, 13, 3, 32, total_length, buffer);
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_16_s8, 0|(1<<CGEN_IFLD_SIGNED), 0, 16, 8, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_BITBASE32_16_S19_UNPREFIXED :
      {
{
  FLD (f_bitno32_unprefixed) = ((FLD (f_bitbase32_16_s19_unprefixed)) & (7));
  FLD (f_dsp_16_s16) = ((int) (FLD (f_bitbase32_16_s19_unprefixed)) >> (3));
}
        errmsg = insert_normal (cd, fields->f_bitno32_unprefixed, 0, 0, 13, 3, 32, total_length, buffer);
        if (errmsg)
          break;
        {
        long value = fields->f_dsp_16_s16;
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED), 0, 16, 16, 32, total_length, buffer);
      }
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_BITBASE32_16_U11_UNPREFIXED :
      {
{
  FLD (f_bitno32_unprefixed) = ((FLD (f_bitbase32_16_u11_unprefixed)) & (7));
  FLD (f_dsp_16_u8) = ((((unsigned int) (FLD (f_bitbase32_16_u11_unprefixed)) >> (3))) & (255));
}
        errmsg = insert_normal (cd, fields->f_bitno32_unprefixed, 0, 0, 13, 3, 32, total_length, buffer);
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_16_u8, 0, 0, 16, 8, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_BITBASE32_16_U19_UNPREFIXED :
      {
{
  FLD (f_bitno32_unprefixed) = ((FLD (f_bitbase32_16_u19_unprefixed)) & (7));
  FLD (f_dsp_16_u16) = ((((unsigned int) (FLD (f_bitbase32_16_u19_unprefixed)) >> (3))) & (65535));
}
        errmsg = insert_normal (cd, fields->f_bitno32_unprefixed, 0, 0, 13, 3, 32, total_length, buffer);
        if (errmsg)
          break;
        {
        long value = fields->f_dsp_16_u16;
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        errmsg = insert_normal (cd, value, 0, 0, 16, 16, 32, total_length, buffer);
      }
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_BITBASE32_16_U27_UNPREFIXED :
      {
{
  FLD (f_bitno32_unprefixed) = ((FLD (f_bitbase32_16_u27_unprefixed)) & (7));
  FLD (f_dsp_16_u16) = ((((unsigned int) (FLD (f_bitbase32_16_u27_unprefixed)) >> (3))) & (65535));
  FLD (f_dsp_32_u8) = ((((unsigned int) (FLD (f_bitbase32_16_u27_unprefixed)) >> (19))) & (255));
}
        errmsg = insert_normal (cd, fields->f_bitno32_unprefixed, 0, 0, 13, 3, 32, total_length, buffer);
        if (errmsg)
          break;
        {
        long value = fields->f_dsp_16_u16;
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        errmsg = insert_normal (cd, value, 0, 0, 16, 16, 32, total_length, buffer);
      }
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_32_u8, 0, 32, 0, 8, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_BITBASE32_24_S11_PREFIXED :
      {
{
  FLD (f_bitno32_prefixed) = ((FLD (f_bitbase32_24_s11_prefixed)) & (7));
  FLD (f_dsp_24_s8) = ((int) (FLD (f_bitbase32_24_s11_prefixed)) >> (3));
}
        errmsg = insert_normal (cd, fields->f_bitno32_prefixed, 0, 0, 21, 3, 32, total_length, buffer);
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_24_s8, 0|(1<<CGEN_IFLD_SIGNED), 0, 24, 8, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_BITBASE32_24_S19_PREFIXED :
      {
{
  FLD (f_bitno32_prefixed) = ((FLD (f_bitbase32_24_s19_prefixed)) & (7));
  FLD (f_dsp_24_u8) = ((((unsigned int) (FLD (f_bitbase32_24_s19_prefixed)) >> (3))) & (255));
  FLD (f_dsp_32_s8) = ((int) (FLD (f_bitbase32_24_s19_prefixed)) >> (11));
}
        errmsg = insert_normal (cd, fields->f_bitno32_prefixed, 0, 0, 21, 3, 32, total_length, buffer);
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_24_u8, 0, 0, 24, 8, 32, total_length, buffer);
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_32_s8, 0|(1<<CGEN_IFLD_SIGNED), 32, 0, 8, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_BITBASE32_24_U11_PREFIXED :
      {
{
  FLD (f_bitno32_prefixed) = ((FLD (f_bitbase32_24_u11_prefixed)) & (7));
  FLD (f_dsp_24_u8) = ((((unsigned int) (FLD (f_bitbase32_24_u11_prefixed)) >> (3))) & (255));
}
        errmsg = insert_normal (cd, fields->f_bitno32_prefixed, 0, 0, 21, 3, 32, total_length, buffer);
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_24_u8, 0, 0, 24, 8, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_BITBASE32_24_U19_PREFIXED :
      {
{
  FLD (f_bitno32_prefixed) = ((FLD (f_bitbase32_24_u19_prefixed)) & (7));
  FLD (f_dsp_24_u8) = ((((unsigned int) (FLD (f_bitbase32_24_u19_prefixed)) >> (3))) & (255));
  FLD (f_dsp_32_u8) = ((((unsigned int) (FLD (f_bitbase32_24_u19_prefixed)) >> (11))) & (255));
}
        errmsg = insert_normal (cd, fields->f_bitno32_prefixed, 0, 0, 21, 3, 32, total_length, buffer);
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_24_u8, 0, 0, 24, 8, 32, total_length, buffer);
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_32_u8, 0, 32, 0, 8, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_BITBASE32_24_U27_PREFIXED :
      {
{
  FLD (f_bitno32_prefixed) = ((FLD (f_bitbase32_24_u27_prefixed)) & (7));
  FLD (f_dsp_24_u8) = ((((unsigned int) (FLD (f_bitbase32_24_u27_prefixed)) >> (3))) & (255));
  FLD (f_dsp_32_u16) = ((((unsigned int) (FLD (f_bitbase32_24_u27_prefixed)) >> (11))) & (65535));
}
        errmsg = insert_normal (cd, fields->f_bitno32_prefixed, 0, 0, 21, 3, 32, total_length, buffer);
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_24_u8, 0, 0, 24, 8, 32, total_length, buffer);
        if (errmsg)
          break;
        {
        long value = fields->f_dsp_32_u16;
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        errmsg = insert_normal (cd, value, 0, 32, 0, 16, 32, total_length, buffer);
      }
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_BITNO16R :
      errmsg = insert_normal (cd, fields->f_dsp_16_u8, 0, 0, 16, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_BITNO32PREFIXED :
      errmsg = insert_normal (cd, fields->f_bitno32_prefixed, 0, 0, 21, 3, 32, total_length, buffer);
      break;
    case M32C_OPERAND_BITNO32UNPREFIXED :
      errmsg = insert_normal (cd, fields->f_bitno32_unprefixed, 0, 0, 13, 3, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DSP_10_U6 :
      errmsg = insert_normal (cd, fields->f_dsp_10_u6, 0, 0, 10, 6, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DSP_16_S16 :
      {
        long value = fields->f_dsp_16_s16;
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED), 0, 16, 16, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DSP_16_S8 :
      errmsg = insert_normal (cd, fields->f_dsp_16_s8, 0|(1<<CGEN_IFLD_SIGNED), 0, 16, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DSP_16_U16 :
      {
        long value = fields->f_dsp_16_u16;
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        errmsg = insert_normal (cd, value, 0, 0, 16, 16, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DSP_16_U20 :
      {
{
  FLD (f_dsp_16_u16) = ((FLD (f_dsp_16_u24)) & (65535));
  FLD (f_dsp_32_u8) = ((((unsigned int) (FLD (f_dsp_16_u24)) >> (16))) & (255));
}
        {
        long value = fields->f_dsp_16_u16;
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        errmsg = insert_normal (cd, value, 0, 0, 16, 16, 32, total_length, buffer);
      }
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_32_u8, 0, 32, 0, 8, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_DSP_16_U24 :
      {
{
  FLD (f_dsp_16_u16) = ((FLD (f_dsp_16_u24)) & (65535));
  FLD (f_dsp_32_u8) = ((((unsigned int) (FLD (f_dsp_16_u24)) >> (16))) & (255));
}
        {
        long value = fields->f_dsp_16_u16;
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        errmsg = insert_normal (cd, value, 0, 0, 16, 16, 32, total_length, buffer);
      }
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_32_u8, 0, 32, 0, 8, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_DSP_16_U8 :
      errmsg = insert_normal (cd, fields->f_dsp_16_u8, 0, 0, 16, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DSP_24_S16 :
      {
{
  FLD (f_dsp_24_u8) = ((FLD (f_dsp_24_s16)) & (255));
  FLD (f_dsp_32_u8) = ((((unsigned int) (FLD (f_dsp_24_s16)) >> (8))) & (255));
}
        errmsg = insert_normal (cd, fields->f_dsp_24_u8, 0, 0, 24, 8, 32, total_length, buffer);
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_32_u8, 0, 32, 0, 8, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_DSP_24_S8 :
      errmsg = insert_normal (cd, fields->f_dsp_24_s8, 0|(1<<CGEN_IFLD_SIGNED), 0, 24, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DSP_24_U16 :
      {
{
  FLD (f_dsp_24_u8) = ((FLD (f_dsp_24_u16)) & (255));
  FLD (f_dsp_32_u8) = ((((unsigned int) (FLD (f_dsp_24_u16)) >> (8))) & (255));
}
        errmsg = insert_normal (cd, fields->f_dsp_24_u8, 0, 0, 24, 8, 32, total_length, buffer);
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_32_u8, 0, 32, 0, 8, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_DSP_24_U20 :
      {
{
  FLD (f_dsp_24_u8) = ((FLD (f_dsp_24_u24)) & (255));
  FLD (f_dsp_32_u16) = ((((unsigned int) (FLD (f_dsp_24_u24)) >> (8))) & (65535));
}
        errmsg = insert_normal (cd, fields->f_dsp_24_u8, 0, 0, 24, 8, 32, total_length, buffer);
        if (errmsg)
          break;
        {
        long value = fields->f_dsp_32_u16;
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        errmsg = insert_normal (cd, value, 0, 32, 0, 16, 32, total_length, buffer);
      }
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_DSP_24_U24 :
      {
{
  FLD (f_dsp_24_u8) = ((FLD (f_dsp_24_u24)) & (255));
  FLD (f_dsp_32_u16) = ((((unsigned int) (FLD (f_dsp_24_u24)) >> (8))) & (65535));
}
        errmsg = insert_normal (cd, fields->f_dsp_24_u8, 0, 0, 24, 8, 32, total_length, buffer);
        if (errmsg)
          break;
        {
        long value = fields->f_dsp_32_u16;
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        errmsg = insert_normal (cd, value, 0, 32, 0, 16, 32, total_length, buffer);
      }
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_DSP_24_U8 :
      errmsg = insert_normal (cd, fields->f_dsp_24_u8, 0, 0, 24, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DSP_32_S16 :
      {
        long value = fields->f_dsp_32_s16;
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED), 32, 0, 16, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DSP_32_S8 :
      errmsg = insert_normal (cd, fields->f_dsp_32_s8, 0|(1<<CGEN_IFLD_SIGNED), 32, 0, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DSP_32_U16 :
      {
        long value = fields->f_dsp_32_u16;
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        errmsg = insert_normal (cd, value, 0, 32, 0, 16, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DSP_32_U20 :
      {
        long value = fields->f_dsp_32_u24;
        value = ((((((((unsigned int) (value) >> (16))) & (255))) | (((value) & (65280))))) | (((((value) << (16))) & (16711680))));
        errmsg = insert_normal (cd, value, 0, 32, 0, 24, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DSP_32_U24 :
      {
        long value = fields->f_dsp_32_u24;
        value = ((((((((unsigned int) (value) >> (16))) & (255))) | (((value) & (65280))))) | (((((value) << (16))) & (16711680))));
        errmsg = insert_normal (cd, value, 0, 32, 0, 24, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DSP_32_U8 :
      errmsg = insert_normal (cd, fields->f_dsp_32_u8, 0, 32, 0, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DSP_40_S16 :
      {
        long value = fields->f_dsp_40_s16;
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED), 32, 8, 16, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DSP_40_S8 :
      errmsg = insert_normal (cd, fields->f_dsp_40_s8, 0|(1<<CGEN_IFLD_SIGNED), 32, 8, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DSP_40_U16 :
      {
        long value = fields->f_dsp_40_u16;
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        errmsg = insert_normal (cd, value, 0, 32, 8, 16, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DSP_40_U20 :
      {
        long value = fields->f_dsp_40_u20;
        value = ((((((((unsigned int) (value) >> (16))) & (255))) | (((value) & (65280))))) | (((((value) << (16))) & (983040))));
        errmsg = insert_normal (cd, value, 0, 32, 8, 20, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DSP_40_U24 :
      {
        long value = fields->f_dsp_40_u24;
        value = ((((((((unsigned int) (value) >> (16))) & (255))) | (((value) & (65280))))) | (((((value) << (16))) & (16711680))));
        errmsg = insert_normal (cd, value, 0, 32, 8, 24, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DSP_40_U8 :
      errmsg = insert_normal (cd, fields->f_dsp_40_u8, 0, 32, 8, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DSP_48_S16 :
      {
        long value = fields->f_dsp_48_s16;
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED), 32, 16, 16, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DSP_48_S8 :
      errmsg = insert_normal (cd, fields->f_dsp_48_s8, 0|(1<<CGEN_IFLD_SIGNED), 32, 16, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DSP_48_U16 :
      {
        long value = fields->f_dsp_48_u16;
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        errmsg = insert_normal (cd, value, 0, 32, 16, 16, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DSP_48_U20 :
      {
{
  FLD (f_dsp_64_u8) = ((((unsigned int) (FLD (f_dsp_48_u20)) >> (16))) & (15));
  FLD (f_dsp_48_u16) = ((FLD (f_dsp_48_u20)) & (65535));
}
        {
        long value = fields->f_dsp_48_u16;
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        errmsg = insert_normal (cd, value, 0, 32, 16, 16, 32, total_length, buffer);
      }
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_64_u8, 0, 64, 0, 8, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_DSP_48_U24 :
      {
{
  FLD (f_dsp_64_u8) = ((((unsigned int) (FLD (f_dsp_48_u24)) >> (16))) & (255));
  FLD (f_dsp_48_u16) = ((FLD (f_dsp_48_u24)) & (65535));
}
        {
        long value = fields->f_dsp_48_u16;
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        errmsg = insert_normal (cd, value, 0, 32, 16, 16, 32, total_length, buffer);
      }
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_64_u8, 0, 64, 0, 8, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_DSP_48_U8 :
      errmsg = insert_normal (cd, fields->f_dsp_48_u8, 0, 32, 16, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DSP_8_S24 :
      {
        long value = fields->f_dsp_8_s24;
        value = ((((((unsigned int) (value) >> (16))) | (((value) & (65280))))) | (((EXTQISI (TRUNCSIQI (((value) & (255))))) << (16))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 24, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DSP_8_S8 :
      errmsg = insert_normal (cd, fields->f_dsp_8_s8, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DSP_8_U16 :
      {
        long value = fields->f_dsp_8_u16;
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        errmsg = insert_normal (cd, value, 0, 0, 8, 16, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DSP_8_U24 :
      {
        long value = fields->f_dsp_8_u24;
        value = ((((((unsigned int) (value) >> (16))) | (((value) & (65280))))) | (((((value) & (255))) << (16))));
        errmsg = insert_normal (cd, value, 0, 0, 8, 24, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DSP_8_U6 :
      errmsg = insert_normal (cd, fields->f_dsp_8_u6, 0, 0, 8, 6, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DSP_8_U8 :
      errmsg = insert_normal (cd, fields->f_dsp_8_u8, 0, 0, 8, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST16AN :
      errmsg = insert_normal (cd, fields->f_dst16_an, 0, 0, 15, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST16AN_S :
      errmsg = insert_normal (cd, fields->f_dst16_an_s, 0, 0, 4, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST16ANHI :
      errmsg = insert_normal (cd, fields->f_dst16_an, 0, 0, 15, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST16ANQI :
      errmsg = insert_normal (cd, fields->f_dst16_an, 0, 0, 15, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST16ANQI_S :
      errmsg = insert_normal (cd, fields->f_dst16_rn_QI_s, 0, 0, 5, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST16ANSI :
      errmsg = insert_normal (cd, fields->f_dst16_an, 0, 0, 15, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST16RNEXTQI :
      errmsg = insert_normal (cd, fields->f_dst16_rn_ext, 0, 0, 14, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST16RNHI :
      errmsg = insert_normal (cd, fields->f_dst16_rn, 0, 0, 14, 2, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST16RNQI :
      errmsg = insert_normal (cd, fields->f_dst16_rn, 0, 0, 14, 2, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST16RNQI_S :
      errmsg = insert_normal (cd, fields->f_dst16_rn_QI_s, 0, 0, 5, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST16RNSI :
      errmsg = insert_normal (cd, fields->f_dst16_rn, 0, 0, 14, 2, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST32ANEXTUNPREFIXED :
      errmsg = insert_normal (cd, fields->f_dst32_an_unprefixed, 0, 0, 9, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST32ANPREFIXED :
      errmsg = insert_normal (cd, fields->f_dst32_an_prefixed, 0, 0, 17, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST32ANPREFIXEDHI :
      errmsg = insert_normal (cd, fields->f_dst32_an_prefixed, 0, 0, 17, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST32ANPREFIXEDQI :
      errmsg = insert_normal (cd, fields->f_dst32_an_prefixed, 0, 0, 17, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST32ANPREFIXEDSI :
      errmsg = insert_normal (cd, fields->f_dst32_an_prefixed, 0, 0, 17, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST32ANUNPREFIXED :
      errmsg = insert_normal (cd, fields->f_dst32_an_unprefixed, 0, 0, 9, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST32ANUNPREFIXEDHI :
      errmsg = insert_normal (cd, fields->f_dst32_an_unprefixed, 0, 0, 9, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST32ANUNPREFIXEDQI :
      errmsg = insert_normal (cd, fields->f_dst32_an_unprefixed, 0, 0, 9, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST32ANUNPREFIXEDSI :
      errmsg = insert_normal (cd, fields->f_dst32_an_unprefixed, 0, 0, 9, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST32R0HI_S :
      break;
    case M32C_OPERAND_DST32R0QI_S :
      break;
    case M32C_OPERAND_DST32RNEXTUNPREFIXEDHI :
      errmsg = insert_normal (cd, fields->f_dst32_rn_ext_unprefixed, 0, 0, 9, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST32RNEXTUNPREFIXEDQI :
      errmsg = insert_normal (cd, fields->f_dst32_rn_ext_unprefixed, 0, 0, 9, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_DST32RNPREFIXEDHI :
      {
        long value = fields->f_dst32_rn_prefixed_HI;
        value = ((((value) + (2))) % (4));
        errmsg = insert_normal (cd, value, 0, 0, 16, 2, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DST32RNPREFIXEDQI :
      {
        long value = fields->f_dst32_rn_prefixed_QI;
        value = (((((((~ (value))) << (1))) & (2))) | (((((unsigned int) (value) >> (1))) & (1))));
        errmsg = insert_normal (cd, value, 0, 0, 16, 2, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DST32RNPREFIXEDSI :
      {
        long value = fields->f_dst32_rn_prefixed_SI;
        value = ((value) + (2));
        errmsg = insert_normal (cd, value, 0, 0, 16, 2, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DST32RNUNPREFIXEDHI :
      {
        long value = fields->f_dst32_rn_unprefixed_HI;
        value = ((((value) + (2))) % (4));
        errmsg = insert_normal (cd, value, 0, 0, 8, 2, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DST32RNUNPREFIXEDQI :
      {
        long value = fields->f_dst32_rn_unprefixed_QI;
        value = (((((((~ (value))) << (1))) & (2))) | (((((unsigned int) (value) >> (1))) & (1))));
        errmsg = insert_normal (cd, value, 0, 0, 8, 2, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_DST32RNUNPREFIXEDSI :
      {
        long value = fields->f_dst32_rn_unprefixed_SI;
        value = ((value) + (2));
        errmsg = insert_normal (cd, value, 0, 0, 8, 2, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_G :
      break;
    case M32C_OPERAND_IMM_12_S4 :
      errmsg = insert_normal (cd, fields->f_imm_12_s4, 0|(1<<CGEN_IFLD_SIGNED), 0, 12, 4, 32, total_length, buffer);
      break;
    case M32C_OPERAND_IMM_12_S4N :
      errmsg = insert_normal (cd, fields->f_imm_12_s4, 0|(1<<CGEN_IFLD_SIGNED), 0, 12, 4, 32, total_length, buffer);
      break;
    case M32C_OPERAND_IMM_13_U3 :
      errmsg = insert_normal (cd, fields->f_imm_13_u3, 0, 0, 13, 3, 32, total_length, buffer);
      break;
    case M32C_OPERAND_IMM_16_HI :
      {
        long value = fields->f_dsp_16_s16;
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED), 0, 16, 16, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_IMM_16_QI :
      errmsg = insert_normal (cd, fields->f_dsp_16_s8, 0|(1<<CGEN_IFLD_SIGNED), 0, 16, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_IMM_16_SI :
      {
{
  FLD (f_dsp_32_u16) = ((((unsigned int) (FLD (f_dsp_16_s32)) >> (16))) & (65535));
  FLD (f_dsp_16_u16) = ((FLD (f_dsp_16_s32)) & (65535));
}
        {
        long value = fields->f_dsp_16_u16;
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        errmsg = insert_normal (cd, value, 0, 0, 16, 16, 32, total_length, buffer);
      }
        if (errmsg)
          break;
        {
        long value = fields->f_dsp_32_u16;
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        errmsg = insert_normal (cd, value, 0, 32, 0, 16, 32, total_length, buffer);
      }
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_IMM_20_S4 :
      errmsg = insert_normal (cd, fields->f_imm_20_s4, 0|(1<<CGEN_IFLD_SIGNED), 0, 20, 4, 32, total_length, buffer);
      break;
    case M32C_OPERAND_IMM_24_HI :
      {
{
  FLD (f_dsp_24_u8) = ((FLD (f_dsp_24_s16)) & (255));
  FLD (f_dsp_32_u8) = ((((unsigned int) (FLD (f_dsp_24_s16)) >> (8))) & (255));
}
        errmsg = insert_normal (cd, fields->f_dsp_24_u8, 0, 0, 24, 8, 32, total_length, buffer);
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_32_u8, 0, 32, 0, 8, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_IMM_24_QI :
      errmsg = insert_normal (cd, fields->f_dsp_24_s8, 0|(1<<CGEN_IFLD_SIGNED), 0, 24, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_IMM_24_SI :
      {
{
  FLD (f_dsp_32_u24) = ((((unsigned int) (FLD (f_dsp_24_s32)) >> (8))) & (16777215));
  FLD (f_dsp_24_u8) = ((FLD (f_dsp_24_s32)) & (255));
}
        errmsg = insert_normal (cd, fields->f_dsp_24_u8, 0, 0, 24, 8, 32, total_length, buffer);
        if (errmsg)
          break;
        {
        long value = fields->f_dsp_32_u24;
        value = ((((((((unsigned int) (value) >> (16))) & (255))) | (((value) & (65280))))) | (((((value) << (16))) & (16711680))));
        errmsg = insert_normal (cd, value, 0, 32, 0, 24, 32, total_length, buffer);
      }
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_IMM_32_HI :
      {
        long value = fields->f_dsp_32_s16;
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED), 32, 0, 16, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_IMM_32_QI :
      errmsg = insert_normal (cd, fields->f_dsp_32_s8, 0|(1<<CGEN_IFLD_SIGNED), 32, 0, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_IMM_32_SI :
      {
        long value = fields->f_dsp_32_s32;
        value = EXTSISI (((((((((unsigned int) (value) >> (24))) & (255))) | (((((unsigned int) (value) >> (8))) & (65280))))) | (((((((value) << (8))) & (16711680))) | (((((value) << (24))) & (0xff000000)))))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED), 32, 0, 32, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_IMM_40_HI :
      {
        long value = fields->f_dsp_40_s16;
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED), 32, 8, 16, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_IMM_40_QI :
      errmsg = insert_normal (cd, fields->f_dsp_40_s8, 0|(1<<CGEN_IFLD_SIGNED), 32, 8, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_IMM_40_SI :
      {
{
  FLD (f_dsp_64_u8) = ((((unsigned int) (FLD (f_dsp_40_s32)) >> (24))) & (255));
  FLD (f_dsp_40_u24) = ((FLD (f_dsp_40_s32)) & (16777215));
}
        {
        long value = fields->f_dsp_40_u24;
        value = ((((((((unsigned int) (value) >> (16))) & (255))) | (((value) & (65280))))) | (((((value) << (16))) & (16711680))));
        errmsg = insert_normal (cd, value, 0, 32, 8, 24, 32, total_length, buffer);
      }
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_64_u8, 0, 64, 0, 8, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_IMM_48_HI :
      {
        long value = fields->f_dsp_48_s16;
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED), 32, 16, 16, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_IMM_48_QI :
      errmsg = insert_normal (cd, fields->f_dsp_48_s8, 0|(1<<CGEN_IFLD_SIGNED), 32, 16, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_IMM_48_SI :
      {
{
  FLD (f_dsp_64_u16) = ((((unsigned int) (FLD (f_dsp_48_s32)) >> (16))) & (65535));
  FLD (f_dsp_48_u16) = ((FLD (f_dsp_48_s32)) & (65535));
}
        {
        long value = fields->f_dsp_48_u16;
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        errmsg = insert_normal (cd, value, 0, 32, 16, 16, 32, total_length, buffer);
      }
        if (errmsg)
          break;
        {
        long value = fields->f_dsp_64_u16;
        value = ((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280))));
        errmsg = insert_normal (cd, value, 0, 64, 0, 16, 32, total_length, buffer);
      }
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_IMM_56_HI :
      {
{
  FLD (f_dsp_56_u8) = ((FLD (f_dsp_56_s16)) & (255));
  FLD (f_dsp_64_u8) = ((((unsigned int) (FLD (f_dsp_56_s16)) >> (8))) & (255));
}
        errmsg = insert_normal (cd, fields->f_dsp_56_u8, 0, 32, 24, 8, 32, total_length, buffer);
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_dsp_64_u8, 0, 64, 0, 8, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_IMM_56_QI :
      errmsg = insert_normal (cd, fields->f_dsp_56_s8, 0|(1<<CGEN_IFLD_SIGNED), 32, 24, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_IMM_64_HI :
      {
        long value = fields->f_dsp_64_s16;
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED), 64, 0, 16, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_IMM_8_HI :
      {
        long value = fields->f_dsp_8_s16;
        value = EXTHISI (((HI) (INT) (((((((unsigned int) (value) >> (8))) & (255))) | (((((value) << (8))) & (65280)))))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 16, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_IMM_8_QI :
      errmsg = insert_normal (cd, fields->f_dsp_8_s8, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_IMM_8_S4 :
      errmsg = insert_normal (cd, fields->f_imm_8_s4, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 4, 32, total_length, buffer);
      break;
    case M32C_OPERAND_IMM_8_S4N :
      errmsg = insert_normal (cd, fields->f_imm_8_s4, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 4, 32, total_length, buffer);
      break;
    case M32C_OPERAND_IMM_SH_12_S4 :
      errmsg = insert_normal (cd, fields->f_imm_12_s4, 0|(1<<CGEN_IFLD_SIGNED), 0, 12, 4, 32, total_length, buffer);
      break;
    case M32C_OPERAND_IMM_SH_20_S4 :
      errmsg = insert_normal (cd, fields->f_imm_20_s4, 0|(1<<CGEN_IFLD_SIGNED), 0, 20, 4, 32, total_length, buffer);
      break;
    case M32C_OPERAND_IMM_SH_8_S4 :
      errmsg = insert_normal (cd, fields->f_imm_8_s4, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 4, 32, total_length, buffer);
      break;
    case M32C_OPERAND_IMM1_S :
      {
        long value = fields->f_imm1_S;
        value = ((value) - (1));
        errmsg = insert_normal (cd, value, 0, 0, 2, 1, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_IMM3_S :
      {
{
  FLD (f_7_1) = ((((FLD (f_imm3_S)) - (1))) & (1));
  FLD (f_2_2) = ((((unsigned int) (((FLD (f_imm3_S)) - (1))) >> (1))) & (3));
}
        errmsg = insert_normal (cd, fields->f_2_2, 0, 0, 2, 2, 32, total_length, buffer);
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_7_1, 0, 0, 7, 1, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_LAB_16_8 :
      {
        long value = fields->f_lab_16_8;
        value = ((value) - (((pc) + (2))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED)|(1<<CGEN_IFLD_PCREL_ADDR), 0, 16, 8, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_LAB_24_8 :
      {
        long value = fields->f_lab_24_8;
        value = ((value) - (((pc) + (2))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED)|(1<<CGEN_IFLD_PCREL_ADDR), 0, 24, 8, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_LAB_32_8 :
      {
        long value = fields->f_lab_32_8;
        value = ((value) - (((pc) + (2))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED)|(1<<CGEN_IFLD_PCREL_ADDR), 32, 0, 8, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_LAB_40_8 :
      {
        long value = fields->f_lab_40_8;
        value = ((value) - (((pc) + (2))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED)|(1<<CGEN_IFLD_PCREL_ADDR), 32, 8, 8, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_LAB_5_3 :
      {
        long value = fields->f_lab_5_3;
        value = ((value) - (((pc) + (2))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_PCREL_ADDR), 0, 5, 3, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_LAB_8_16 :
      {
        long value = fields->f_lab_8_16;
        value = ((((((((value) - (((pc) + (1))))) & (255))) << (8))) | (((unsigned int) (((((value) - (((pc) + (1))))) & (65535))) >> (8))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGN_OPT)|(1<<CGEN_IFLD_PCREL_ADDR), 0, 8, 16, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_LAB_8_24 :
      {
        long value = fields->f_lab_8_24;
        value = ((((((unsigned int) (value) >> (16))) | (((value) & (65280))))) | (((((value) & (255))) << (16))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_ABS_ADDR), 0, 8, 24, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_LAB_8_8 :
      {
        long value = fields->f_lab_8_8;
        value = ((value) - (((pc) + (1))));
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED)|(1<<CGEN_IFLD_PCREL_ADDR), 0, 8, 8, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_LAB32_JMP_S :
      {
{
  SI tmp_val;
  tmp_val = ((((FLD (f_lab32_jmp_s)) - (pc))) - (2));
  FLD (f_7_1) = ((tmp_val) & (1));
  FLD (f_2_2) = ((unsigned int) (tmp_val) >> (1));
}
        errmsg = insert_normal (cd, fields->f_2_2, 0, 0, 2, 2, 32, total_length, buffer);
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_7_1, 0, 0, 7, 1, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_Q :
      break;
    case M32C_OPERAND_R0 :
      break;
    case M32C_OPERAND_R0H :
      break;
    case M32C_OPERAND_R0L :
      break;
    case M32C_OPERAND_R1 :
      break;
    case M32C_OPERAND_R1R2R0 :
      break;
    case M32C_OPERAND_R2 :
      break;
    case M32C_OPERAND_R2R0 :
      break;
    case M32C_OPERAND_R3 :
      break;
    case M32C_OPERAND_R3R1 :
      break;
    case M32C_OPERAND_REGSETPOP :
      errmsg = insert_normal (cd, fields->f_8_8, 0, 0, 8, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_REGSETPUSH :
      errmsg = insert_normal (cd, fields->f_8_8, 0, 0, 8, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_RN16_PUSH_S :
      errmsg = insert_normal (cd, fields->f_4_1, 0, 0, 4, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_S :
      break;
    case M32C_OPERAND_SRC16AN :
      errmsg = insert_normal (cd, fields->f_src16_an, 0, 0, 11, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_SRC16ANHI :
      errmsg = insert_normal (cd, fields->f_src16_an, 0, 0, 11, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_SRC16ANQI :
      errmsg = insert_normal (cd, fields->f_src16_an, 0, 0, 11, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_SRC16RNHI :
      errmsg = insert_normal (cd, fields->f_src16_rn, 0, 0, 10, 2, 32, total_length, buffer);
      break;
    case M32C_OPERAND_SRC16RNQI :
      errmsg = insert_normal (cd, fields->f_src16_rn, 0, 0, 10, 2, 32, total_length, buffer);
      break;
    case M32C_OPERAND_SRC32ANPREFIXED :
      errmsg = insert_normal (cd, fields->f_src32_an_prefixed, 0, 0, 19, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_SRC32ANPREFIXEDHI :
      errmsg = insert_normal (cd, fields->f_src32_an_prefixed, 0, 0, 19, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_SRC32ANPREFIXEDQI :
      errmsg = insert_normal (cd, fields->f_src32_an_prefixed, 0, 0, 19, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_SRC32ANPREFIXEDSI :
      errmsg = insert_normal (cd, fields->f_src32_an_prefixed, 0, 0, 19, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXED :
      errmsg = insert_normal (cd, fields->f_src32_an_unprefixed, 0, 0, 11, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXEDHI :
      errmsg = insert_normal (cd, fields->f_src32_an_unprefixed, 0, 0, 11, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXEDQI :
      errmsg = insert_normal (cd, fields->f_src32_an_unprefixed, 0, 0, 11, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXEDSI :
      errmsg = insert_normal (cd, fields->f_src32_an_unprefixed, 0, 0, 11, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_SRC32RNPREFIXEDHI :
      {
        long value = fields->f_src32_rn_prefixed_HI;
        value = ((((value) + (2))) % (4));
        errmsg = insert_normal (cd, value, 0, 0, 18, 2, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_SRC32RNPREFIXEDQI :
      {
        long value = fields->f_src32_rn_prefixed_QI;
        value = (((((((~ (value))) << (1))) & (2))) | (((((unsigned int) (value) >> (1))) & (1))));
        errmsg = insert_normal (cd, value, 0, 0, 18, 2, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_SRC32RNPREFIXEDSI :
      {
        long value = fields->f_src32_rn_prefixed_SI;
        value = ((value) + (2));
        errmsg = insert_normal (cd, value, 0, 0, 18, 2, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_SRC32RNUNPREFIXEDHI :
      {
        long value = fields->f_src32_rn_unprefixed_HI;
        value = ((((value) + (2))) % (4));
        errmsg = insert_normal (cd, value, 0, 0, 10, 2, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_SRC32RNUNPREFIXEDQI :
      {
        long value = fields->f_src32_rn_unprefixed_QI;
        value = (((((((~ (value))) << (1))) & (2))) | (((((unsigned int) (value) >> (1))) & (1))));
        errmsg = insert_normal (cd, value, 0, 0, 10, 2, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_SRC32RNUNPREFIXEDSI :
      {
        long value = fields->f_src32_rn_unprefixed_SI;
        value = ((value) + (2));
        errmsg = insert_normal (cd, value, 0, 0, 10, 2, 32, total_length, buffer);
      }
      break;
    case M32C_OPERAND_SRCDST16_R0L_R0H_S_NORMAL :
      errmsg = insert_normal (cd, fields->f_5_1, 0, 0, 5, 1, 32, total_length, buffer);
      break;
    case M32C_OPERAND_X :
      break;
    case M32C_OPERAND_Z :
      break;
    case M32C_OPERAND_COND16_16 :
      errmsg = insert_normal (cd, fields->f_dsp_16_u8, 0, 0, 16, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_COND16_24 :
      errmsg = insert_normal (cd, fields->f_dsp_24_u8, 0, 0, 24, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_COND16_32 :
      errmsg = insert_normal (cd, fields->f_dsp_32_u8, 0, 32, 0, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_COND16C :
      errmsg = insert_normal (cd, fields->f_cond16, 0, 0, 12, 4, 32, total_length, buffer);
      break;
    case M32C_OPERAND_COND16J :
      errmsg = insert_normal (cd, fields->f_cond16, 0, 0, 12, 4, 32, total_length, buffer);
      break;
    case M32C_OPERAND_COND16J5 :
      errmsg = insert_normal (cd, fields->f_cond16j_5, 0, 0, 5, 3, 32, total_length, buffer);
      break;
    case M32C_OPERAND_COND32 :
      {
{
  FLD (f_9_1) = ((((unsigned int) (FLD (f_cond32)) >> (3))) & (1));
  FLD (f_13_3) = ((FLD (f_cond32)) & (7));
}
        errmsg = insert_normal (cd, fields->f_9_1, 0, 0, 9, 1, 32, total_length, buffer);
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_13_3, 0, 0, 13, 3, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_COND32_16 :
      errmsg = insert_normal (cd, fields->f_dsp_16_u8, 0, 0, 16, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_COND32_24 :
      errmsg = insert_normal (cd, fields->f_dsp_24_u8, 0, 0, 24, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_COND32_32 :
      errmsg = insert_normal (cd, fields->f_dsp_32_u8, 0, 32, 0, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_COND32_40 :
      errmsg = insert_normal (cd, fields->f_dsp_40_u8, 0, 32, 8, 8, 32, total_length, buffer);
      break;
    case M32C_OPERAND_COND32J :
      {
{
  FLD (f_1_3) = ((((unsigned int) (FLD (f_cond32j)) >> (1))) & (7));
  FLD (f_7_1) = ((FLD (f_cond32j)) & (1));
}
        errmsg = insert_normal (cd, fields->f_1_3, 0, 0, 1, 3, 32, total_length, buffer);
        if (errmsg)
          break;
        errmsg = insert_normal (cd, fields->f_7_1, 0, 0, 7, 1, 32, total_length, buffer);
        if (errmsg)
          break;
      }
      break;
    case M32C_OPERAND_CR1_PREFIXED_32 :
      errmsg = insert_normal (cd, fields->f_21_3, 0, 0, 21, 3, 32, total_length, buffer);
      break;
    case M32C_OPERAND_CR1_UNPREFIXED_32 :
      errmsg = insert_normal (cd, fields->f_13_3, 0, 0, 13, 3, 32, total_length, buffer);
      break;
    case M32C_OPERAND_CR16 :
      errmsg = insert_normal (cd, fields->f_9_3, 0, 0, 9, 3, 32, total_length, buffer);
      break;
    case M32C_OPERAND_CR2_32 :
      errmsg = insert_normal (cd, fields->f_13_3, 0, 0, 13, 3, 32, total_length, buffer);
      break;
    case M32C_OPERAND_CR3_PREFIXED_32 :
      errmsg = insert_normal (cd, fields->f_21_3, 0, 0, 21, 3, 32, total_length, buffer);
      break;
    case M32C_OPERAND_CR3_UNPREFIXED_32 :
      errmsg = insert_normal (cd, fields->f_13_3, 0, 0, 13, 3, 32, total_length, buffer);
      break;
    case M32C_OPERAND_FLAGS16 :
      errmsg = insert_normal (cd, fields->f_9_3, 0, 0, 9, 3, 32, total_length, buffer);
      break;
    case M32C_OPERAND_FLAGS32 :
      errmsg = insert_normal (cd, fields->f_13_3, 0, 0, 13, 3, 32, total_length, buffer);
      break;
    case M32C_OPERAND_SCCOND32 :
      errmsg = insert_normal (cd, fields->f_cond16, 0, 0, 12, 4, 32, total_length, buffer);
      break;
    case M32C_OPERAND_SIZE :
      break;

    default :
      /* xgettext:c-format */
      fprintf (stderr, _("Unrecognized field %d while building insn.\n"),
              opindex);
      abort ();
  }

  return errmsg;
}

Here is the call graph for this function:

void m32c_cgen_set_int_operand ( CGEN_CPU_DESC  ,
int  ,
CGEN_FIELDS *  ,
int   
)

Here is the caller graph for this function:

void m32c_cgen_set_int_operand ( CGEN_CPU_DESC cd  ATTRIBUTE_UNUSED,
int  opindex,
CGEN_FIELDS *  fields,
int  value 
)

Definition at line 4121 of file m32c-ibld.c.

{
  switch (opindex)
    {
    case M32C_OPERAND_A0 :
      break;
    case M32C_OPERAND_A1 :
      break;
    case M32C_OPERAND_AN16_PUSH_S :
      fields->f_4_1 = value;
      break;
    case M32C_OPERAND_BIT16AN :
      fields->f_dst16_an = value;
      break;
    case M32C_OPERAND_BIT16RN :
      fields->f_dst16_rn = value;
      break;
    case M32C_OPERAND_BIT3_S :
      fields->f_imm3_S = value;
      break;
    case M32C_OPERAND_BIT32ANPREFIXED :
      fields->f_dst32_an_prefixed = value;
      break;
    case M32C_OPERAND_BIT32ANUNPREFIXED :
      fields->f_dst32_an_unprefixed = value;
      break;
    case M32C_OPERAND_BIT32RNPREFIXED :
      fields->f_dst32_rn_prefixed_QI = value;
      break;
    case M32C_OPERAND_BIT32RNUNPREFIXED :
      fields->f_dst32_rn_unprefixed_QI = value;
      break;
    case M32C_OPERAND_BITBASE16_16_S8 :
      fields->f_dsp_16_s8 = value;
      break;
    case M32C_OPERAND_BITBASE16_16_U16 :
      fields->f_dsp_16_u16 = value;
      break;
    case M32C_OPERAND_BITBASE16_16_U8 :
      fields->f_dsp_16_u8 = value;
      break;
    case M32C_OPERAND_BITBASE16_8_U11_S :
      fields->f_bitbase16_u11_S = value;
      break;
    case M32C_OPERAND_BITBASE32_16_S11_UNPREFIXED :
      fields->f_bitbase32_16_s11_unprefixed = value;
      break;
    case M32C_OPERAND_BITBASE32_16_S19_UNPREFIXED :
      fields->f_bitbase32_16_s19_unprefixed = value;
      break;
    case M32C_OPERAND_BITBASE32_16_U11_UNPREFIXED :
      fields->f_bitbase32_16_u11_unprefixed = value;
      break;
    case M32C_OPERAND_BITBASE32_16_U19_UNPREFIXED :
      fields->f_bitbase32_16_u19_unprefixed = value;
      break;
    case M32C_OPERAND_BITBASE32_16_U27_UNPREFIXED :
      fields->f_bitbase32_16_u27_unprefixed = value;
      break;
    case M32C_OPERAND_BITBASE32_24_S11_PREFIXED :
      fields->f_bitbase32_24_s11_prefixed = value;
      break;
    case M32C_OPERAND_BITBASE32_24_S19_PREFIXED :
      fields->f_bitbase32_24_s19_prefixed = value;
      break;
    case M32C_OPERAND_BITBASE32_24_U11_PREFIXED :
      fields->f_bitbase32_24_u11_prefixed = value;
      break;
    case M32C_OPERAND_BITBASE32_24_U19_PREFIXED :
      fields->f_bitbase32_24_u19_prefixed = value;
      break;
    case M32C_OPERAND_BITBASE32_24_U27_PREFIXED :
      fields->f_bitbase32_24_u27_prefixed = value;
      break;
    case M32C_OPERAND_BITNO16R :
      fields->f_dsp_16_u8 = value;
      break;
    case M32C_OPERAND_BITNO32PREFIXED :
      fields->f_bitno32_prefixed = value;
      break;
    case M32C_OPERAND_BITNO32UNPREFIXED :
      fields->f_bitno32_unprefixed = value;
      break;
    case M32C_OPERAND_DSP_10_U6 :
      fields->f_dsp_10_u6 = value;
      break;
    case M32C_OPERAND_DSP_16_S16 :
      fields->f_dsp_16_s16 = value;
      break;
    case M32C_OPERAND_DSP_16_S8 :
      fields->f_dsp_16_s8 = value;
      break;
    case M32C_OPERAND_DSP_16_U16 :
      fields->f_dsp_16_u16 = value;
      break;
    case M32C_OPERAND_DSP_16_U20 :
      fields->f_dsp_16_u24 = value;
      break;
    case M32C_OPERAND_DSP_16_U24 :
      fields->f_dsp_16_u24 = value;
      break;
    case M32C_OPERAND_DSP_16_U8 :
      fields->f_dsp_16_u8 = value;
      break;
    case M32C_OPERAND_DSP_24_S16 :
      fields->f_dsp_24_s16 = value;
      break;
    case M32C_OPERAND_DSP_24_S8 :
      fields->f_dsp_24_s8 = value;
      break;
    case M32C_OPERAND_DSP_24_U16 :
      fields->f_dsp_24_u16 = value;
      break;
    case M32C_OPERAND_DSP_24_U20 :
      fields->f_dsp_24_u24 = value;
      break;
    case M32C_OPERAND_DSP_24_U24 :
      fields->f_dsp_24_u24 = value;
      break;
    case M32C_OPERAND_DSP_24_U8 :
      fields->f_dsp_24_u8 = value;
      break;
    case M32C_OPERAND_DSP_32_S16 :
      fields->f_dsp_32_s16 = value;
      break;
    case M32C_OPERAND_DSP_32_S8 :
      fields->f_dsp_32_s8 = value;
      break;
    case M32C_OPERAND_DSP_32_U16 :
      fields->f_dsp_32_u16 = value;
      break;
    case M32C_OPERAND_DSP_32_U20 :
      fields->f_dsp_32_u24 = value;
      break;
    case M32C_OPERAND_DSP_32_U24 :
      fields->f_dsp_32_u24 = value;
      break;
    case M32C_OPERAND_DSP_32_U8 :
      fields->f_dsp_32_u8 = value;
      break;
    case M32C_OPERAND_DSP_40_S16 :
      fields->f_dsp_40_s16 = value;
      break;
    case M32C_OPERAND_DSP_40_S8 :
      fields->f_dsp_40_s8 = value;
      break;
    case M32C_OPERAND_DSP_40_U16 :
      fields->f_dsp_40_u16 = value;
      break;
    case M32C_OPERAND_DSP_40_U20 :
      fields->f_dsp_40_u20 = value;
      break;
    case M32C_OPERAND_DSP_40_U24 :
      fields->f_dsp_40_u24 = value;
      break;
    case M32C_OPERAND_DSP_40_U8 :
      fields->f_dsp_40_u8 = value;
      break;
    case M32C_OPERAND_DSP_48_S16 :
      fields->f_dsp_48_s16 = value;
      break;
    case M32C_OPERAND_DSP_48_S8 :
      fields->f_dsp_48_s8 = value;
      break;
    case M32C_OPERAND_DSP_48_U16 :
      fields->f_dsp_48_u16 = value;
      break;
    case M32C_OPERAND_DSP_48_U20 :
      fields->f_dsp_48_u20 = value;
      break;
    case M32C_OPERAND_DSP_48_U24 :
      fields->f_dsp_48_u24 = value;
      break;
    case M32C_OPERAND_DSP_48_U8 :
      fields->f_dsp_48_u8 = value;
      break;
    case M32C_OPERAND_DSP_8_S24 :
      fields->f_dsp_8_s24 = value;
      break;
    case M32C_OPERAND_DSP_8_S8 :
      fields->f_dsp_8_s8 = value;
      break;
    case M32C_OPERAND_DSP_8_U16 :
      fields->f_dsp_8_u16 = value;
      break;
    case M32C_OPERAND_DSP_8_U24 :
      fields->f_dsp_8_u24 = value;
      break;
    case M32C_OPERAND_DSP_8_U6 :
      fields->f_dsp_8_u6 = value;
      break;
    case M32C_OPERAND_DSP_8_U8 :
      fields->f_dsp_8_u8 = value;
      break;
    case M32C_OPERAND_DST16AN :
      fields->f_dst16_an = value;
      break;
    case M32C_OPERAND_DST16AN_S :
      fields->f_dst16_an_s = value;
      break;
    case M32C_OPERAND_DST16ANHI :
      fields->f_dst16_an = value;
      break;
    case M32C_OPERAND_DST16ANQI :
      fields->f_dst16_an = value;
      break;
    case M32C_OPERAND_DST16ANQI_S :
      fields->f_dst16_rn_QI_s = value;
      break;
    case M32C_OPERAND_DST16ANSI :
      fields->f_dst16_an = value;
      break;
    case M32C_OPERAND_DST16RNEXTQI :
      fields->f_dst16_rn_ext = value;
      break;
    case M32C_OPERAND_DST16RNHI :
      fields->f_dst16_rn = value;
      break;
    case M32C_OPERAND_DST16RNQI :
      fields->f_dst16_rn = value;
      break;
    case M32C_OPERAND_DST16RNQI_S :
      fields->f_dst16_rn_QI_s = value;
      break;
    case M32C_OPERAND_DST16RNSI :
      fields->f_dst16_rn = value;
      break;
    case M32C_OPERAND_DST32ANEXTUNPREFIXED :
      fields->f_dst32_an_unprefixed = value;
      break;
    case M32C_OPERAND_DST32ANPREFIXED :
      fields->f_dst32_an_prefixed = value;
      break;
    case M32C_OPERAND_DST32ANPREFIXEDHI :
      fields->f_dst32_an_prefixed = value;
      break;
    case M32C_OPERAND_DST32ANPREFIXEDQI :
      fields->f_dst32_an_prefixed = value;
      break;
    case M32C_OPERAND_DST32ANPREFIXEDSI :
      fields->f_dst32_an_prefixed = value;
      break;
    case M32C_OPERAND_DST32ANUNPREFIXED :
      fields->f_dst32_an_unprefixed = value;
      break;
    case M32C_OPERAND_DST32ANUNPREFIXEDHI :
      fields->f_dst32_an_unprefixed = value;
      break;
    case M32C_OPERAND_DST32ANUNPREFIXEDQI :
      fields->f_dst32_an_unprefixed = value;
      break;
    case M32C_OPERAND_DST32ANUNPREFIXEDSI :
      fields->f_dst32_an_unprefixed = value;
      break;
    case M32C_OPERAND_DST32R0HI_S :
      break;
    case M32C_OPERAND_DST32R0QI_S :
      break;
    case M32C_OPERAND_DST32RNEXTUNPREFIXEDHI :
      fields->f_dst32_rn_ext_unprefixed = value;
      break;
    case M32C_OPERAND_DST32RNEXTUNPREFIXEDQI :
      fields->f_dst32_rn_ext_unprefixed = value;
      break;
    case M32C_OPERAND_DST32RNPREFIXEDHI :
      fields->f_dst32_rn_prefixed_HI = value;
      break;
    case M32C_OPERAND_DST32RNPREFIXEDQI :
      fields->f_dst32_rn_prefixed_QI = value;
      break;
    case M32C_OPERAND_DST32RNPREFIXEDSI :
      fields->f_dst32_rn_prefixed_SI = value;
      break;
    case M32C_OPERAND_DST32RNUNPREFIXEDHI :
      fields->f_dst32_rn_unprefixed_HI = value;
      break;
    case M32C_OPERAND_DST32RNUNPREFIXEDQI :
      fields->f_dst32_rn_unprefixed_QI = value;
      break;
    case M32C_OPERAND_DST32RNUNPREFIXEDSI :
      fields->f_dst32_rn_unprefixed_SI = value;
      break;
    case M32C_OPERAND_G :
      break;
    case M32C_OPERAND_IMM_12_S4 :
      fields->f_imm_12_s4 = value;
      break;
    case M32C_OPERAND_IMM_12_S4N :
      fields->f_imm_12_s4 = value;
      break;
    case M32C_OPERAND_IMM_13_U3 :
      fields->f_imm_13_u3 = value;
      break;
    case M32C_OPERAND_IMM_16_HI :
      fields->f_dsp_16_s16 = value;
      break;
    case M32C_OPERAND_IMM_16_QI :
      fields->f_dsp_16_s8 = value;
      break;
    case M32C_OPERAND_IMM_16_SI :
      fields->f_dsp_16_s32 = value;
      break;
    case M32C_OPERAND_IMM_20_S4 :
      fields->f_imm_20_s4 = value;
      break;
    case M32C_OPERAND_IMM_24_HI :
      fields->f_dsp_24_s16 = value;
      break;
    case M32C_OPERAND_IMM_24_QI :
      fields->f_dsp_24_s8 = value;
      break;
    case M32C_OPERAND_IMM_24_SI :
      fields->f_dsp_24_s32 = value;
      break;
    case M32C_OPERAND_IMM_32_HI :
      fields->f_dsp_32_s16 = value;
      break;
    case M32C_OPERAND_IMM_32_QI :
      fields->f_dsp_32_s8 = value;
      break;
    case M32C_OPERAND_IMM_32_SI :
      fields->f_dsp_32_s32 = value;
      break;
    case M32C_OPERAND_IMM_40_HI :
      fields->f_dsp_40_s16 = value;
      break;
    case M32C_OPERAND_IMM_40_QI :
      fields->f_dsp_40_s8 = value;
      break;
    case M32C_OPERAND_IMM_40_SI :
      fields->f_dsp_40_s32 = value;
      break;
    case M32C_OPERAND_IMM_48_HI :
      fields->f_dsp_48_s16 = value;
      break;
    case M32C_OPERAND_IMM_48_QI :
      fields->f_dsp_48_s8 = value;
      break;
    case M32C_OPERAND_IMM_48_SI :
      fields->f_dsp_48_s32 = value;
      break;
    case M32C_OPERAND_IMM_56_HI :
      fields->f_dsp_56_s16 = value;
      break;
    case M32C_OPERAND_IMM_56_QI :
      fields->f_dsp_56_s8 = value;
      break;
    case M32C_OPERAND_IMM_64_HI :
      fields->f_dsp_64_s16 = value;
      break;
    case M32C_OPERAND_IMM_8_HI :
      fields->f_dsp_8_s16 = value;
      break;
    case M32C_OPERAND_IMM_8_QI :
      fields->f_dsp_8_s8 = value;
      break;
    case M32C_OPERAND_IMM_8_S4 :
      fields->f_imm_8_s4 = value;
      break;
    case M32C_OPERAND_IMM_8_S4N :
      fields->f_imm_8_s4 = value;
      break;
    case M32C_OPERAND_IMM_SH_12_S4 :
      fields->f_imm_12_s4 = value;
      break;
    case M32C_OPERAND_IMM_SH_20_S4 :
      fields->f_imm_20_s4 = value;
      break;
    case M32C_OPERAND_IMM_SH_8_S4 :
      fields->f_imm_8_s4 = value;
      break;
    case M32C_OPERAND_IMM1_S :
      fields->f_imm1_S = value;
      break;
    case M32C_OPERAND_IMM3_S :
      fields->f_imm3_S = value;
      break;
    case M32C_OPERAND_LAB_16_8 :
      fields->f_lab_16_8 = value;
      break;
    case M32C_OPERAND_LAB_24_8 :
      fields->f_lab_24_8 = value;
      break;
    case M32C_OPERAND_LAB_32_8 :
      fields->f_lab_32_8 = value;
      break;
    case M32C_OPERAND_LAB_40_8 :
      fields->f_lab_40_8 = value;
      break;
    case M32C_OPERAND_LAB_5_3 :
      fields->f_lab_5_3 = value;
      break;
    case M32C_OPERAND_LAB_8_16 :
      fields->f_lab_8_16 = value;
      break;
    case M32C_OPERAND_LAB_8_24 :
      fields->f_lab_8_24 = value;
      break;
    case M32C_OPERAND_LAB_8_8 :
      fields->f_lab_8_8 = value;
      break;
    case M32C_OPERAND_LAB32_JMP_S :
      fields->f_lab32_jmp_s = value;
      break;
    case M32C_OPERAND_Q :
      break;
    case M32C_OPERAND_R0 :
      break;
    case M32C_OPERAND_R0H :
      break;
    case M32C_OPERAND_R0L :
      break;
    case M32C_OPERAND_R1 :
      break;
    case M32C_OPERAND_R1R2R0 :
      break;
    case M32C_OPERAND_R2 :
      break;
    case M32C_OPERAND_R2R0 :
      break;
    case M32C_OPERAND_R3 :
      break;
    case M32C_OPERAND_R3R1 :
      break;
    case M32C_OPERAND_REGSETPOP :
      fields->f_8_8 = value;
      break;
    case M32C_OPERAND_REGSETPUSH :
      fields->f_8_8 = value;
      break;
    case M32C_OPERAND_RN16_PUSH_S :
      fields->f_4_1 = value;
      break;
    case M32C_OPERAND_S :
      break;
    case M32C_OPERAND_SRC16AN :
      fields->f_src16_an = value;
      break;
    case M32C_OPERAND_SRC16ANHI :
      fields->f_src16_an = value;
      break;
    case M32C_OPERAND_SRC16ANQI :
      fields->f_src16_an = value;
      break;
    case M32C_OPERAND_SRC16RNHI :
      fields->f_src16_rn = value;
      break;
    case M32C_OPERAND_SRC16RNQI :
      fields->f_src16_rn = value;
      break;
    case M32C_OPERAND_SRC32ANPREFIXED :
      fields->f_src32_an_prefixed = value;
      break;
    case M32C_OPERAND_SRC32ANPREFIXEDHI :
      fields->f_src32_an_prefixed = value;
      break;
    case M32C_OPERAND_SRC32ANPREFIXEDQI :
      fields->f_src32_an_prefixed = value;
      break;
    case M32C_OPERAND_SRC32ANPREFIXEDSI :
      fields->f_src32_an_prefixed = value;
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXED :
      fields->f_src32_an_unprefixed = value;
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXEDHI :
      fields->f_src32_an_unprefixed = value;
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXEDQI :
      fields->f_src32_an_unprefixed = value;
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXEDSI :
      fields->f_src32_an_unprefixed = value;
      break;
    case M32C_OPERAND_SRC32RNPREFIXEDHI :
      fields->f_src32_rn_prefixed_HI = value;
      break;
    case M32C_OPERAND_SRC32RNPREFIXEDQI :
      fields->f_src32_rn_prefixed_QI = value;
      break;
    case M32C_OPERAND_SRC32RNPREFIXEDSI :
      fields->f_src32_rn_prefixed_SI = value;
      break;
    case M32C_OPERAND_SRC32RNUNPREFIXEDHI :
      fields->f_src32_rn_unprefixed_HI = value;
      break;
    case M32C_OPERAND_SRC32RNUNPREFIXEDQI :
      fields->f_src32_rn_unprefixed_QI = value;
      break;
    case M32C_OPERAND_SRC32RNUNPREFIXEDSI :
      fields->f_src32_rn_unprefixed_SI = value;
      break;
    case M32C_OPERAND_SRCDST16_R0L_R0H_S_NORMAL :
      fields->f_5_1 = value;
      break;
    case M32C_OPERAND_X :
      break;
    case M32C_OPERAND_Z :
      break;
    case M32C_OPERAND_COND16_16 :
      fields->f_dsp_16_u8 = value;
      break;
    case M32C_OPERAND_COND16_24 :
      fields->f_dsp_24_u8 = value;
      break;
    case M32C_OPERAND_COND16_32 :
      fields->f_dsp_32_u8 = value;
      break;
    case M32C_OPERAND_COND16C :
      fields->f_cond16 = value;
      break;
    case M32C_OPERAND_COND16J :
      fields->f_cond16 = value;
      break;
    case M32C_OPERAND_COND16J5 :
      fields->f_cond16j_5 = value;
      break;
    case M32C_OPERAND_COND32 :
      fields->f_cond32 = value;
      break;
    case M32C_OPERAND_COND32_16 :
      fields->f_dsp_16_u8 = value;
      break;
    case M32C_OPERAND_COND32_24 :
      fields->f_dsp_24_u8 = value;
      break;
    case M32C_OPERAND_COND32_32 :
      fields->f_dsp_32_u8 = value;
      break;
    case M32C_OPERAND_COND32_40 :
      fields->f_dsp_40_u8 = value;
      break;
    case M32C_OPERAND_COND32J :
      fields->f_cond32j = value;
      break;
    case M32C_OPERAND_CR1_PREFIXED_32 :
      fields->f_21_3 = value;
      break;
    case M32C_OPERAND_CR1_UNPREFIXED_32 :
      fields->f_13_3 = value;
      break;
    case M32C_OPERAND_CR16 :
      fields->f_9_3 = value;
      break;
    case M32C_OPERAND_CR2_32 :
      fields->f_13_3 = value;
      break;
    case M32C_OPERAND_CR3_PREFIXED_32 :
      fields->f_21_3 = value;
      break;
    case M32C_OPERAND_CR3_UNPREFIXED_32 :
      fields->f_13_3 = value;
      break;
    case M32C_OPERAND_FLAGS16 :
      fields->f_9_3 = value;
      break;
    case M32C_OPERAND_FLAGS32 :
      fields->f_13_3 = value;
      break;
    case M32C_OPERAND_SCCOND32 :
      fields->f_cond16 = value;
      break;
    case M32C_OPERAND_SIZE :
      break;

    default :
      /* xgettext:c-format */
      fprintf (stderr, _("Unrecognized field %d while setting int operand.\n"),
                     opindex);
      abort ();
  }
}

Here is the call graph for this function:

void m32c_cgen_set_vma_operand ( CGEN_CPU_DESC  ,
int  ,
CGEN_FIELDS *  ,
bfd_vma   
)

Here is the caller graph for this function:

void m32c_cgen_set_vma_operand ( CGEN_CPU_DESC cd  ATTRIBUTE_UNUSED,
int  opindex,
CGEN_FIELDS *  fields,
bfd_vma  value 
)

Definition at line 4698 of file m32c-ibld.c.

{
  switch (opindex)
    {
    case M32C_OPERAND_A0 :
      break;
    case M32C_OPERAND_A1 :
      break;
    case M32C_OPERAND_AN16_PUSH_S :
      fields->f_4_1 = value;
      break;
    case M32C_OPERAND_BIT16AN :
      fields->f_dst16_an = value;
      break;
    case M32C_OPERAND_BIT16RN :
      fields->f_dst16_rn = value;
      break;
    case M32C_OPERAND_BIT3_S :
      fields->f_imm3_S = value;
      break;
    case M32C_OPERAND_BIT32ANPREFIXED :
      fields->f_dst32_an_prefixed = value;
      break;
    case M32C_OPERAND_BIT32ANUNPREFIXED :
      fields->f_dst32_an_unprefixed = value;
      break;
    case M32C_OPERAND_BIT32RNPREFIXED :
      fields->f_dst32_rn_prefixed_QI = value;
      break;
    case M32C_OPERAND_BIT32RNUNPREFIXED :
      fields->f_dst32_rn_unprefixed_QI = value;
      break;
    case M32C_OPERAND_BITBASE16_16_S8 :
      fields->f_dsp_16_s8 = value;
      break;
    case M32C_OPERAND_BITBASE16_16_U16 :
      fields->f_dsp_16_u16 = value;
      break;
    case M32C_OPERAND_BITBASE16_16_U8 :
      fields->f_dsp_16_u8 = value;
      break;
    case M32C_OPERAND_BITBASE16_8_U11_S :
      fields->f_bitbase16_u11_S = value;
      break;
    case M32C_OPERAND_BITBASE32_16_S11_UNPREFIXED :
      fields->f_bitbase32_16_s11_unprefixed = value;
      break;
    case M32C_OPERAND_BITBASE32_16_S19_UNPREFIXED :
      fields->f_bitbase32_16_s19_unprefixed = value;
      break;
    case M32C_OPERAND_BITBASE32_16_U11_UNPREFIXED :
      fields->f_bitbase32_16_u11_unprefixed = value;
      break;
    case M32C_OPERAND_BITBASE32_16_U19_UNPREFIXED :
      fields->f_bitbase32_16_u19_unprefixed = value;
      break;
    case M32C_OPERAND_BITBASE32_16_U27_UNPREFIXED :
      fields->f_bitbase32_16_u27_unprefixed = value;
      break;
    case M32C_OPERAND_BITBASE32_24_S11_PREFIXED :
      fields->f_bitbase32_24_s11_prefixed = value;
      break;
    case M32C_OPERAND_BITBASE32_24_S19_PREFIXED :
      fields->f_bitbase32_24_s19_prefixed = value;
      break;
    case M32C_OPERAND_BITBASE32_24_U11_PREFIXED :
      fields->f_bitbase32_24_u11_prefixed = value;
      break;
    case M32C_OPERAND_BITBASE32_24_U19_PREFIXED :
      fields->f_bitbase32_24_u19_prefixed = value;
      break;
    case M32C_OPERAND_BITBASE32_24_U27_PREFIXED :
      fields->f_bitbase32_24_u27_prefixed = value;
      break;
    case M32C_OPERAND_BITNO16R :
      fields->f_dsp_16_u8 = value;
      break;
    case M32C_OPERAND_BITNO32PREFIXED :
      fields->f_bitno32_prefixed = value;
      break;
    case M32C_OPERAND_BITNO32UNPREFIXED :
      fields->f_bitno32_unprefixed = value;
      break;
    case M32C_OPERAND_DSP_10_U6 :
      fields->f_dsp_10_u6 = value;
      break;
    case M32C_OPERAND_DSP_16_S16 :
      fields->f_dsp_16_s16 = value;
      break;
    case M32C_OPERAND_DSP_16_S8 :
      fields->f_dsp_16_s8 = value;
      break;
    case M32C_OPERAND_DSP_16_U16 :
      fields->f_dsp_16_u16 = value;
      break;
    case M32C_OPERAND_DSP_16_U20 :
      fields->f_dsp_16_u24 = value;
      break;
    case M32C_OPERAND_DSP_16_U24 :
      fields->f_dsp_16_u24 = value;
      break;
    case M32C_OPERAND_DSP_16_U8 :
      fields->f_dsp_16_u8 = value;
      break;
    case M32C_OPERAND_DSP_24_S16 :
      fields->f_dsp_24_s16 = value;
      break;
    case M32C_OPERAND_DSP_24_S8 :
      fields->f_dsp_24_s8 = value;
      break;
    case M32C_OPERAND_DSP_24_U16 :
      fields->f_dsp_24_u16 = value;
      break;
    case M32C_OPERAND_DSP_24_U20 :
      fields->f_dsp_24_u24 = value;
      break;
    case M32C_OPERAND_DSP_24_U24 :
      fields->f_dsp_24_u24 = value;
      break;
    case M32C_OPERAND_DSP_24_U8 :
      fields->f_dsp_24_u8 = value;
      break;
    case M32C_OPERAND_DSP_32_S16 :
      fields->f_dsp_32_s16 = value;
      break;
    case M32C_OPERAND_DSP_32_S8 :
      fields->f_dsp_32_s8 = value;
      break;
    case M32C_OPERAND_DSP_32_U16 :
      fields->f_dsp_32_u16 = value;
      break;
    case M32C_OPERAND_DSP_32_U20 :
      fields->f_dsp_32_u24 = value;
      break;
    case M32C_OPERAND_DSP_32_U24 :
      fields->f_dsp_32_u24 = value;
      break;
    case M32C_OPERAND_DSP_32_U8 :
      fields->f_dsp_32_u8 = value;
      break;
    case M32C_OPERAND_DSP_40_S16 :
      fields->f_dsp_40_s16 = value;
      break;
    case M32C_OPERAND_DSP_40_S8 :
      fields->f_dsp_40_s8 = value;
      break;
    case M32C_OPERAND_DSP_40_U16 :
      fields->f_dsp_40_u16 = value;
      break;
    case M32C_OPERAND_DSP_40_U20 :
      fields->f_dsp_40_u20 = value;
      break;
    case M32C_OPERAND_DSP_40_U24 :
      fields->f_dsp_40_u24 = value;
      break;
    case M32C_OPERAND_DSP_40_U8 :
      fields->f_dsp_40_u8 = value;
      break;
    case M32C_OPERAND_DSP_48_S16 :
      fields->f_dsp_48_s16 = value;
      break;
    case M32C_OPERAND_DSP_48_S8 :
      fields->f_dsp_48_s8 = value;
      break;
    case M32C_OPERAND_DSP_48_U16 :
      fields->f_dsp_48_u16 = value;
      break;
    case M32C_OPERAND_DSP_48_U20 :
      fields->f_dsp_48_u20 = value;
      break;
    case M32C_OPERAND_DSP_48_U24 :
      fields->f_dsp_48_u24 = value;
      break;
    case M32C_OPERAND_DSP_48_U8 :
      fields->f_dsp_48_u8 = value;
      break;
    case M32C_OPERAND_DSP_8_S24 :
      fields->f_dsp_8_s24 = value;
      break;
    case M32C_OPERAND_DSP_8_S8 :
      fields->f_dsp_8_s8 = value;
      break;
    case M32C_OPERAND_DSP_8_U16 :
      fields->f_dsp_8_u16 = value;
      break;
    case M32C_OPERAND_DSP_8_U24 :
      fields->f_dsp_8_u24 = value;
      break;
    case M32C_OPERAND_DSP_8_U6 :
      fields->f_dsp_8_u6 = value;
      break;
    case M32C_OPERAND_DSP_8_U8 :
      fields->f_dsp_8_u8 = value;
      break;
    case M32C_OPERAND_DST16AN :
      fields->f_dst16_an = value;
      break;
    case M32C_OPERAND_DST16AN_S :
      fields->f_dst16_an_s = value;
      break;
    case M32C_OPERAND_DST16ANHI :
      fields->f_dst16_an = value;
      break;
    case M32C_OPERAND_DST16ANQI :
      fields->f_dst16_an = value;
      break;
    case M32C_OPERAND_DST16ANQI_S :
      fields->f_dst16_rn_QI_s = value;
      break;
    case M32C_OPERAND_DST16ANSI :
      fields->f_dst16_an = value;
      break;
    case M32C_OPERAND_DST16RNEXTQI :
      fields->f_dst16_rn_ext = value;
      break;
    case M32C_OPERAND_DST16RNHI :
      fields->f_dst16_rn = value;
      break;
    case M32C_OPERAND_DST16RNQI :
      fields->f_dst16_rn = value;
      break;
    case M32C_OPERAND_DST16RNQI_S :
      fields->f_dst16_rn_QI_s = value;
      break;
    case M32C_OPERAND_DST16RNSI :
      fields->f_dst16_rn = value;
      break;
    case M32C_OPERAND_DST32ANEXTUNPREFIXED :
      fields->f_dst32_an_unprefixed = value;
      break;
    case M32C_OPERAND_DST32ANPREFIXED :
      fields->f_dst32_an_prefixed = value;
      break;
    case M32C_OPERAND_DST32ANPREFIXEDHI :
      fields->f_dst32_an_prefixed = value;
      break;
    case M32C_OPERAND_DST32ANPREFIXEDQI :
      fields->f_dst32_an_prefixed = value;
      break;
    case M32C_OPERAND_DST32ANPREFIXEDSI :
      fields->f_dst32_an_prefixed = value;
      break;
    case M32C_OPERAND_DST32ANUNPREFIXED :
      fields->f_dst32_an_unprefixed = value;
      break;
    case M32C_OPERAND_DST32ANUNPREFIXEDHI :
      fields->f_dst32_an_unprefixed = value;
      break;
    case M32C_OPERAND_DST32ANUNPREFIXEDQI :
      fields->f_dst32_an_unprefixed = value;
      break;
    case M32C_OPERAND_DST32ANUNPREFIXEDSI :
      fields->f_dst32_an_unprefixed = value;
      break;
    case M32C_OPERAND_DST32R0HI_S :
      break;
    case M32C_OPERAND_DST32R0QI_S :
      break;
    case M32C_OPERAND_DST32RNEXTUNPREFIXEDHI :
      fields->f_dst32_rn_ext_unprefixed = value;
      break;
    case M32C_OPERAND_DST32RNEXTUNPREFIXEDQI :
      fields->f_dst32_rn_ext_unprefixed = value;
      break;
    case M32C_OPERAND_DST32RNPREFIXEDHI :
      fields->f_dst32_rn_prefixed_HI = value;
      break;
    case M32C_OPERAND_DST32RNPREFIXEDQI :
      fields->f_dst32_rn_prefixed_QI = value;
      break;
    case M32C_OPERAND_DST32RNPREFIXEDSI :
      fields->f_dst32_rn_prefixed_SI = value;
      break;
    case M32C_OPERAND_DST32RNUNPREFIXEDHI :
      fields->f_dst32_rn_unprefixed_HI = value;
      break;
    case M32C_OPERAND_DST32RNUNPREFIXEDQI :
      fields->f_dst32_rn_unprefixed_QI = value;
      break;
    case M32C_OPERAND_DST32RNUNPREFIXEDSI :
      fields->f_dst32_rn_unprefixed_SI = value;
      break;
    case M32C_OPERAND_G :
      break;
    case M32C_OPERAND_IMM_12_S4 :
      fields->f_imm_12_s4 = value;
      break;
    case M32C_OPERAND_IMM_12_S4N :
      fields->f_imm_12_s4 = value;
      break;
    case M32C_OPERAND_IMM_13_U3 :
      fields->f_imm_13_u3 = value;
      break;
    case M32C_OPERAND_IMM_16_HI :
      fields->f_dsp_16_s16 = value;
      break;
    case M32C_OPERAND_IMM_16_QI :
      fields->f_dsp_16_s8 = value;
      break;
    case M32C_OPERAND_IMM_16_SI :
      fields->f_dsp_16_s32 = value;
      break;
    case M32C_OPERAND_IMM_20_S4 :
      fields->f_imm_20_s4 = value;
      break;
    case M32C_OPERAND_IMM_24_HI :
      fields->f_dsp_24_s16 = value;
      break;
    case M32C_OPERAND_IMM_24_QI :
      fields->f_dsp_24_s8 = value;
      break;
    case M32C_OPERAND_IMM_24_SI :
      fields->f_dsp_24_s32 = value;
      break;
    case M32C_OPERAND_IMM_32_HI :
      fields->f_dsp_32_s16 = value;
      break;
    case M32C_OPERAND_IMM_32_QI :
      fields->f_dsp_32_s8 = value;
      break;
    case M32C_OPERAND_IMM_32_SI :
      fields->f_dsp_32_s32 = value;
      break;
    case M32C_OPERAND_IMM_40_HI :
      fields->f_dsp_40_s16 = value;
      break;
    case M32C_OPERAND_IMM_40_QI :
      fields->f_dsp_40_s8 = value;
      break;
    case M32C_OPERAND_IMM_40_SI :
      fields->f_dsp_40_s32 = value;
      break;
    case M32C_OPERAND_IMM_48_HI :
      fields->f_dsp_48_s16 = value;
      break;
    case M32C_OPERAND_IMM_48_QI :
      fields->f_dsp_48_s8 = value;
      break;
    case M32C_OPERAND_IMM_48_SI :
      fields->f_dsp_48_s32 = value;
      break;
    case M32C_OPERAND_IMM_56_HI :
      fields->f_dsp_56_s16 = value;
      break;
    case M32C_OPERAND_IMM_56_QI :
      fields->f_dsp_56_s8 = value;
      break;
    case M32C_OPERAND_IMM_64_HI :
      fields->f_dsp_64_s16 = value;
      break;
    case M32C_OPERAND_IMM_8_HI :
      fields->f_dsp_8_s16 = value;
      break;
    case M32C_OPERAND_IMM_8_QI :
      fields->f_dsp_8_s8 = value;
      break;
    case M32C_OPERAND_IMM_8_S4 :
      fields->f_imm_8_s4 = value;
      break;
    case M32C_OPERAND_IMM_8_S4N :
      fields->f_imm_8_s4 = value;
      break;
    case M32C_OPERAND_IMM_SH_12_S4 :
      fields->f_imm_12_s4 = value;
      break;
    case M32C_OPERAND_IMM_SH_20_S4 :
      fields->f_imm_20_s4 = value;
      break;
    case M32C_OPERAND_IMM_SH_8_S4 :
      fields->f_imm_8_s4 = value;
      break;
    case M32C_OPERAND_IMM1_S :
      fields->f_imm1_S = value;
      break;
    case M32C_OPERAND_IMM3_S :
      fields->f_imm3_S = value;
      break;
    case M32C_OPERAND_LAB_16_8 :
      fields->f_lab_16_8 = value;
      break;
    case M32C_OPERAND_LAB_24_8 :
      fields->f_lab_24_8 = value;
      break;
    case M32C_OPERAND_LAB_32_8 :
      fields->f_lab_32_8 = value;
      break;
    case M32C_OPERAND_LAB_40_8 :
      fields->f_lab_40_8 = value;
      break;
    case M32C_OPERAND_LAB_5_3 :
      fields->f_lab_5_3 = value;
      break;
    case M32C_OPERAND_LAB_8_16 :
      fields->f_lab_8_16 = value;
      break;
    case M32C_OPERAND_LAB_8_24 :
      fields->f_lab_8_24 = value;
      break;
    case M32C_OPERAND_LAB_8_8 :
      fields->f_lab_8_8 = value;
      break;
    case M32C_OPERAND_LAB32_JMP_S :
      fields->f_lab32_jmp_s = value;
      break;
    case M32C_OPERAND_Q :
      break;
    case M32C_OPERAND_R0 :
      break;
    case M32C_OPERAND_R0H :
      break;
    case M32C_OPERAND_R0L :
      break;
    case M32C_OPERAND_R1 :
      break;
    case M32C_OPERAND_R1R2R0 :
      break;
    case M32C_OPERAND_R2 :
      break;
    case M32C_OPERAND_R2R0 :
      break;
    case M32C_OPERAND_R3 :
      break;
    case M32C_OPERAND_R3R1 :
      break;
    case M32C_OPERAND_REGSETPOP :
      fields->f_8_8 = value;
      break;
    case M32C_OPERAND_REGSETPUSH :
      fields->f_8_8 = value;
      break;
    case M32C_OPERAND_RN16_PUSH_S :
      fields->f_4_1 = value;
      break;
    case M32C_OPERAND_S :
      break;
    case M32C_OPERAND_SRC16AN :
      fields->f_src16_an = value;
      break;
    case M32C_OPERAND_SRC16ANHI :
      fields->f_src16_an = value;
      break;
    case M32C_OPERAND_SRC16ANQI :
      fields->f_src16_an = value;
      break;
    case M32C_OPERAND_SRC16RNHI :
      fields->f_src16_rn = value;
      break;
    case M32C_OPERAND_SRC16RNQI :
      fields->f_src16_rn = value;
      break;
    case M32C_OPERAND_SRC32ANPREFIXED :
      fields->f_src32_an_prefixed = value;
      break;
    case M32C_OPERAND_SRC32ANPREFIXEDHI :
      fields->f_src32_an_prefixed = value;
      break;
    case M32C_OPERAND_SRC32ANPREFIXEDQI :
      fields->f_src32_an_prefixed = value;
      break;
    case M32C_OPERAND_SRC32ANPREFIXEDSI :
      fields->f_src32_an_prefixed = value;
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXED :
      fields->f_src32_an_unprefixed = value;
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXEDHI :
      fields->f_src32_an_unprefixed = value;
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXEDQI :
      fields->f_src32_an_unprefixed = value;
      break;
    case M32C_OPERAND_SRC32ANUNPREFIXEDSI :
      fields->f_src32_an_unprefixed = value;
      break;
    case M32C_OPERAND_SRC32RNPREFIXEDHI :
      fields->f_src32_rn_prefixed_HI = value;
      break;
    case M32C_OPERAND_SRC32RNPREFIXEDQI :
      fields->f_src32_rn_prefixed_QI = value;
      break;
    case M32C_OPERAND_SRC32RNPREFIXEDSI :
      fields->f_src32_rn_prefixed_SI = value;
      break;
    case M32C_OPERAND_SRC32RNUNPREFIXEDHI :
      fields->f_src32_rn_unprefixed_HI = value;
      break;
    case M32C_OPERAND_SRC32RNUNPREFIXEDQI :
      fields->f_src32_rn_unprefixed_QI = value;
      break;
    case M32C_OPERAND_SRC32RNUNPREFIXEDSI :
      fields->f_src32_rn_unprefixed_SI = value;
      break;
    case M32C_OPERAND_SRCDST16_R0L_R0H_S_NORMAL :
      fields->f_5_1 = value;
      break;
    case M32C_OPERAND_X :
      break;
    case M32C_OPERAND_Z :
      break;
    case M32C_OPERAND_COND16_16 :
      fields->f_dsp_16_u8 = value;
      break;
    case M32C_OPERAND_COND16_24 :
      fields->f_dsp_24_u8 = value;
      break;
    case M32C_OPERAND_COND16_32 :
      fields->f_dsp_32_u8 = value;
      break;
    case M32C_OPERAND_COND16C :
      fields->f_cond16 = value;
      break;
    case M32C_OPERAND_COND16J :
      fields->f_cond16 = value;
      break;
    case M32C_OPERAND_COND16J5 :
      fields->f_cond16j_5 = value;
      break;
    case M32C_OPERAND_COND32 :
      fields->f_cond32 = value;
      break;
    case M32C_OPERAND_COND32_16 :
      fields->f_dsp_16_u8 = value;
      break;
    case M32C_OPERAND_COND32_24 :
      fields->f_dsp_24_u8 = value;
      break;
    case M32C_OPERAND_COND32_32 :
      fields->f_dsp_32_u8 = value;
      break;
    case M32C_OPERAND_COND32_40 :
      fields->f_dsp_40_u8 = value;
      break;
    case M32C_OPERAND_COND32J :
      fields->f_cond32j = value;
      break;
    case M32C_OPERAND_CR1_PREFIXED_32 :
      fields->f_21_3 = value;
      break;
    case M32C_OPERAND_CR1_UNPREFIXED_32 :
      fields->f_13_3 = value;
      break;
    case M32C_OPERAND_CR16 :
      fields->f_9_3 = value;
      break;
    case M32C_OPERAND_CR2_32 :
      fields->f_13_3 = value;
      break;
    case M32C_OPERAND_CR3_PREFIXED_32 :
      fields->f_21_3 = value;
      break;
    case M32C_OPERAND_CR3_UNPREFIXED_32 :
      fields->f_13_3 = value;
      break;
    case M32C_OPERAND_FLAGS16 :
      fields->f_9_3 = value;
      break;
    case M32C_OPERAND_FLAGS32 :
      fields->f_13_3 = value;
      break;
    case M32C_OPERAND_SCCOND32 :
      fields->f_cond16 = value;
      break;
    case M32C_OPERAND_SIZE :
      break;

    default :
      /* xgettext:c-format */
      fprintf (stderr, _("Unrecognized field %d while setting vma operand.\n"),
                     opindex);
      abort ();
  }
}

Here is the call graph for this function:


Variable Documentation

Initial value:

Definition at line 2901 of file m32c-ibld.c.

Initial value:

Definition at line 2896 of file m32c-ibld.c.