| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295 |
- /* Generated automatically from machmode.def and config/riscv/riscv-modes.def
- by genmodes. */
- #ifndef GCC_INSN_MODES_INLINE_H
- #define GCC_INSN_MODES_INLINE_H
- #if !defined (USED_FOR_TARGET) && GCC_VERSION >= 4001
- #ifdef __cplusplus
- inline __attribute__((__always_inline__))
- #else
- extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
- #endif
- poly_uint16
- mode_size_inline (machine_mode mode)
- {
- extern const poly_uint16_pod mode_size[NUM_MACHINE_MODES];
- gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES);
- switch (mode)
- {
- case E_VOIDmode: return 0;
- case E_BLKmode: return 0;
- case E_CCmode: return 4;
- case E_BImode: return 1;
- case E_QImode: return 1;
- case E_HImode: return 2;
- case E_SImode: return 4;
- case E_DImode: return 8;
- case E_TImode: return 16;
- case E_QQmode: return 1;
- case E_HQmode: return 2;
- case E_SQmode: return 4;
- case E_DQmode: return 8;
- case E_TQmode: return 16;
- case E_UQQmode: return 1;
- case E_UHQmode: return 2;
- case E_USQmode: return 4;
- case E_UDQmode: return 8;
- case E_UTQmode: return 16;
- case E_HAmode: return 2;
- case E_SAmode: return 4;
- case E_DAmode: return 8;
- case E_TAmode: return 16;
- case E_UHAmode: return 2;
- case E_USAmode: return 4;
- case E_UDAmode: return 8;
- case E_UTAmode: return 16;
- case E_SFmode: return 4;
- case E_DFmode: return 8;
- case E_TFmode: return 16;
- case E_SDmode: return 4;
- case E_DDmode: return 8;
- case E_TDmode: return 16;
- case E_CQImode: return 2;
- case E_CHImode: return 4;
- case E_CSImode: return 8;
- case E_CDImode: return 16;
- case E_CTImode: return 32;
- case E_SCmode: return 8;
- case E_DCmode: return 16;
- case E_TCmode: return 32;
- default: return mode_size[mode];
- }
- }
- #ifdef __cplusplus
- inline __attribute__((__always_inline__))
- #else
- extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
- #endif
- poly_uint16
- mode_nunits_inline (machine_mode mode)
- {
- extern const poly_uint16_pod mode_nunits[NUM_MACHINE_MODES];
- switch (mode)
- {
- case E_VOIDmode: return 0;
- case E_BLKmode: return 0;
- case E_CCmode: return 1;
- case E_BImode: return 1;
- case E_QImode: return 1;
- case E_HImode: return 1;
- case E_SImode: return 1;
- case E_DImode: return 1;
- case E_TImode: return 1;
- case E_QQmode: return 1;
- case E_HQmode: return 1;
- case E_SQmode: return 1;
- case E_DQmode: return 1;
- case E_TQmode: return 1;
- case E_UQQmode: return 1;
- case E_UHQmode: return 1;
- case E_USQmode: return 1;
- case E_UDQmode: return 1;
- case E_UTQmode: return 1;
- case E_HAmode: return 1;
- case E_SAmode: return 1;
- case E_DAmode: return 1;
- case E_TAmode: return 1;
- case E_UHAmode: return 1;
- case E_USAmode: return 1;
- case E_UDAmode: return 1;
- case E_UTAmode: return 1;
- case E_SFmode: return 1;
- case E_DFmode: return 1;
- case E_TFmode: return 1;
- case E_SDmode: return 1;
- case E_DDmode: return 1;
- case E_TDmode: return 1;
- case E_CQImode: return 2;
- case E_CHImode: return 2;
- case E_CSImode: return 2;
- case E_CDImode: return 2;
- case E_CTImode: return 2;
- case E_SCmode: return 2;
- case E_DCmode: return 2;
- case E_TCmode: return 2;
- default: return mode_nunits[mode];
- }
- }
- #ifdef __cplusplus
- inline __attribute__((__always_inline__))
- #else
- extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
- #endif
- unsigned char
- mode_inner_inline (machine_mode mode)
- {
- extern const unsigned char mode_inner[NUM_MACHINE_MODES];
- gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES);
- switch (mode)
- {
- case E_VOIDmode: return E_VOIDmode;
- case E_BLKmode: return E_BLKmode;
- case E_CCmode: return E_CCmode;
- case E_BImode: return E_BImode;
- case E_QImode: return E_QImode;
- case E_HImode: return E_HImode;
- case E_SImode: return E_SImode;
- case E_DImode: return E_DImode;
- case E_TImode: return E_TImode;
- case E_QQmode: return E_QQmode;
- case E_HQmode: return E_HQmode;
- case E_SQmode: return E_SQmode;
- case E_DQmode: return E_DQmode;
- case E_TQmode: return E_TQmode;
- case E_UQQmode: return E_UQQmode;
- case E_UHQmode: return E_UHQmode;
- case E_USQmode: return E_USQmode;
- case E_UDQmode: return E_UDQmode;
- case E_UTQmode: return E_UTQmode;
- case E_HAmode: return E_HAmode;
- case E_SAmode: return E_SAmode;
- case E_DAmode: return E_DAmode;
- case E_TAmode: return E_TAmode;
- case E_UHAmode: return E_UHAmode;
- case E_USAmode: return E_USAmode;
- case E_UDAmode: return E_UDAmode;
- case E_UTAmode: return E_UTAmode;
- case E_SFmode: return E_SFmode;
- case E_DFmode: return E_DFmode;
- case E_TFmode: return E_TFmode;
- case E_SDmode: return E_SDmode;
- case E_DDmode: return E_DDmode;
- case E_TDmode: return E_TDmode;
- case E_CQImode: return E_QImode;
- case E_CHImode: return E_HImode;
- case E_CSImode: return E_SImode;
- case E_CDImode: return E_DImode;
- case E_CTImode: return E_TImode;
- case E_SCmode: return E_SFmode;
- case E_DCmode: return E_DFmode;
- case E_TCmode: return E_TFmode;
- default: return mode_inner[mode];
- }
- }
- #ifdef __cplusplus
- inline __attribute__((__always_inline__))
- #else
- extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
- #endif
- unsigned char
- mode_unit_size_inline (machine_mode mode)
- {
- extern CONST_MODE_UNIT_SIZE unsigned char mode_unit_size[NUM_MACHINE_MODES];
- gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES);
- switch (mode)
- {
- case E_VOIDmode: return 0;
- case E_BLKmode: return 0;
- case E_CCmode: return 4;
- case E_BImode: return 1;
- case E_QImode: return 1;
- case E_HImode: return 2;
- case E_SImode: return 4;
- case E_DImode: return 8;
- case E_TImode: return 16;
- case E_QQmode: return 1;
- case E_HQmode: return 2;
- case E_SQmode: return 4;
- case E_DQmode: return 8;
- case E_TQmode: return 16;
- case E_UQQmode: return 1;
- case E_UHQmode: return 2;
- case E_USQmode: return 4;
- case E_UDQmode: return 8;
- case E_UTQmode: return 16;
- case E_HAmode: return 2;
- case E_SAmode: return 4;
- case E_DAmode: return 8;
- case E_TAmode: return 16;
- case E_UHAmode: return 2;
- case E_USAmode: return 4;
- case E_UDAmode: return 8;
- case E_UTAmode: return 16;
- case E_SFmode: return 4;
- case E_DFmode: return 8;
- case E_TFmode: return 16;
- case E_SDmode: return 4;
- case E_DDmode: return 8;
- case E_TDmode: return 16;
- case E_CQImode: return 1;
- case E_CHImode: return 2;
- case E_CSImode: return 4;
- case E_CDImode: return 8;
- case E_CTImode: return 16;
- case E_SCmode: return 4;
- case E_DCmode: return 8;
- case E_TCmode: return 16;
- default: return mode_unit_size[mode];
- }
- }
- #ifdef __cplusplus
- inline __attribute__((__always_inline__))
- #else
- extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
- #endif
- unsigned short
- mode_unit_precision_inline (machine_mode mode)
- {
- extern const unsigned short mode_unit_precision[NUM_MACHINE_MODES];
- gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES);
- switch (mode)
- {
- case E_VOIDmode: return 0;
- case E_BLKmode: return 0;
- case E_CCmode: return 4*BITS_PER_UNIT;
- case E_BImode: return 1;
- case E_QImode: return 1*BITS_PER_UNIT;
- case E_HImode: return 2*BITS_PER_UNIT;
- case E_SImode: return 4*BITS_PER_UNIT;
- case E_DImode: return 8*BITS_PER_UNIT;
- case E_TImode: return 16*BITS_PER_UNIT;
- case E_QQmode: return 1*BITS_PER_UNIT;
- case E_HQmode: return 2*BITS_PER_UNIT;
- case E_SQmode: return 4*BITS_PER_UNIT;
- case E_DQmode: return 8*BITS_PER_UNIT;
- case E_TQmode: return 16*BITS_PER_UNIT;
- case E_UQQmode: return 1*BITS_PER_UNIT;
- case E_UHQmode: return 2*BITS_PER_UNIT;
- case E_USQmode: return 4*BITS_PER_UNIT;
- case E_UDQmode: return 8*BITS_PER_UNIT;
- case E_UTQmode: return 16*BITS_PER_UNIT;
- case E_HAmode: return 2*BITS_PER_UNIT;
- case E_SAmode: return 4*BITS_PER_UNIT;
- case E_DAmode: return 8*BITS_PER_UNIT;
- case E_TAmode: return 16*BITS_PER_UNIT;
- case E_UHAmode: return 2*BITS_PER_UNIT;
- case E_USAmode: return 4*BITS_PER_UNIT;
- case E_UDAmode: return 8*BITS_PER_UNIT;
- case E_UTAmode: return 16*BITS_PER_UNIT;
- case E_SFmode: return 4*BITS_PER_UNIT;
- case E_DFmode: return 8*BITS_PER_UNIT;
- case E_TFmode: return 16*BITS_PER_UNIT;
- case E_SDmode: return 4*BITS_PER_UNIT;
- case E_DDmode: return 8*BITS_PER_UNIT;
- case E_TDmode: return 16*BITS_PER_UNIT;
- case E_CQImode: return 1*BITS_PER_UNIT;
- case E_CHImode: return 2*BITS_PER_UNIT;
- case E_CSImode: return 4*BITS_PER_UNIT;
- case E_CDImode: return 8*BITS_PER_UNIT;
- case E_CTImode: return 16*BITS_PER_UNIT;
- case E_SCmode: return 4*BITS_PER_UNIT;
- case E_DCmode: return 8*BITS_PER_UNIT;
- case E_TCmode: return 16*BITS_PER_UNIT;
- default: return mode_unit_precision[mode];
- }
- }
- #endif /* GCC_VERSION >= 4001 */
- #endif /* insn-modes-inline.h */
|