/* Generated automatically from machmode.def and config/aarch64/aarch64-modes.def
   by genmodes.  */

#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "machmode.h"
#include "real.h"

const char *const mode_name[NUM_MACHINE_MODES] =
{
  "VOID",
  "BLK",
  "CC",
  "CCFP",
  "CCFPE",
  "CC_SWP",
  "CC_NZ",
  "CC_Z",
  "CC_C",
  "BI",
  "QI",
  "HI",
  "SI",
  "DI",
  "TI",
  "OI",
  "CI",
  "XI",
  "QQ",
  "HQ",
  "SQ",
  "DQ",
  "TQ",
  "UQQ",
  "UHQ",
  "USQ",
  "UDQ",
  "UTQ",
  "HA",
  "SA",
  "DA",
  "TA",
  "UHA",
  "USA",
  "UDA",
  "UTA",
  "HF",
  "SF",
  "DF",
  "TF",
  "SD",
  "DD",
  "TD",
  "CQI",
  "CHI",
  "CSI",
  "CDI",
  "CTI",
  "COI",
  "CCI",
  "CXI",
  "HC",
  "SC",
  "DC",
  "TC",
  "V8QI",
  "V4HI",
  "V2SI",
  "V16QI",
  "V8HI",
  "V4SI",
  "V2DI",
  "V32QI",
  "V16HI",
  "V8SI",
  "V4DI",
  "V2TI",
  "V48QI",
  "V24HI",
  "V12SI",
  "V6DI",
  "V3TI",
  "V64QI",
  "V32HI",
  "V16SI",
  "V8DI",
  "V4TI",
  "V2OI",
  "V4HF",
  "V2SF",
  "V1DF",
  "V8HF",
  "V4SF",
  "V2DF",
  "V16HF",
  "V8SF",
  "V4DF",
  "V24HF",
  "V12SF",
  "V6DF",
  "V32HF",
  "V16SF",
  "V8DF",
};

const unsigned char mode_class[NUM_MACHINE_MODES] =
{
  MODE_RANDOM,             /* VOID */
  MODE_RANDOM,             /* BLK */
  MODE_CC,                 /* CC */
  MODE_CC,                 /* CCFP */
  MODE_CC,                 /* CCFPE */
  MODE_CC,                 /* CC_SWP */
  MODE_CC,                 /* CC_NZ */
  MODE_CC,                 /* CC_Z */
  MODE_CC,                 /* CC_C */
  MODE_INT,                /* BI */
  MODE_INT,                /* QI */
  MODE_INT,                /* HI */
  MODE_INT,                /* SI */
  MODE_INT,                /* DI */
  MODE_INT,                /* TI */
  MODE_INT,                /* OI */
  MODE_INT,                /* CI */
  MODE_INT,                /* XI */
  MODE_FRACT,              /* QQ */
  MODE_FRACT,              /* HQ */
  MODE_FRACT,              /* SQ */
  MODE_FRACT,              /* DQ */
  MODE_FRACT,              /* TQ */
  MODE_UFRACT,             /* UQQ */
  MODE_UFRACT,             /* UHQ */
  MODE_UFRACT,             /* USQ */
  MODE_UFRACT,             /* UDQ */
  MODE_UFRACT,             /* UTQ */
  MODE_ACCUM,              /* HA */
  MODE_ACCUM,              /* SA */
  MODE_ACCUM,              /* DA */
  MODE_ACCUM,              /* TA */
  MODE_UACCUM,             /* UHA */
  MODE_UACCUM,             /* USA */
  MODE_UACCUM,             /* UDA */
  MODE_UACCUM,             /* UTA */
  MODE_FLOAT,              /* HF */
  MODE_FLOAT,              /* SF */
  MODE_FLOAT,              /* DF */
  MODE_FLOAT,              /* TF */
  MODE_DECIMAL_FLOAT,      /* SD */
  MODE_DECIMAL_FLOAT,      /* DD */
  MODE_DECIMAL_FLOAT,      /* TD */
  MODE_COMPLEX_INT,        /* CQI */
  MODE_COMPLEX_INT,        /* CHI */
  MODE_COMPLEX_INT,        /* CSI */
  MODE_COMPLEX_INT,        /* CDI */
  MODE_COMPLEX_INT,        /* CTI */
  MODE_COMPLEX_INT,        /* COI */
  MODE_COMPLEX_INT,        /* CCI */
  MODE_COMPLEX_INT,        /* CXI */
  MODE_COMPLEX_FLOAT,      /* HC */
  MODE_COMPLEX_FLOAT,      /* SC */
  MODE_COMPLEX_FLOAT,      /* DC */
  MODE_COMPLEX_FLOAT,      /* TC */
  MODE_VECTOR_INT,         /* V8QI */
  MODE_VECTOR_INT,         /* V4HI */
  MODE_VECTOR_INT,         /* V2SI */
  MODE_VECTOR_INT,         /* V16QI */
  MODE_VECTOR_INT,         /* V8HI */
  MODE_VECTOR_INT,         /* V4SI */
  MODE_VECTOR_INT,         /* V2DI */
  MODE_VECTOR_INT,         /* V32QI */
  MODE_VECTOR_INT,         /* V16HI */
  MODE_VECTOR_INT,         /* V8SI */
  MODE_VECTOR_INT,         /* V4DI */
  MODE_VECTOR_INT,         /* V2TI */
  MODE_VECTOR_INT,         /* V48QI */
  MODE_VECTOR_INT,         /* V24HI */
  MODE_VECTOR_INT,         /* V12SI */
  MODE_VECTOR_INT,         /* V6DI */
  MODE_VECTOR_INT,         /* V3TI */
  MODE_VECTOR_INT,         /* V64QI */
  MODE_VECTOR_INT,         /* V32HI */
  MODE_VECTOR_INT,         /* V16SI */
  MODE_VECTOR_INT,         /* V8DI */
  MODE_VECTOR_INT,         /* V4TI */
  MODE_VECTOR_INT,         /* V2OI */
  MODE_VECTOR_FLOAT,       /* V4HF */
  MODE_VECTOR_FLOAT,       /* V2SF */
  MODE_VECTOR_FLOAT,       /* V1DF */
  MODE_VECTOR_FLOAT,       /* V8HF */
  MODE_VECTOR_FLOAT,       /* V4SF */
  MODE_VECTOR_FLOAT,       /* V2DF */
  MODE_VECTOR_FLOAT,       /* V16HF */
  MODE_VECTOR_FLOAT,       /* V8SF */
  MODE_VECTOR_FLOAT,       /* V4DF */
  MODE_VECTOR_FLOAT,       /* V24HF */
  MODE_VECTOR_FLOAT,       /* V12SF */
  MODE_VECTOR_FLOAT,       /* V6DF */
  MODE_VECTOR_FLOAT,       /* V32HF */
  MODE_VECTOR_FLOAT,       /* V16SF */
  MODE_VECTOR_FLOAT,       /* V8DF */
};

