/* Generated automatically from machmode.def and config/mips/mips-modes.def by genmodes. */ #include "bconfig.h" #include "system.h" #include "coretypes.h" const char *const mode_name[NUM_MACHINE_MODES] = { "VOID", "BLK", "CC", "CCV2", "CCV4", "CCDSP", "CCF", "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", "V4QI", "V2HI", "V8QI", "V4HI", "V2SI", "V16QI", "V8HI", "V4SI", "V2DI", "V32QI", "V16HI", "V8SI", "V4DI", "V4QQ", "V2HQ", "V4UQQ", "V2UHQ", "V2HA", "V2UHA", "V2SF", "V4SF", "V2DF", "V8SF", "V4DF", }; const unsigned char mode_class[NUM_MACHINE_MODES] = { MODE_RANDOM, /* VOID */ MODE_RANDOM, /* BLK */ MODE_CC, /* CC */ MODE_CC, /* CCV2 */ MODE_CC, /* CCV4 */ MODE_CC, /* CCDSP */ MODE_CC, /* CCF */ 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 */ MODE_VECTOR_INT, /* V4QI */ MODE_VECTOR_INT, /* V2HI */ 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_FRACT, /* V4QQ */ MODE_VECTOR_FRACT, /* V2HQ */ MODE_VECTOR_UFRACT, /* V4UQQ */ MODE_VECTOR_UFRACT, /* V2UHQ */ MODE_VECTOR_ACCUM, /* V2HA */ MODE_VECTOR_UACCUM, /* V2UHA */ MODE_VECTOR_FLOAT, /* V2SF */ MODE_VECTOR_FLOAT, /* V4SF */ MODE_VECTOR_FLOAT, /* V2DF */ MODE_VECTOR_FLOAT, /* V8SF */ MODE_VECTOR_FLOAT, /* V4DF */ }; const poly_uint16_pod mode_nunits[NUM_MACHINE_MODES] = { { 0 }, /* VOID */ { 0 }, /* BLK */ { 1 }, /* CC */ { 1 }, /* CCV2 */ { 1 }, /* CCV4 */ { 1 }, /* CCDSP */ { 1 }, /* CCF */ { 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 */ { 4 }, /* V4QI */ { 2 }, /* V2HI */ { 8 }, /* V8QI */ { 4 }, /* V4HI */ { 2 }, /* V2SI */ { 16 }, /* V16QI */ { 8 }, /* V8HI */ { 4 }, /* V4SI */ { 2 }, /* V2DI */ { 32 }, /* V32QI */ { 16 }, /* V16HI */ { 8 }, /* V8SI */ { 4 }, /* V4DI */ { 4 }, /* V4QQ */ { 2 }, /* V2HQ */ { 4 }, /* V4UQQ */ { 2 }, /* V2UHQ */ { 2 }, /* V2HA */ { 2 }, /* V2UHA */ { 2 }, /* V2SF */ { 4 }, /* V4SF */ { 2 }, /* V2DF */ { 8 }, /* V8SF */ { 4 }, /* V4DF */ }; const unsigned char mode_next[NUM_MACHINE_MODES] = { E_VOIDmode, /* VOID */ E_VOIDmode, /* BLK */ E_VOIDmode, /* CC */ E_VOIDmode, /* CCV2 */ E_VOIDmode, /* CCV4 */ E_VOIDmode, /* CCDSP */ E_VOIDmode, /* CCF */ 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 */ E_V2HImode, /* V4QI */ E_V8QImode, /* V2HI */ E_V4HImode, /* V8QI */ E_V2SImode, /* V4HI */ E_V16QImode, /* V2SI */ E_V8HImode, /* V16QI */ E_V4SImode, /* V8HI */ E_V2DImode, /* V4SI */ E_V32QImode, /* V2DI */ E_V16HImode, /* V32QI */ E_V8SImode, /* V16HI */ E_V4DImode, /* V8SI */ E_VOIDmode, /* V4DI */ E_V2HQmode, /* V4QQ */ E_VOIDmode, /* V2HQ */ E_V2UHQmode, /* V4UQQ */ E_VOIDmode, /* V2UHQ */ E_VOIDmode, /* V2HA */ E_VOIDmode, /* V2UHA */ E_V4SFmode, /* V2SF */ E_V2DFmode, /* V4SF */ E_V8SFmode, /* V2DF */ E_V4DFmode, /* V8SF */ E_VOIDmode, /* V4DF */ }; const unsigned char mode_wider[NUM_MACHINE_MODES] = { E_VOIDmode, /* VOID */ E_VOIDmode, /* BLK */ E_VOIDmode, /* CC */ E_VOIDmode, /* CCV2 */ E_VOIDmode, /* CCV4 */ E_VOIDmode, /* CCDSP */ E_VOIDmode, /* CCF */ 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_VOIDmode, /* CQI */ E_VOIDmode, /* CHI */ E_VOIDmode, /* CSI */ E_VOIDmode, /* CDI */ E_VOIDmode, /* CTI */ E_DCmode, /* SC */ E_TCmode, /* DC */ E_VOIDmode, /* TC */ E_VOIDmode, /* V4QI */ E_VOIDmode, /* V2HI */ E_VOIDmode, /* V8QI */ E_VOIDmode, /* V4HI */ E_VOIDmode, /* V2SI */ E_VOIDmode, /* V16QI */ E_VOIDmode, /* V8HI */ E_VOIDmode, /* V4SI */ E_VOIDmode, /* V2DI */ E_VOIDmode, /* V32QI */ E_VOIDmode, /* V16HI */ E_VOIDmode, /* V8SI */ E_VOIDmode, /* V4DI */ E_VOIDmode, /* V4QQ */ E_VOIDmode, /* V2HQ */ E_VOIDmode, /* V4UQQ */ E_VOIDmode, /* V2UHQ */ E_VOIDmode, /* V2HA */ E_VOIDmode, /* V2UHA */ E_VOIDmode, /* V2SF */ E_VOIDmode, /* V4SF */ E_VOIDmode, /* V2DF */ E_VOIDmode, /* V8SF */ E_VOIDmode, /* V4DF */ }; const unsigned char mode_2xwider[NUM_MACHINE_MODES] = { E_VOIDmode, /* VOID */ E_BLKmode, /* BLK */ E_VOIDmode, /* CC */ E_VOIDmode, /* CCV2 */ E_VOIDmode, /* CCV4 */ E_VOIDmode, /* CCDSP */ E_VOIDmode, /* CCF */ 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 */ E_V8QImode, /* V4QI */ E_V4HImode, /* V2HI */ E_V16QImode, /* V8QI */ E_V8HImode, /* V4HI */ E_V4SImode, /* V2SI */ E_V32QImode, /* V16QI */ E_V16HImode, /* V8HI */ E_V8SImode, /* V4SI */ E_V4DImode, /* V2DI */ E_VOIDmode, /* V32QI */ E_VOIDmode, /* V16HI */ E_VOIDmode, /* V8SI */ E_VOIDmode, /* V4DI */ E_VOIDmode, /* V4QQ */ E_VOIDmode, /* V2HQ */ E_VOIDmode, /* V4UQQ */ E_VOIDmode, /* V2UHQ */ E_VOIDmode, /* V2HA */ E_VOIDmode, /* V2UHA */ E_V4SFmode, /* V2SF */ E_V8SFmode, /* V4SF */ E_V4DFmode, /* V2DF */ E_VOIDmode, /* V8SF */ E_VOIDmode, /* V4DF */ }; const unsigned char mode_inner[NUM_MACHINE_MODES] = { E_VOIDmode, /* VOID */ E_BLKmode, /* BLK */ E_CCmode, /* CC */ E_CCV2mode, /* CCV2 */ E_CCV4mode, /* CCV4 */ E_CCDSPmode, /* CCDSP */ E_CCFmode, /* CCF */ 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 */ E_QImode, /* V4QI */ E_HImode, /* V2HI */ E_QImode, /* V8QI */ E_HImode, /* V4HI */ E_SImode, /* V2SI */ E_QImode, /* V16QI */ E_HImode, /* V8HI */ E_SImode, /* V4SI */ E_DImode, /* V2DI */ E_QImode, /* V32QI */ E_HImode, /* V16HI */ E_SImode, /* V8SI */ E_DImode, /* V4DI */ E_QQmode, /* V4QQ */ E_HQmode, /* V2HQ */ E_UQQmode, /* V4UQQ */ E_UHQmode, /* V2UHQ */ E_HAmode, /* V2HA */ E_UHAmode, /* V2UHA */ E_SFmode, /* V2SF */ E_SFmode, /* V4SF */ E_DFmode, /* V2DF */ E_SFmode, /* V8SF */ E_DFmode, /* V4DF */ }; 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, /* V4QI */ MIN_MODE_VECTOR_FRACT, /* V4QQ */ MIN_MODE_VECTOR_UFRACT, /* V4UQQ */ MIN_MODE_VECTOR_ACCUM, /* V2HA */ MIN_MODE_VECTOR_UACCUM, /* V2UHA */ MIN_MODE_VECTOR_FLOAT, /* V2SF */ MIN_MODE_OPAQUE, /* VOID */ };