You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

301 lines
8.9 KiB
C++

/* Generated automatically from machmode.def and config/riscv/riscv-modes.def
by genmodes. */
#include "bconfig.h"
#include "system.h"
#include "coretypes.h"
const char *const mode_name[NUM_MACHINE_MODES] =
{
"VOID",
"BLK",
"CC",
"BI",
"QI",
"HI",
"SI",
"DI",
"TI",
"QQ",
"HQ",
"SQ",
"DQ",
"TQ",
"UQQ",
"UHQ",
"USQ",
"UDQ",
"UTQ",
"HA",
"SA",
"DA",
"TA",
"UHA",
"USA",
"UDA",
"UTA",
"SF",
"DF",
"TF",
"SD",
"DD",
"TD",
"CQI",
"CHI",
"CSI",
"CDI",
"CTI",
"SC",
"DC",
"TC",
};
const unsigned char mode_class[NUM_MACHINE_MODES] =
{
MODE_RANDOM, /* VOID */
MODE_RANDOM, /* BLK */
MODE_CC, /* CC */
MODE_INT, /* BI */
MODE_INT, /* QI */
MODE_INT, /* HI */
MODE_INT, /* SI */
MODE_INT, /* DI */
MODE_INT, /* TI */
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, /* 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_FLOAT, /* SC */
MODE_COMPLEX_FLOAT, /* DC */
MODE_COMPLEX_FLOAT, /* TC */
};
const poly_uint16_pod mode_nunits[NUM_MACHINE_MODES] =
{
{ 0 }, /* VOID */
{ 0 }, /* BLK */
{ 1 }, /* CC */
{ 1 }, /* BI */
{ 1 }, /* QI */
{ 1 }, /* HI */
{ 1 }, /* SI */
{ 1 }, /* DI */
{ 1 }, /* TI */
{ 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 }, /* SF */
{ 1 }, /* DF */
{ 1 }, /* TF */
{ 1 }, /* SD */
{ 1 }, /* DD */
{ 1 }, /* TD */
{ 2 }, /* CQI */
{ 2 }, /* CHI */
{ 2 }, /* CSI */
{ 2 }, /* CDI */
{ 2 }, /* CTI */
{ 2 }, /* SC */
{ 2 }, /* DC */
{ 2 }, /* TC */
};
const unsigned char mode_wider[NUM_MACHINE_MODES] =
{
E_VOIDmode, /* VOID */
E_VOIDmode, /* BLK */
E_VOIDmode, /* CC */
E_QImode, /* BI */
E_HImode, /* QI */
E_SImode, /* HI */
E_DImode, /* SI */
E_TImode, /* DI */
E_VOIDmode, /* TI */
E_HQmode, /* QQ */
E_SQmode, /* HQ */
E_DQmode, /* SQ */
E_TQmode, /* DQ */
E_VOIDmode, /* TQ */
E_UHQmode, /* UQQ */
E_USQmode, /* UHQ */
E_UDQmode, /* USQ */
E_UTQmode, /* UDQ */
E_VOIDmode, /* UTQ */
E_SAmode, /* HA */
E_DAmode, /* SA */
E_TAmode, /* DA */
E_VOIDmode, /* TA */
E_USAmode, /* UHA */
E_UDAmode, /* USA */
E_UTAmode, /* UDA */
E_VOIDmode, /* UTA */
E_DFmode, /* SF */
E_TFmode, /* DF */
E_VOIDmode, /* TF */
E_DDmode, /* SD */
E_TDmode, /* DD */
E_VOIDmode, /* TD */
E_CHImode, /* CQI */
E_CSImode, /* CHI */
E_CDImode, /* CSI */
E_CTImode, /* CDI */
E_VOIDmode, /* CTI */
E_DCmode, /* SC */
E_TCmode, /* DC */
E_VOIDmode, /* TC */
};
const unsigned char mode_2xwider[NUM_MACHINE_MODES] =
{
E_VOIDmode, /* VOID */
E_BLKmode, /* BLK */
E_VOIDmode, /* CC */
E_VOIDmode, /* BI */
E_HImode, /* QI */
E_SImode, /* HI */
E_DImode, /* SI */
E_TImode, /* DI */
E_VOIDmode, /* TI */
E_HQmode, /* QQ */
E_SQmode, /* HQ */
E_DQmode, /* SQ */
E_TQmode, /* DQ */
E_VOIDmode, /* TQ */
E_UHQmode, /* UQQ */
E_USQmode, /* UHQ */
E_UDQmode, /* USQ */
E_UTQmode, /* UDQ */
E_VOIDmode, /* UTQ */
E_SAmode, /* HA */
E_DAmode, /* SA */
E_TAmode, /* DA */
E_VOIDmode, /* TA */
E_USAmode, /* UHA */
E_UDAmode, /* USA */
E_UTAmode, /* UDA */
E_VOIDmode, /* UTA */
E_DFmode, /* SF */
E_TFmode, /* DF */
E_VOIDmode, /* TF */
E_DDmode, /* SD */
E_TDmode, /* DD */
E_VOIDmode, /* TD */
E_CHImode, /* CQI */
E_CSImode, /* CHI */
E_CDImode, /* CSI */
E_CTImode, /* CDI */
E_VOIDmode, /* CTI */
E_DCmode, /* SC */
E_TCmode, /* DC */
E_VOIDmode, /* TC */
};
const unsigned char mode_inner[NUM_MACHINE_MODES] =
{
E_VOIDmode, /* VOID */
E_BLKmode, /* BLK */
E_CCmode, /* CC */
E_BImode, /* BI */
E_QImode, /* QI */
E_HImode, /* HI */
E_SImode, /* SI */
E_DImode, /* DI */
E_TImode, /* TI */
E_QQmode, /* QQ */
E_HQmode, /* HQ */
E_SQmode, /* SQ */
E_DQmode, /* DQ */
E_TQmode, /* TQ */
E_UQQmode, /* UQQ */
E_UHQmode, /* UHQ */
E_USQmode, /* USQ */
E_UDQmode, /* UDQ */
E_UTQmode, /* UTQ */
E_HAmode, /* HA */
E_SAmode, /* SA */
E_DAmode, /* DA */
E_TAmode, /* TA */
E_UHAmode, /* UHA */
E_USAmode, /* USA */
E_UDAmode, /* UDA */
E_UTAmode, /* UTA */
E_SFmode, /* SF */
E_DFmode, /* DF */
E_TFmode, /* TF */
E_SDmode, /* SD */
E_DDmode, /* DD */
E_TDmode, /* TD */
E_QImode, /* CQI */
E_HImode, /* CHI */
E_SImode, /* CSI */
E_DImode, /* CDI */
E_TImode, /* CTI */
E_SFmode, /* SC */
E_DFmode, /* DC */
E_TFmode, /* TC */
};
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_FRACT, /* QQ */
MIN_MODE_UFRACT, /* UQQ */
MIN_MODE_ACCUM, /* HA */
MIN_MODE_UACCUM, /* UHA */
MIN_MODE_FLOAT, /* SF */
MIN_MODE_DECIMAL_FLOAT, /* SD */
MIN_MODE_COMPLEX_INT, /* CQI */
MIN_MODE_COMPLEX_FLOAT, /* SC */
MIN_MODE_VECTOR_BOOL, /* VOID */
MIN_MODE_VECTOR_INT, /* VOID */
MIN_MODE_VECTOR_FRACT, /* VOID */
MIN_MODE_VECTOR_UFRACT, /* VOID */
MIN_MODE_VECTOR_ACCUM, /* VOID */
MIN_MODE_VECTOR_UACCUM, /* VOID */
MIN_MODE_VECTOR_FLOAT, /* VOID */
MIN_MODE_OPAQUE, /* VOID */
};