const unsigned short mode_precision[NUM_MACHINE_MODES] =
{
  0,                       /* VOID */
  0,                       /* BLK */
  4*BITS_PER_UNIT,         /* CC */
  4*BITS_PER_UNIT,         /* CCFP */
  4*BITS_PER_UNIT,         /* CCFPE */
  4*BITS_PER_UNIT,         /* CC_SWP */
  4*BITS_PER_UNIT,         /* CC_NZ */
  4*BITS_PER_UNIT,         /* CC_Z */
  4*BITS_PER_UNIT,         /* CC_C */
  1,                       /* BI */
  1*BITS_PER_UNIT,         /* QI */
  2*BITS_PER_UNIT,         /* HI */
  4*BITS_PER_UNIT,         /* SI */
  8*BITS_PER_UNIT,         /* DI */
  16*BITS_PER_UNIT,        /* TI */
  32*BITS_PER_UNIT,        /* OI */
  48*BITS_PER_UNIT,        /* CI */
  64*BITS_PER_UNIT,        /* XI */
  1*BITS_PER_UNIT,         /* QQ */
  2*BITS_PER_UNIT,         /* HQ */
  4*BITS_PER_UNIT,         /* SQ */
  8*BITS_PER_UNIT,         /* DQ */
  16*BITS_PER_UNIT,        /* TQ */
  1*BITS_PER_UNIT,         /* UQQ */
  2*BITS_PER_UNIT,         /* UHQ */
  4*BITS_PER_UNIT,         /* USQ */
  8*BITS_PER_UNIT,         /* UDQ */
  16*BITS_PER_UNIT,        /* UTQ */
  2*BITS_PER_UNIT,         /* HA */
  4*BITS_PER_UNIT,         /* SA */
  8*BITS_PER_UNIT,         /* DA */
  16*BITS_PER_UNIT,        /* TA */
  2*BITS_PER_UNIT,         /* UHA */
  4*BITS_PER_UNIT,         /* USA */
  8*BITS_PER_UNIT,         /* UDA */
  16*BITS_PER_UNIT,        /* UTA */
  2*BITS_PER_UNIT,         /* HF */
  4*BITS_PER_UNIT,         /* SF */
  8*BITS_PER_UNIT,         /* DF */
  16*BITS_PER_UNIT,        /* TF */
  4*BITS_PER_UNIT,         /* SD */
  8*BITS_PER_UNIT,         /* DD */
  16*BITS_PER_UNIT,        /* TD */
  2*BITS_PER_UNIT,         /* CQI */
  4*BITS_PER_UNIT,         /* CHI */
  8*BITS_PER_UNIT,         /* CSI */
  16*BITS_PER_UNIT,        /* CDI */
  32*BITS_PER_UNIT,        /* CTI */
  64*BITS_PER_UNIT,        /* COI */
  96*BITS_PER_UNIT,        /* CCI */
  128*BITS_PER_UNIT,       /* CXI */
  4*BITS_PER_UNIT,         /* HC */
  8*BITS_PER_UNIT,         /* SC */
  16*BITS_PER_UNIT,        /* DC */
  32*BITS_PER_UNIT,        /* TC */
  8*BITS_PER_UNIT,         /* V8QI */
  8*BITS_PER_UNIT,         /* V4HI */
  8*BITS_PER_UNIT,         /* V2SI */
  16*BITS_PER_UNIT,        /* V16QI */
  16*BITS_PER_UNIT,        /* V8HI */
  16*BITS_PER_UNIT,        /* V4SI */
  16*BITS_PER_UNIT,        /* V2DI */
  32*BITS_PER_UNIT,        /* V32QI */
  32*BITS_PER_UNIT,        /* V16HI */
  32*BITS_PER_UNIT,        /* V8SI */
  32*BITS_PER_UNIT,        /* V4DI */
  32*BITS_PER_UNIT,        /* V2TI */
  48*BITS_PER_UNIT,        /* V48QI */
  48*BITS_PER_UNIT,        /* V24HI */
  48*BITS_PER_UNIT,        /* V12SI */
  48*BITS_PER_UNIT,        /* V6DI */
  48*BITS_PER_UNIT,        /* V3TI */
  64*BITS_PER_UNIT,        /* V64QI */
  64*BITS_PER_UNIT,        /* V32HI */
  64*BITS_PER_UNIT,        /* V16SI */
  64*BITS_PER_UNIT,        /* V8DI */
  64*BITS_PER_UNIT,        /* V4TI */
  64*BITS_PER_UNIT,        /* V2OI */
  8*BITS_PER_UNIT,         /* V4HF */
  8*BITS_PER_UNIT,         /* V2SF */
  8*BITS_PER_UNIT,         /* V1DF */
  16*BITS_PER_UNIT,        /* V8HF */
  16*BITS_PER_UNIT,        /* V4SF */
  16*BITS_PER_UNIT,        /* V2DF */
  32*BITS_PER_UNIT,        /* V16HF */
  32*BITS_PER_UNIT,        /* V8SF */
  32*BITS_PER_UNIT,        /* V4DF */
  48*BITS_PER_UNIT,        /* V24HF */
  48*BITS_PER_UNIT,        /* V12SF */
  48*BITS_PER_UNIT,        /* V6DF */
  64*BITS_PER_UNIT,        /* V32HF */
  64*BITS_PER_UNIT,        /* V16SF */
  64*BITS_PER_UNIT,        /* V8DF */
};

const unsigned char mode_size[NUM_MACHINE_MODES] = 
{
  0,                       /* VOID */
  0,                       /* BLK */
  4,                       /* CC */
  4,                       /* CCFP */
  4,                       /* CCFPE */
  4,                       /* CC_SWP */
  4,                       /* CC_NZ */
  4,                       /* CC_Z */
  4,                       /* CC_C */
  1,                       /* BI */
  1,                       /* QI */
  2,                       /* HI */
  4,                       /* SI */
  8,                       /* DI */
  16,                      /* TI */
  32,                      /* OI */
  48,                      /* CI */
  64,                      /* XI */
  1,                       /* QQ */
  2,                       /* HQ */
  4,                       /* SQ */
  8,                       /* DQ */
  16,                      /* TQ */
  1,                       /* UQQ */
  2,                       /* UHQ */
  4,                       /* USQ */
  8,                       /* UDQ */
  16,                      /* UTQ */
  2,                       /* HA */
  4,                       /* SA */
  8,                       /* DA */
  16,                      /* TA */
  2,                       /* UHA */
  4,                       /* USA */
  8,                       /* UDA */
  16,                      /* UTA */
  2,                       /* HF */
  4,                       /* SF */
  8,                       /* DF */
  16,                      /* TF */
  4,                       /* SD */
  8,                       /* DD */
  16,                      /* TD */
  2,                       /* CQI */
  4,                       /* CHI */
  8,                       /* CSI */
  16,                      /* CDI */
  32,                      /* CTI */
  64,                      /* COI */
  96,                      /* CCI */
  128,                     /* CXI */
  4,                       /* HC */
  8,                       /* SC */
  16,                      /* DC */
  32,                      /* TC */
  8,                       /* V8QI */
  8,                       /* V4HI */
  8,                       /* V2SI */
  16,                      /* V16QI */
  16,                      /* V8HI */
  16,                      /* V4SI */
  16,                      /* V2DI */
  32,                      /* V32QI */
  32,                      /* V16HI */
  32,                      /* V8SI */
  32,                      /* V4DI */
  32,                      /* V2TI */
  48,                      /* V48QI */
  48,                      /* V24HI */
  48,                      /* V12SI */
  48,                      /* V6DI */
  48,                      /* V3TI */
  64,                      /* V64QI */
  64,                      /* V32HI */
  64,                      /* V16SI */
  64,                      /* V8DI */
  64,                      /* V4TI */
  64,                      /* V2OI */
  8,                       /* V4HF */
  8,                       /* V2SF */
  8,                       /* V1DF */
  16,                      /* V8HF */
  16,                      /* V4SF */
  16,                      /* V2DF */
  32,                      /* V16HF */
  32,                      /* V8SF */
  32,                      /* V4DF */
  48,                      /* V24HF */
  48,                      /* V12SF */
  48,                      /* V6DF */
  64,                      /* V32HF */
  64,                      /* V16SF */
  64,                      /* V8DF */
};

