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++
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 */
|
|
};
|