const unsigned char mode_nunits[NUM_MACHINE_MODES] =
{
  0,                       /* VOID */
  0,                       /* BLK */
  1,                       /* CC */
  1,                       /* CCFP */
  1,                       /* CCFPE */
  1,                       /* CC_SWP */
  1,                       /* CC_NZ */
  1,                       /* CC_Z */
  1,                       /* CC_C */
  1,                       /* BI */
  1,                       /* QI */
  1,                       /* HI */
  1,                       /* SI */
  1,                       /* DI */
  1,                       /* TI */
  1,                       /* OI */
  1,                       /* CI */
  1,                       /* XI */
  1,                       /* QQ */
  1,                       /* HQ */
  1,                       /* SQ */
  1,                       /* DQ */
  1,                       /* TQ */
  1,                       /* UQQ */
  1,                       /* UHQ */
  1,                       /* USQ */
  1,                       /* UDQ */
  1,                       /* UTQ */
  1,                       /* HA */
  1,                       /* SA */
  1,                       /* DA */
  1,                       /* TA */
  1,                       /* UHA */
  1,                       /* USA */
  1,                       /* UDA */
  1,                       /* UTA */
  1,                       /* HF */
  1,                       /* SF */
  1,                       /* DF */
  1,                       /* TF */
  1,                       /* SD */
  1,                       /* DD */
  1,                       /* TD */
  2,                       /* CQI */
  2,                       /* CHI */
  2,                       /* CSI */
  2,                       /* CDI */
  2,                       /* CTI */
  2,                       /* COI */
  2,                       /* CCI */
  2,                       /* CXI */
  2,                       /* HC */
  2,                       /* SC */
  2,                       /* DC */
  2,                       /* TC */
  8,                       /* V8QI */
  4,                       /* V4HI */
  2,                       /* V2SI */
  16,                      /* V16QI */
  8,                       /* V8HI */
  4,                       /* V4SI */
  2,                       /* V2DI */
  32,                      /* V32QI */
  16,                      /* V16HI */
  8,                       /* V8SI */
  4,                       /* V4DI */
  2,                       /* V2TI */
  48,                      /* V48QI */
  24,                      /* V24HI */
  12,                      /* V12SI */
  6,                       /* V6DI */
  3,                       /* V3TI */
  64,                      /* V64QI */
  32,                      /* V32HI */
  16,                      /* V16SI */
  8,                       /* V8DI */
  4,                       /* V4TI */
  2,                       /* V2OI */
  4,                       /* V4HF */
  2,                       /* V2SF */
  1,                       /* V1DF */
  8,                       /* V8HF */
  4,                       /* V4SF */
  2,                       /* V2DF */
  16,                      /* V16HF */
  8,                       /* V8SF */
  4,                       /* V4DF */
  24,                      /* V24HF */
  12,                      /* V12SF */
  6,                       /* V6DF */
  32,                      /* V32HF */
  16,                      /* V16SF */
  8,                       /* V8DF */
};

const unsigned char mode_wider[NUM_MACHINE_MODES] =
{
  VOIDmode,                /* VOID */
  VOIDmode,                /* BLK */
  VOIDmode,                /* CC */
  VOIDmode,                /* CCFP */
  VOIDmode,                /* CCFPE */
  VOIDmode,                /* CC_SWP */
  VOIDmode,                /* CC_NZ */
  VOIDmode,                /* CC_Z */
  VOIDmode,                /* CC_C */
  QImode,                  /* BI */
  HImode,                  /* QI */
  SImode,                  /* HI */
  DImode,                  /* SI */
  TImode,                  /* DI */
  OImode,                  /* TI */
  CImode,                  /* OI */
  XImode,                  /* CI */
  VOIDmode,                /* XI */
  HQmode,                  /* QQ */
  SQmode,                  /* HQ */
  DQmode,                  /* SQ */
  TQmode,                  /* DQ */
  VOIDmode,                /* TQ */
  UHQmode,                 /* UQQ */
  USQmode,                 /* UHQ */
  UDQmode,                 /* USQ */
  UTQmode,                 /* UDQ */
  VOIDmode,                /* UTQ */
  SAmode,                  /* HA */
  DAmode,                  /* SA */
  TAmode,                  /* DA */
  VOIDmode,                /* TA */
  USAmode,                 /* UHA */
  UDAmode,                 /* USA */
  UTAmode,                 /* UDA */
  VOIDmode,                /* UTA */
  SFmode,                  /* HF */
  DFmode,                  /* SF */
  TFmode,                  /* DF */
  VOIDmode,                /* TF */
  DDmode,                  /* SD */
  TDmode,                  /* DD */
  VOIDmode,                /* TD */
  CHImode,                 /* CQI */
  CSImode,                 /* CHI */
  CDImode,                 /* CSI */
  CTImode,                 /* CDI */
  COImode,                 /* CTI */
  CCImode,                 /* COI */
  CXImode,                 /* CCI */
  VOIDmode,                /* CXI */
  SCmode,                  /* HC */
  DCmode,                  /* SC */
  TCmode,                  /* DC */
  VOIDmode,                /* TC */
  V4HImode,                /* V8QI */
  V2SImode,                /* V4HI */
  V16QImode,               /* V2SI */
  V8HImode,                /* V16QI */
  V4SImode,                /* V8HI */
  V2DImode,                /* V4SI */
  V32QImode,               /* V2DI */
  V16HImode,               /* V32QI */
  V8SImode,                /* V16HI */
  V4DImode,                /* V8SI */
  V2TImode,                /* V4DI */
  V48QImode,               /* V2TI */
  V24HImode,               /* V48QI */
  V12SImode,               /* V24HI */
  V6DImode,                /* V12SI */
  V3TImode,                /* V6DI */
  V64QImode,               /* V3TI */
  V32HImode,               /* V64QI */
  V16SImode,               /* V32HI */
  V8DImode,                /* V16SI */
  V4TImode,                /* V8DI */
  V2OImode,                /* V4TI */
  VOIDmode,                /* V2OI */
  V2SFmode,                /* V4HF */
  V1DFmode,                /* V2SF */
  V8HFmode,                /* V1DF */
  V4SFmode,                /* V8HF */
  V2DFmode,                /* V4SF */
  V16HFmode,               /* V2DF */
  V8SFmode,                /* V16HF */
  V4DFmode,                /* V8SF */
  V24HFmode,               /* V4DF */
  V12SFmode,               /* V24HF */
  V6DFmode,                /* V12SF */
  V32HFmode,               /* V6DF */
  V16SFmode,               /* V32HF */
  V8DFmode,                /* V16SF */
  VOIDmode,                /* V8DF */
};

const unsigned char mode_2xwider[NUM_MACHINE_MODES] =
{
  VOIDmode,                /* VOID */
  BLKmode,                 /* BLK */
  VOIDmode,                /* CC */
  VOIDmode,                /* CCFP */
  VOIDmode,                /* CCFPE */
  VOIDmode,                /* CC_SWP */
  VOIDmode,                /* CC_NZ */
  VOIDmode,                /* CC_Z */
  VOIDmode,                /* CC_C */
  VOIDmode,                /* BI */
  HImode,                  /* QI */
  SImode,                  /* HI */
  DImode,                  /* SI */
  TImode,                  /* DI */
  OImode,                  /* TI */
  XImode,                  /* OI */
  VOIDmode,                /* CI */
  VOIDmode,                /* XI */
  HQmode,                  /* QQ */
  SQmode,                  /* HQ */
  DQmode,                  /* SQ */
  TQmode,                  /* DQ */
  VOIDmode,                /* TQ */
  UHQmode,                 /* UQQ */
  USQmode,                 /* UHQ */
  UDQmode,                 /* USQ */
  UTQmode,                 /* UDQ */
  VOIDmode,                /* UTQ */
  SAmode,                  /* HA */
  DAmode,                  /* SA */
  TAmode,                  /* DA */
  VOIDmode,                /* TA */
  USAmode,                 /* UHA */
  UDAmode,                 /* USA */
  UTAmode,                 /* UDA */
  VOIDmode,                /* UTA */
  SFmode,                  /* HF */
  DFmode,                  /* SF */
  TFmode,                  /* DF */
  VOIDmode,                /* TF */
  DDmode,                  /* SD */
  TDmode,                  /* DD */
  VOIDmode,                /* TD */
  CHImode,                 /* CQI */
  CSImode,                 /* CHI */
  CDImode,                 /* CSI */
  CTImode,                 /* CDI */
  COImode,                 /* CTI */
  CXImode,                 /* COI */
  VOIDmode,                /* CCI */
  VOIDmode,                /* CXI */
  SCmode,                  /* HC */
  DCmode,                  /* SC */
  TCmode,                  /* DC */
  VOIDmode,                /* TC */
  V16QImode,               /* V8QI */
  V8HImode,                /* V4HI */
  V4SImode,                /* V2SI */
  V32QImode,               /* V16QI */
  V16HImode,               /* V8HI */
  V8SImode,                /* V4SI */
  V4DImode,                /* V2DI */
  V64QImode,               /* V32QI */
  V32HImode,               /* V16HI */
  V16SImode,               /* V8SI */
  V8DImode,                /* V4DI */
  V4TImode,                /* V2TI */
  VOIDmode,                /* V48QI */
  VOIDmode,                /* V24HI */
  VOIDmode,                /* V12SI */
  VOIDmode,                /* V6DI */
  VOIDmode,                /* V3TI */
  VOIDmode,                /* V64QI */
  VOIDmode,                /* V32HI */
  VOIDmode,                /* V16SI */
  VOIDmode,                /* V8DI */
  VOIDmode,                /* V4TI */
  VOIDmode,                /* V2OI */
  V8HFmode,                /* V4HF */
  V4SFmode,                /* V2SF */
  V2DFmode,                /* V1DF */
  V16HFmode,               /* V8HF */
  V8SFmode,                /* V4SF */
  V4DFmode,                /* V2DF */
  V32HFmode,               /* V16HF */
  V16SFmode,               /* V8SF */
  V8DFmode,                /* V4DF */
  VOIDmode,                /* V24HF */
  VOIDmode,                /* V12SF */
  VOIDmode,                /* V6DF */
  VOIDmode,                /* V32HF */
  VOIDmode,                /* V16SF */
  VOIDmode,                /* V8DF */
};

const unsigned char mode_complex[NUM_MACHINE_MODES] =
{
  VOIDmode,                /* VOID */
  VOIDmode,                /* BLK */
  VOIDmode,                /* CC */
  VOIDmode,                /* CCFP */
  VOIDmode,                /* CCFPE */
  VOIDmode,                /* CC_SWP */
  VOIDmode,                /* CC_NZ */
  VOIDmode,                /* CC_Z */
  VOIDmode,                /* CC_C */
  VOIDmode,                /* BI */
  CQImode,                 /* QI */
  CHImode,                 /* HI */
  CSImode,                 /* SI */
  CDImode,                 /* DI */
  CTImode,                 /* TI */
  COImode,                 /* OI */
  CCImode,                 /* CI */
  CXImode,                 /* XI */
  VOIDmode,                /* QQ */
  VOIDmode,                /* HQ */
  VOIDmode,                /* SQ */
  VOIDmode,                /* DQ */
  VOIDmode,                /* TQ */
  VOIDmode,                /* UQQ */
  VOIDmode,                /* UHQ */
  VOIDmode,                /* USQ */
  VOIDmode,                /* UDQ */
  VOIDmode,                /* UTQ */
  VOIDmode,                /* HA */
  VOIDmode,                /* SA */
  VOIDmode,                /* DA */
  VOIDmode,                /* TA */
  VOIDmode,                /* UHA */
  VOIDmode,                /* USA */
  VOIDmode,                /* UDA */
  VOIDmode,                /* UTA */
  HCmode,                  /* HF */
  SCmode,                  /* SF */
  DCmode,                  /* DF */
  TCmode,                  /* TF */
  VOIDmode,                /* SD */
  VOIDmode,                /* DD */
  VOIDmode,                /* TD */
  VOIDmode,                /* CQI */
  VOIDmode,                /* CHI */
  VOIDmode,                /* CSI */
  VOIDmode,                /* CDI */
  VOIDmode,                /* CTI */
  VOIDmode,                /* COI */
  VOIDmode,                /* CCI */
  VOIDmode,                /* CXI */
  VOIDmode,                /* HC */
  VOIDmode,                /* SC */
  VOIDmode,                /* DC */
  VOIDmode,                /* TC */
  VOIDmode,                /* V8QI */
  VOIDmode,                /* V4HI */
  VOIDmode,                /* V2SI */
  VOIDmode,                /* V16QI */
  VOIDmode,                /* V8HI */
  VOIDmode,                /* V4SI */
  VOIDmode,                /* V2DI */
  VOIDmode,                /* V32QI */
  VOIDmode,                /* V16HI */
  VOIDmode,                /* V8SI */
  VOIDmode,                /* V4DI */
  VOIDmode,                /* V2TI */
  VOIDmode,                /* V48QI */
  VOIDmode,                /* V24HI */
  VOIDmode,                /* V12SI */
  VOIDmode,                /* V6DI */
  VOIDmode,                /* V3TI */
  VOIDmode,                /* V64QI */
  VOIDmode,                /* V32HI */
  VOIDmode,                /* V16SI */
  VOIDmode,                /* V8DI */
  VOIDmode,                /* V4TI */
  VOIDmode,                /* V2OI */
  VOIDmode,                /* V4HF */
  VOIDmode,                /* V2SF */
  VOIDmode,                /* V1DF */
  VOIDmode,                /* V8HF */
  VOIDmode,                /* V4SF */
  VOIDmode,                /* V2DF */
  VOIDmode,                /* V16HF */
  VOIDmode,                /* V8SF */
  VOIDmode,                /* V4DF */
  VOIDmode,                /* V24HF */
  VOIDmode,                /* V12SF */
  VOIDmode,                /* V6DF */
  VOIDmode,                /* V32HF */
  VOIDmode,                /* V16SF */
  VOIDmode,                /* V8DF */
};

const unsigned HOST_WIDE_INT mode_mask_array[NUM_MACHINE_MODES] =
{
#define MODE_MASK(m)                          \
  ((m) >= HOST_BITS_PER_WIDE_INT)             \
   ? ~(unsigned HOST_WIDE_INT) 0              \
   : ((unsigned HOST_WIDE_INT) 1 << (m)) - 1

  MODE_MASK (0),           /* VOID */
  MODE_MASK (0),           /* BLK */
  MODE_MASK (4*BITS_PER_UNIT),   /* CC */
  MODE_MASK (4*BITS_PER_UNIT),   /* CCFP */
  MODE_MASK (4*BITS_PER_UNIT),   /* CCFPE */
  MODE_MASK (4*BITS_PER_UNIT),   /* CC_SWP */
  MODE_MASK (4*BITS_PER_UNIT),   /* CC_NZ */
  MODE_MASK (4*BITS_PER_UNIT),   /* CC_Z */
  MODE_MASK (4*BITS_PER_UNIT),   /* CC_C */
  MODE_MASK (1),           /* BI */
  MODE_MASK (1*BITS_PER_UNIT),   /* QI */
  MODE_MASK (2*BITS_PER_UNIT),   /* HI */
  MODE_MASK (4*BITS_PER_UNIT),   /* SI */
  MODE_MASK (8*BITS_PER_UNIT),   /* DI */
  MODE_MASK (16*BITS_PER_UNIT),    /* TI */
  MODE_MASK (32*BITS_PER_UNIT),    /* OI */
  MODE_MASK (48*BITS_PER_UNIT),    /* CI */
  MODE_MASK (64*BITS_PER_UNIT),    /* XI */
  MODE_MASK (1*BITS_PER_UNIT),   /* QQ */
  MODE_MASK (2*BITS_PER_UNIT),   /* HQ */
  MODE_MASK (4*BITS_PER_UNIT),   /* SQ */
  MODE_MASK (8*BITS_PER_UNIT),   /* DQ */
  MODE_MASK (16*BITS_PER_UNIT),    /* TQ */
  MODE_MASK (1*BITS_PER_UNIT),   /* UQQ */
  MODE_MASK (2*BITS_PER_UNIT),   /* UHQ */
  MODE_MASK (4*BITS_PER_UNIT),   /* USQ */
  MODE_MASK (8*BITS_PER_UNIT),   /* UDQ */
  MODE_MASK (16*BITS_PER_UNIT),    /* UTQ */
  MODE_MASK (2*BITS_PER_UNIT),   /* HA */
  MODE_MASK (4*BITS_PER_UNIT),   /* SA */
  MODE_MASK (8*BITS_PER_UNIT),   /* DA */
  MODE_MASK (16*BITS_PER_UNIT),    /* TA */
  MODE_MASK (2*BITS_PER_UNIT),   /* UHA */
  MODE_MASK (4*BITS_PER_UNIT),   /* USA */
  MODE_MASK (8*BITS_PER_UNIT),   /* UDA */
  MODE_MASK (16*BITS_PER_UNIT),    /* UTA */
  MODE_MASK (2*BITS_PER_UNIT),   /* HF */
  MODE_MASK (4*BITS_PER_UNIT),   /* SF */
  MODE_MASK (8*BITS_PER_UNIT),   /* DF */
  MODE_MASK (16*BITS_PER_UNIT),    /* TF */
  MODE_MASK (4*BITS_PER_UNIT),   /* SD */
  MODE_MASK (8*BITS_PER_UNIT),   /* DD */
  MODE_MASK (16*BITS_PER_UNIT),    /* TD */
  MODE_MASK (2*BITS_PER_UNIT),   /* CQI */
  MODE_MASK (4*BITS_PER_UNIT),   /* CHI */
  MODE_MASK (8*BITS_PER_UNIT),   /* CSI */
  MODE_MASK (16*BITS_PER_UNIT),    /* CDI */
  MODE_MASK (32*BITS_PER_UNIT),    /* CTI */
  MODE_MASK (64*BITS_PER_UNIT),    /* COI */
  MODE_MASK (96*BITS_PER_UNIT),    /* CCI */
  MODE_MASK (128*BITS_PER_UNIT),     /* CXI */
  MODE_MASK (4*BITS_PER_UNIT),   /* HC */
  MODE_MASK (8*BITS_PER_UNIT),   /* SC */
  MODE_MASK (16*BITS_PER_UNIT),    /* DC */
  MODE_MASK (32*BITS_PER_UNIT),    /* TC */
  MODE_MASK (8*BITS_PER_UNIT),   /* V8QI */
  MODE_MASK (8*BITS_PER_UNIT),   /* V4HI */
  MODE_MASK (8*BITS_PER_UNIT),   /* V2SI */
  MODE_MASK (16*BITS_PER_UNIT),    /* V16QI */
  MODE_MASK (16*BITS_PER_UNIT),    /* V8HI */
  MODE_MASK (16*BITS_PER_UNIT),    /* V4SI */
  MODE_MASK (16*BITS_PER_UNIT),    /* V2DI */
  MODE_MASK (32*BITS_PER_UNIT),    /* V32QI */
  MODE_MASK (32*BITS_PER_UNIT),    /* V16HI */
  MODE_MASK (32*BITS_PER_UNIT),    /* V8SI */
  MODE_MASK (32*BITS_PER_UNIT),    /* V4DI */
  MODE_MASK (32*BITS_PER_UNIT),    /* V2TI */
  MODE_MASK (48*BITS_PER_UNIT),    /* V48QI */
  MODE_MASK (48*BITS_PER_UNIT),    /* V24HI */
  MODE_MASK (48*BITS_PER_UNIT),    /* V12SI */
  MODE_MASK (48*BITS_PER_UNIT),    /* V6DI */
  MODE_MASK (48*BITS_PER_UNIT),    /* V3TI */
  MODE_MASK (64*BITS_PER_UNIT),    /* V64QI */
  MODE_MASK (64*BITS_PER_UNIT),    /* V32HI */
  MODE_MASK (64*BITS_PER_UNIT),    /* V16SI */
  MODE_MASK (64*BITS_PER_UNIT),    /* V8DI */
  MODE_MASK (64*BITS_PER_UNIT),    /* V4TI */
  MODE_MASK (64*BITS_PER_UNIT),    /* V2OI */
  MODE_MASK (8*BITS_PER_UNIT),   /* V4HF */
  MODE_MASK (8*BITS_PER_UNIT),   /* V2SF */
  MODE_MASK (8*BITS_PER_UNIT),   /* V1DF */
  MODE_MASK (16*BITS_PER_UNIT),    /* V8HF */
  MODE_MASK (16*BITS_PER_UNIT),    /* V4SF */
  MODE_MASK (16*BITS_PER_UNIT),    /* V2DF */
  MODE_MASK (32*BITS_PER_UNIT),    /* V16HF */
  MODE_MASK (32*BITS_PER_UNIT),    /* V8SF */
  MODE_MASK (32*BITS_PER_UNIT),    /* V4DF */
  MODE_MASK (48*BITS_PER_UNIT),    /* V24HF */
  MODE_MASK (48*BITS_PER_UNIT),    /* V12SF */
  MODE_MASK (48*BITS_PER_UNIT),    /* V6DF */
  MODE_MASK (64*BITS_PER_UNIT),    /* V32HF */
  MODE_MASK (64*BITS_PER_UNIT),    /* V16SF */
  MODE_MASK (64*BITS_PER_UNIT),    /* V8DF */
#undef MODE_MASK
};

const unsigned char mode_inner[NUM_MACHINE_MODES] =
{
  VOIDmode,                /* VOID */
  BLKmode,                 /* BLK */
  CCmode,                  /* CC */
  CCFPmode,                /* CCFP */
  CCFPEmode,               /* CCFPE */
  CC_SWPmode,              /* CC_SWP */
  CC_NZmode,               /* CC_NZ */
  CC_Zmode,                /* CC_Z */
  CC_Cmode,                /* CC_C */
  BImode,                  /* BI */
  QImode,                  /* QI */
  HImode,                  /* HI */
  SImode,                  /* SI */
  DImode,                  /* DI */
  TImode,                  /* TI */
  OImode,                  /* OI */
  CImode,                  /* CI */
  XImode,                  /* XI */
  QQmode,                  /* QQ */
  HQmode,                  /* HQ */
  SQmode,                  /* SQ */
  DQmode,                  /* DQ */
  TQmode,                  /* TQ */
  UQQmode,                 /* UQQ */
  UHQmode,                 /* UHQ */
  USQmode,                 /* USQ */
  UDQmode,                 /* UDQ */
  UTQmode,                 /* UTQ */
  HAmode,                  /* HA */
  SAmode,                  /* SA */
  DAmode,                  /* DA */
  TAmode,                  /* TA */
  UHAmode,                 /* UHA */
  USAmode,                 /* USA */
  UDAmode,                 /* UDA */
  UTAmode,                 /* UTA */
  HFmode,                  /* HF */
  SFmode,                  /* SF */
  DFmode,                  /* DF */
  TFmode,                  /* TF */
  SDmode,                  /* SD */
  DDmode,                  /* DD */
  TDmode,                  /* TD */
  QImode,                  /* CQI */
  HImode,                  /* CHI */
  SImode,                  /* CSI */
  DImode,                  /* CDI */
  TImode,                  /* CTI */
  OImode,                  /* COI */
  CImode,                  /* CCI */
  XImode,                  /* CXI */
  HFmode,                  /* HC */
  SFmode,                  /* SC */
  DFmode,                  /* DC */
  TFmode,                  /* TC */
  QImode,                  /* V8QI */
  HImode,                  /* V4HI */
  SImode,                  /* V2SI */
  QImode,                  /* V16QI */
  HImode,                  /* V8HI */
  SImode,                  /* V4SI */
  DImode,                  /* V2DI */
  QImode,                  /* V32QI */
  HImode,                  /* V16HI */
  SImode,                  /* V8SI */
  DImode,                  /* V4DI */
  TImode,                  /* V2TI */
  QImode,                  /* V48QI */
  HImode,                  /* V24HI */
  SImode,                  /* V12SI */
  DImode,                  /* V6DI */
  TImode,                  /* V3TI */
  QImode,                  /* V64QI */
  HImode,                  /* V32HI */
  SImode,                  /* V16SI */
  DImode,                  /* V8DI */
  TImode,                  /* V4TI */
  OImode,                  /* V2OI */
  HFmode,                  /* V4HF */
  SFmode,                  /* V2SF */
  DFmode,                  /* V1DF */
  HFmode,                  /* V8HF */
  SFmode,                  /* V4SF */
  DFmode,                  /* V2DF */
  HFmode,                  /* V16HF */
  SFmode,                  /* V8SF */
  DFmode,                  /* V4DF */
  HFmode,                  /* V24HF */
  SFmode,                  /* V12SF */
  DFmode,                  /* V6DF */
  HFmode,                  /* V32HF */
  SFmode,                  /* V16SF */
  DFmode,                  /* V8DF */
};

const unsigned char mode_unit_size[NUM_MACHINE_MODES] = 
{
  0,                       /* VOID */
  0,                       /* BLK */
  4,                       /* CC */
  4,                       /* CCFP */
  4,                       /* CCFPE */
  4,                       /* CC_SWP */
  4,                       /* CC_NZ */
  4,                       /* CC_Z */
  4,                       /* CC_C */
  1,                       /* BI */
  1,                       /* QI */
  2,                       /* HI */
  4,                       /* SI */
  8,                       /* DI */
  16,                      /* TI */
  32,                      /* OI */
  48,                      /* CI */
  64,                      /* XI */
  1,                       /* QQ */
  2,                       /* HQ */
  4,                       /* SQ */
  8,                       /* DQ */
  16,                      /* TQ */
  1,                       /* UQQ */
  2,                       /* UHQ */
  4,                       /* USQ */
  8,                       /* UDQ */
  16,                      /* UTQ */
  2,                       /* HA */
  4,                       /* SA */
  8,                       /* DA */
  16,                      /* TA */
  2,                       /* UHA */
  4,                       /* USA */
  8,                       /* UDA */
  16,                      /* UTA */
  2,                       /* HF */
  4,                       /* SF */
  8,                       /* DF */
  16,                      /* TF */
  4,                       /* SD */
  8,                       /* DD */
  16,                      /* TD */
  1,                       /* CQI */
  2,                       /* CHI */
  4,                       /* CSI */
  8,                       /* CDI */
  16,                      /* CTI */
  32,                      /* COI */
  48,                      /* CCI */
  64,                      /* CXI */
  2,                       /* HC */
  4,                       /* SC */
  8,                       /* DC */
  16,                      /* TC */
  1,                       /* V8QI */
  2,                       /* V4HI */
  4,                       /* V2SI */
  1,                       /* V16QI */
  2,                       /* V8HI */
  4,                       /* V4SI */
  8,                       /* V2DI */
  1,                       /* V32QI */
  2,                       /* V16HI */
  4,                       /* V8SI */
  8,                       /* V4DI */
  16,                      /* V2TI */
  1,                       /* V48QI */
  2,                       /* V24HI */
  4,                       /* V12SI */
  8,                       /* V6DI */
  16,                      /* V3TI */
  1,                       /* V64QI */
  2,                       /* V32HI */
  4,                       /* V16SI */
  8,                       /* V8DI */
  16,                      /* V4TI */
  32,                      /* V2OI */
  2,                       /* V4HF */
  4,                       /* V2SF */
  8,                       /* V1DF */
  2,                       /* V8HF */
  4,                       /* V4SF */
  8,                       /* V2DF */
  2,                       /* V16HF */
  4,                       /* V8SF */
  8,                       /* V4DF */
  2,                       /* V24HF */
  4,                       /* V12SF */
  8,                       /* V6DF */
  2,                       /* V32HF */
  4,                       /* V16SF */
  8,                       /* V8DF */
};

const unsigned short mode_unit_precision[NUM_MACHINE_MODES] =
{
  0,                       /* VOID */
  0,                       /* BLK */
  4*BITS_PER_UNIT,         /* CC */
  4*BITS_PER_UNIT,         /* CCFP */
  4*BITS_PER_UNIT,         /* CCFPE */
  4*BITS_PER_UNIT,         /* CC_SWP */
  4*BITS_PER_UNIT,         /* CC_NZ */
  4*BITS_PER_UNIT,         /* CC_Z */
  4*BITS_PER_UNIT,         /* CC_C */
  1,                       /* BI */
  1*BITS_PER_UNIT,         /* QI */
  2*BITS_PER_UNIT,         /* HI */
  4*BITS_PER_UNIT,         /* SI */
  8*BITS_PER_UNIT,         /* DI */
  16*BITS_PER_UNIT,        /* TI */
  32*BITS_PER_UNIT,        /* OI */
  48*BITS_PER_UNIT,        /* CI */
  64*BITS_PER_UNIT,        /* XI */
  1*BITS_PER_UNIT,         /* QQ */
  2*BITS_PER_UNIT,         /* HQ */
  4*BITS_PER_UNIT,         /* SQ */
  8*BITS_PER_UNIT,         /* DQ */
  16*BITS_PER_UNIT,        /* TQ */
  1*BITS_PER_UNIT,         /* UQQ */
  2*BITS_PER_UNIT,         /* UHQ */
  4*BITS_PER_UNIT,         /* USQ */
  8*BITS_PER_UNIT,         /* UDQ */
  16*BITS_PER_UNIT,        /* UTQ */
  2*BITS_PER_UNIT,         /* HA */
  4*BITS_PER_UNIT,         /* SA */
  8*BITS_PER_UNIT,         /* DA */
  16*BITS_PER_UNIT,        /* TA */
  2*BITS_PER_UNIT,         /* UHA */
  4*BITS_PER_UNIT,         /* USA */
  8*BITS_PER_UNIT,         /* UDA */
  16*BITS_PER_UNIT,        /* UTA */
  2*BITS_PER_UNIT,         /* HF */
  4*BITS_PER_UNIT,         /* SF */
  8*BITS_PER_UNIT,         /* DF */
  16*BITS_PER_UNIT,        /* TF */
  4*BITS_PER_UNIT,         /* SD */
  8*BITS_PER_UNIT,         /* DD */
  16*BITS_PER_UNIT,        /* TD */
  1*BITS_PER_UNIT,         /* CQI */
  2*BITS_PER_UNIT,         /* CHI */
  4*BITS_PER_UNIT,         /* CSI */
  8*BITS_PER_UNIT,         /* CDI */
  16*BITS_PER_UNIT,        /* CTI */
  32*BITS_PER_UNIT,        /* COI */
  48*BITS_PER_UNIT,        /* CCI */
  64*BITS_PER_UNIT,        /* CXI */
  2*BITS_PER_UNIT,         /* HC */
  4*BITS_PER_UNIT,         /* SC */
  8*BITS_PER_UNIT,         /* DC */
  16*BITS_PER_UNIT,        /* TC */
  1*BITS_PER_UNIT,         /* V8QI */
  2*BITS_PER_UNIT,         /* V4HI */
  4*BITS_PER_UNIT,         /* V2SI */
  1*BITS_PER_UNIT,         /* V16QI */
  2*BITS_PER_UNIT,         /* V8HI */
  4*BITS_PER_UNIT,         /* V4SI */
  8*BITS_PER_UNIT,         /* V2DI */
  1*BITS_PER_UNIT,         /* V32QI */
  2*BITS_PER_UNIT,         /* V16HI */
  4*BITS_PER_UNIT,         /* V8SI */
  8*BITS_PER_UNIT,         /* V4DI */
  16*BITS_PER_UNIT,        /* V2TI */
  1*BITS_PER_UNIT,         /* V48QI */
  2*BITS_PER_UNIT,         /* V24HI */
  4*BITS_PER_UNIT,         /* V12SI */
  8*BITS_PER_UNIT,         /* V6DI */
  16*BITS_PER_UNIT,        /* V3TI */
  1*BITS_PER_UNIT,         /* V64QI */
  2*BITS_PER_UNIT,         /* V32HI */
  4*BITS_PER_UNIT,         /* V16SI */
  8*BITS_PER_UNIT,         /* V8DI */
  16*BITS_PER_UNIT,        /* V4TI */
  32*BITS_PER_UNIT,        /* V2OI */
  2*BITS_PER_UNIT,         /* V4HF */
  4*BITS_PER_UNIT,         /* V2SF */
  8*BITS_PER_UNIT,         /* V1DF */
  2*BITS_PER_UNIT,         /* V8HF */
  4*BITS_PER_UNIT,         /* V4SF */
  8*BITS_PER_UNIT,         /* V2DF */
  2*BITS_PER_UNIT,         /* V16HF */
  4*BITS_PER_UNIT,         /* V8SF */
  8*BITS_PER_UNIT,         /* V4DF */
  2*BITS_PER_UNIT,         /* V24HF */
  4*BITS_PER_UNIT,         /* V12SF */
  8*BITS_PER_UNIT,         /* V6DF */
  2*BITS_PER_UNIT,         /* V32HF */
  4*BITS_PER_UNIT,         /* V16SF */
  8*BITS_PER_UNIT,         /* V8DF */
};

const unsigned char mode_base_align[NUM_MACHINE_MODES] = 
{
  0,                       /* VOID */
  0,                       /* BLK */
  4,                       /* CC */
  4,                       /* CCFP */
  4,                       /* CCFPE */
  4,                       /* CC_SWP */
  4,                       /* CC_NZ */
  4,                       /* CC_Z */
  4,                       /* CC_C */
  1,                       /* BI */
  1,                       /* QI */
  2,                       /* HI */
  4,                       /* SI */
  8,                       /* DI */
  16,                      /* TI */
  32,                      /* OI */
  16,                      /* CI */
  64,                      /* XI */
  1,                       /* QQ */
  2,                       /* HQ */
  4,                       /* SQ */
  8,                       /* DQ */
  16,                      /* TQ */
  1,                       /* UQQ */
  2,                       /* UHQ */
  4,                       /* USQ */
  8,                       /* UDQ */
  16,                      /* UTQ */
  2,                       /* HA */
  4,                       /* SA */
  8,                       /* DA */
  16,                      /* TA */
  2,                       /* UHA */
  4,                       /* USA */
  8,                       /* UDA */
  16,                      /* UTA */
  2,                       /* HF */
  4,                       /* SF */
  8,                       /* DF */
  16,                      /* TF */
  4,                       /* SD */
  8,                       /* DD */
  16,                      /* TD */
  1,                       /* CQI */
  2,                       /* CHI */
  4,                       /* CSI */
  8,                       /* CDI */
  16,                      /* CTI */
  32,                      /* COI */
  16,                      /* CCI */
  64,                      /* CXI */
  2,                       /* HC */
  4,                       /* SC */
  8,                       /* DC */
  16,                      /* TC */
  8,                       /* V8QI */
  8,                       /* V4HI */
  8,                       /* V2SI */
  16,                      /* V16QI */
  16,                      /* V8HI */
  16,                      /* V4SI */
  16,                      /* V2DI */
  32,                      /* V32QI */
  32,                      /* V16HI */
  32,                      /* V8SI */
  32,                      /* V4DI */
  32,                      /* V2TI */
  16,                      /* V48QI */
  16,                      /* V24HI */
  16,                      /* V12SI */
  16,                      /* V6DI */
  16,                      /* V3TI */
  64,                      /* V64QI */
  64,                      /* V32HI */
  64,                      /* V16SI */
  64,                      /* V8DI */
  64,                      /* V4TI */
  64,                      /* V2OI */
  8,                       /* V4HF */
  8,                       /* V2SF */
  8,                       /* V1DF */
  16,                      /* V8HF */
  16,                      /* V4SF */
  16,                      /* V2DF */
  32,                      /* V16HF */
  32,                      /* V8SF */
  32,                      /* V4DF */
  16,                      /* V24HF */
  16,                      /* V12SF */
  16,                      /* V6DF */
  64,                      /* V32HF */
  64,                      /* V16SF */
  64,                      /* V8DF */
};

const unsigned char class_narrowest_mode[MAX_MODE_CLASS] =
{
  MIN_MODE_RANDOM,         /* VOID */
  MIN_MODE_CC,             /* CC */
  MIN_MODE_INT,            /* QI */
  MIN_MODE_PARTIAL_INT,    /* VOID */
  MIN_MODE_POINTER_BOUNDS, /* VOID */
  MIN_MODE_FRACT,          /* QQ */
  MIN_MODE_UFRACT,         /* UQQ */
  MIN_MODE_ACCUM,          /* HA */
  MIN_MODE_UACCUM,         /* UHA */
  MIN_MODE_FLOAT,          /* HF */
  MIN_MODE_DECIMAL_FLOAT,  /* SD */
  MIN_MODE_COMPLEX_INT,    /* CQI */
  MIN_MODE_COMPLEX_FLOAT,  /* HC */
  MIN_MODE_VECTOR_INT,     /* V8QI */
  MIN_MODE_VECTOR_FRACT,   /* VOID */
  MIN_MODE_VECTOR_UFRACT,  /* VOID */
  MIN_MODE_VECTOR_ACCUM,   /* VOID */
  MIN_MODE_VECTOR_UACCUM,  /* VOID */
  MIN_MODE_VECTOR_FLOAT,   /* V4HF */
};

const struct real_format *
 real_format_for_mode[MAX_MODE_FLOAT - MIN_MODE_FLOAT + 1 + MAX_MODE_DECIMAL_FLOAT - MIN_MODE_DECIMAL_FLOAT + 1] =
{
  0,                       /* HF */
  &ieee_single_format,     /* SF */
  &ieee_double_format,     /* DF */
  &ieee_quad_format,       /* TF */
  &decimal_single_format,  /* SD */
  &decimal_double_format,  /* DD */
  &decimal_quad_format,    /* TD */
};

void
init_adjust_machine_modes (void)
{
  size_t s ATTRIBUTE_UNUSED;

  /* config/aarch64/aarch64-modes.def:30 */
  REAL_MODE_FORMAT (HFmode) = &ieee_half_format;
}

const unsigned char mode_ibit[NUM_MACHINE_MODES] = 
{
  0,                       /* VOID */
  0,                       /* BLK */
  0,                       /* CC */
  0,                       /* CCFP */
  0,                       /* CCFPE */
  0,                       /* CC_SWP */
  0,                       /* CC_NZ */
  0,                       /* CC_Z */
  0,                       /* CC_C */
  0,                       /* BI */
  0,                       /* QI */
  0,                       /* HI */
  0,                       /* SI */
  0,                       /* DI */
  0,                       /* TI */
  0,                       /* OI */
  0,                       /* CI */
  0,                       /* XI */
  0,                       /* QQ */
  0,                       /* HQ */
  0,                       /* SQ */
  0,                       /* DQ */
  0,                       /* TQ */
  0,                       /* UQQ */
  0,                       /* UHQ */
  0,                       /* USQ */
  0,                       /* UDQ */
  0,                       /* UTQ */
  8,                       /* HA */
  16,                      /* SA */
  32,                      /* DA */
  64,                      /* TA */
  8,                       /* UHA */
  16,                      /* USA */
  32,                      /* UDA */
  64,                      /* UTA */
  0,                       /* HF */
  0,                       /* SF */
  0,                       /* DF */
  0,                       /* TF */
  0,                       /* SD */
  0,                       /* DD */
  0,                       /* TD */
  0,                       /* CQI */
  0,                       /* CHI */
  0,                       /* CSI */
  0,                       /* CDI */
  0,                       /* CTI */
  0,                       /* COI */
  0,                       /* CCI */
  0,                       /* CXI */
  0,                       /* HC */
  0,                       /* SC */
  0,                       /* DC */
  0,                       /* TC */
  0,                       /* V8QI */
  0,                       /* V4HI */
  0,                       /* V2SI */
  0,                       /* V16QI */
  0,                       /* V8HI */
  0,                       /* V4SI */
  0,                       /* V2DI */
  0,                       /* V32QI */
  0,                       /* V16HI */
  0,                       /* V8SI */
  0,                       /* V4DI */
  0,                       /* V2TI */
  0,                       /* V48QI */
  0,                       /* V24HI */
  0,                       /* V12SI */
  0,                       /* V6DI */
  0,                       /* V3TI */
  0,                       /* V64QI */
  0,                       /* V32HI */
  0,                       /* V16SI */
  0,                       /* V8DI */
  0,                       /* V4TI */
  0,                       /* V2OI */
  0,                       /* V4HF */
  0,                       /* V2SF */
  0,                       /* V1DF */
  0,                       /* V8HF */
  0,                       /* V4SF */
  0,                       /* V2DF */
  0,                       /* V16HF */
  0,                       /* V8SF */
  0,                       /* V4DF */
  0,                       /* V24HF */
  0,                       /* V12SF */
  0,                       /* V6DF */
  0,                       /* V32HF */
  0,                       /* V16SF */
  0,                       /* V8DF */
};

const unsigned char mode_fbit[NUM_MACHINE_MODES] = 
{
  0,                       /* VOID */
  0,                       /* BLK */
  0,                       /* CC */
  0,                       /* CCFP */
  0,                       /* CCFPE */
  0,                       /* CC_SWP */
  0,                       /* CC_NZ */
  0,                       /* CC_Z */
  0,                       /* CC_C */
  0,                       /* BI */
  0,                       /* QI */
  0,                       /* HI */
  0,                       /* SI */
  0,                       /* DI */
  0,                       /* TI */
  0,                       /* OI */
  0,                       /* CI */
  0,                       /* XI */
  7,                       /* QQ */
  15,                      /* HQ */
  31,                      /* SQ */
  63,                      /* DQ */
  127,                     /* TQ */
  8,                       /* UQQ */
  16,                      /* UHQ */
  32,                      /* USQ */
  64,                      /* UDQ */
  128,                     /* UTQ */
  7,                       /* HA */
  15,                      /* SA */
  31,                      /* DA */
  63,                      /* TA */
  8,                       /* UHA */
  16,                      /* USA */
  32,                      /* UDA */
  64,                      /* UTA */
  0,                       /* HF */
  0,                       /* SF */
  0,                       /* DF */
  0,                       /* TF */
  0,                       /* SD */
  0,                       /* DD */
  0,                       /* TD */
  0,                       /* CQI */
  0,                       /* CHI */
  0,                       /* CSI */
  0,                       /* CDI */
  0,                       /* CTI */
  0,                       /* COI */
  0,                       /* CCI */
  0,                       /* CXI */
  0,                       /* HC */
  0,                       /* SC */
  0,                       /* DC */
  0,                       /* TC */
  0,                       /* V8QI */
  0,                       /* V4HI */
  0,                       /* V2SI */
  0,                       /* V16QI */
  0,                       /* V8HI */
  0,                       /* V4SI */
  0,                       /* V2DI */
  0,                       /* V32QI */
  0,                       /* V16HI */
  0,                       /* V8SI */
  0,                       /* V4DI */
  0,                       /* V2TI */
  0,                       /* V48QI */
  0,                       /* V24HI */
  0,                       /* V12SI */
  0,                       /* V6DI */
  0,                       /* V3TI */
  0,                       /* V64QI */
  0,                       /* V32HI */
  0,                       /* V16SI */
  0,                       /* V8DI */
  0,                       /* V4TI */
  0,                       /* V2OI */
  0,                       /* V4HF */
  0,                       /* V2SF */
  0,                       /* V1DF */
  0,                       /* V8HF */
  0,                       /* V4SF */
  0,                       /* V2DF */
  0,                       /* V16HF */
  0,                       /* V8SF */
  0,                       /* V4DF */
  0,                       /* V24HF */
  0,                       /* V12SF */
  0,                       /* V6DF */
  0,                       /* V32HF */
  0,                       /* V16SF */
  0,                       /* V8DF */
};

const int_n_data_t int_n_data[] =
{
 {
  128,                     /* TI */
TImode, },
};
