blob: fd7cf25093e4fdbfc3429932f5f2dabfec861f5d [file] [log] [blame]
/* Generated automatically from machmode.def and config/aarch64/aarch64-modes.def
by genmodes. */
#ifndef GCC_INSN_MODES_H
#define GCC_INSN_MODES_H
enum machine_mode
{
VOIDmode, /* machmode.def:172 */
#define HAVE_VOIDmode
BLKmode, /* machmode.def:176 */
#define HAVE_BLKmode
CCmode, /* machmode.def:214 */
#define HAVE_CCmode
CCFPmode, /* config/aarch64/aarch64-modes.def:21 */
#define HAVE_CCFPmode
CCFPEmode, /* config/aarch64/aarch64-modes.def:22 */
#define HAVE_CCFPEmode
CC_SWPmode, /* config/aarch64/aarch64-modes.def:23 */
#define HAVE_CC_SWPmode
CC_ZESWPmode, /* config/aarch64/aarch64-modes.def:24 */
#define HAVE_CC_ZESWPmode
CC_SESWPmode, /* config/aarch64/aarch64-modes.def:25 */
#define HAVE_CC_SESWPmode
CC_NZmode, /* config/aarch64/aarch64-modes.def:26 */
#define HAVE_CC_NZmode
CC_Zmode, /* config/aarch64/aarch64-modes.def:27 */
#define HAVE_CC_Zmode
CC_DNEmode, /* config/aarch64/aarch64-modes.def:28 */
#define HAVE_CC_DNEmode
CC_DEQmode, /* config/aarch64/aarch64-modes.def:29 */
#define HAVE_CC_DEQmode
CC_DLEmode, /* config/aarch64/aarch64-modes.def:30 */
#define HAVE_CC_DLEmode
CC_DLTmode, /* config/aarch64/aarch64-modes.def:31 */
#define HAVE_CC_DLTmode
CC_DGEmode, /* config/aarch64/aarch64-modes.def:32 */
#define HAVE_CC_DGEmode
CC_DGTmode, /* config/aarch64/aarch64-modes.def:33 */
#define HAVE_CC_DGTmode
CC_DLEUmode, /* config/aarch64/aarch64-modes.def:34 */
#define HAVE_CC_DLEUmode
CC_DLTUmode, /* config/aarch64/aarch64-modes.def:35 */
#define HAVE_CC_DLTUmode
CC_DGEUmode, /* config/aarch64/aarch64-modes.def:36 */
#define HAVE_CC_DGEUmode
CC_DGTUmode, /* config/aarch64/aarch64-modes.def:37 */
#define HAVE_CC_DGTUmode
BImode, /* machmode.def:179 */
#define HAVE_BImode
QImode, /* machmode.def:187 */
#define HAVE_QImode
HImode, /* machmode.def:188 */
#define HAVE_HImode
SImode, /* machmode.def:189 */
#define HAVE_SImode
DImode, /* machmode.def:190 */
#define HAVE_DImode
TImode, /* machmode.def:191 */
#define HAVE_TImode
EImode, /* config/aarch64/aarch64-modes.def:51 */
#define HAVE_EImode
OImode, /* config/aarch64/aarch64-modes.def:47 */
#define HAVE_OImode
CImode, /* config/aarch64/aarch64-modes.def:52 */
#define HAVE_CImode
XImode, /* config/aarch64/aarch64-modes.def:53 */
#define HAVE_XImode
QQmode, /* machmode.def:217 */
#define HAVE_QQmode
HQmode, /* machmode.def:218 */
#define HAVE_HQmode
SQmode, /* machmode.def:219 */
#define HAVE_SQmode
DQmode, /* machmode.def:220 */
#define HAVE_DQmode
TQmode, /* machmode.def:221 */
#define HAVE_TQmode
UQQmode, /* machmode.def:223 */
#define HAVE_UQQmode
UHQmode, /* machmode.def:224 */
#define HAVE_UHQmode
USQmode, /* machmode.def:225 */
#define HAVE_USQmode
UDQmode, /* machmode.def:226 */
#define HAVE_UDQmode
UTQmode, /* machmode.def:227 */
#define HAVE_UTQmode
HAmode, /* machmode.def:229 */
#define HAVE_HAmode
SAmode, /* machmode.def:230 */
#define HAVE_SAmode
DAmode, /* machmode.def:231 */
#define HAVE_DAmode
TAmode, /* machmode.def:232 */
#define HAVE_TAmode
UHAmode, /* machmode.def:234 */
#define HAVE_UHAmode
USAmode, /* machmode.def:235 */
#define HAVE_USAmode
UDAmode, /* machmode.def:236 */
#define HAVE_UDAmode
UTAmode, /* machmode.def:237 */
#define HAVE_UTAmode
SFmode, /* machmode.def:209 */
#define HAVE_SFmode
DFmode, /* machmode.def:210 */
#define HAVE_DFmode
TFmode, /* config/aarch64/aarch64-modes.def:66 */
#define HAVE_TFmode
SDmode, /* machmode.def:249 */
#define HAVE_SDmode
DDmode, /* machmode.def:250 */
#define HAVE_DDmode
TDmode, /* machmode.def:251 */
#define HAVE_TDmode
CQImode, /* machmode.def:245 */
#define HAVE_CQImode
CHImode, /* machmode.def:245 */
#define HAVE_CHImode
CSImode, /* machmode.def:245 */
#define HAVE_CSImode
CDImode, /* machmode.def:245 */
#define HAVE_CDImode
CTImode, /* machmode.def:245 */
#define HAVE_CTImode
CEImode, /* machmode.def:245 */
#define HAVE_CEImode
COImode, /* machmode.def:245 */
#define HAVE_COImode
CCImode, /* machmode.def:245 */
#define HAVE_CCImode
CXImode, /* machmode.def:245 */
#define HAVE_CXImode
SCmode, /* machmode.def:246 */
#define HAVE_SCmode
DCmode, /* machmode.def:246 */
#define HAVE_DCmode
TCmode, /* machmode.def:246 */
#define HAVE_TCmode
V8QImode, /* config/aarch64/aarch64-modes.def:40 */
#define HAVE_V8QImode
V4HImode, /* config/aarch64/aarch64-modes.def:40 */
#define HAVE_V4HImode
V2SImode, /* config/aarch64/aarch64-modes.def:40 */
#define HAVE_V2SImode
V16QImode, /* config/aarch64/aarch64-modes.def:41 */
#define HAVE_V16QImode
V8HImode, /* config/aarch64/aarch64-modes.def:41 */
#define HAVE_V8HImode
V4SImode, /* config/aarch64/aarch64-modes.def:41 */
#define HAVE_V4SImode
V2DImode, /* config/aarch64/aarch64-modes.def:41 */
#define HAVE_V2DImode
V32QImode, /* config/aarch64/aarch64-modes.def:56 */
#define HAVE_V32QImode
V16HImode, /* config/aarch64/aarch64-modes.def:56 */
#define HAVE_V16HImode
V8SImode, /* config/aarch64/aarch64-modes.def:56 */
#define HAVE_V8SImode
V4DImode, /* config/aarch64/aarch64-modes.def:56 */
#define HAVE_V4DImode
V2TImode, /* config/aarch64/aarch64-modes.def:56 */
#define HAVE_V2TImode
V48QImode, /* config/aarch64/aarch64-modes.def:59 */
#define HAVE_V48QImode
V24HImode, /* config/aarch64/aarch64-modes.def:59 */
#define HAVE_V24HImode
V12SImode, /* config/aarch64/aarch64-modes.def:59 */
#define HAVE_V12SImode
V6DImode, /* config/aarch64/aarch64-modes.def:59 */
#define HAVE_V6DImode
V3TImode, /* config/aarch64/aarch64-modes.def:59 */
#define HAVE_V3TImode
V2EImode, /* config/aarch64/aarch64-modes.def:59 */
#define HAVE_V2EImode
V64QImode, /* config/aarch64/aarch64-modes.def:62 */
#define HAVE_V64QImode
V32HImode, /* config/aarch64/aarch64-modes.def:62 */
#define HAVE_V32HImode
V16SImode, /* config/aarch64/aarch64-modes.def:62 */
#define HAVE_V16SImode
V8DImode, /* config/aarch64/aarch64-modes.def:62 */
#define HAVE_V8DImode
V4TImode, /* config/aarch64/aarch64-modes.def:62 */
#define HAVE_V4TImode
V2OImode, /* config/aarch64/aarch64-modes.def:62 */
#define HAVE_V2OImode
V2SFmode, /* config/aarch64/aarch64-modes.def:42 */
#define HAVE_V2SFmode
V1DFmode, /* config/aarch64/aarch64-modes.def:44 */
#define HAVE_V1DFmode
V4SFmode, /* config/aarch64/aarch64-modes.def:43 */
#define HAVE_V4SFmode
V2DFmode, /* config/aarch64/aarch64-modes.def:43 */
#define HAVE_V2DFmode
V8SFmode, /* config/aarch64/aarch64-modes.def:57 */
#define HAVE_V8SFmode
V4DFmode, /* config/aarch64/aarch64-modes.def:57 */
#define HAVE_V4DFmode
V12SFmode, /* config/aarch64/aarch64-modes.def:60 */
#define HAVE_V12SFmode
V6DFmode, /* config/aarch64/aarch64-modes.def:60 */
#define HAVE_V6DFmode
V16SFmode, /* config/aarch64/aarch64-modes.def:63 */
#define HAVE_V16SFmode
V8DFmode, /* config/aarch64/aarch64-modes.def:63 */
#define HAVE_V8DFmode
MAX_MACHINE_MODE,
MIN_MODE_RANDOM = VOIDmode,
MAX_MODE_RANDOM = BLKmode,
MIN_MODE_CC = CCmode,
MAX_MODE_CC = CC_DGTUmode,
MIN_MODE_INT = QImode,
MAX_MODE_INT = XImode,
MIN_MODE_PARTIAL_INT = VOIDmode,
MAX_MODE_PARTIAL_INT = VOIDmode,
MIN_MODE_POINTER_BOUNDS = VOIDmode,
MAX_MODE_POINTER_BOUNDS = VOIDmode,
MIN_MODE_FRACT = QQmode,
MAX_MODE_FRACT = TQmode,
MIN_MODE_UFRACT = UQQmode,
MAX_MODE_UFRACT = UTQmode,
MIN_MODE_ACCUM = HAmode,
MAX_MODE_ACCUM = TAmode,
MIN_MODE_UACCUM = UHAmode,
MAX_MODE_UACCUM = UTAmode,
MIN_MODE_FLOAT = SFmode,
MAX_MODE_FLOAT = TFmode,
MIN_MODE_DECIMAL_FLOAT = SDmode,
MAX_MODE_DECIMAL_FLOAT = TDmode,
MIN_MODE_COMPLEX_INT = CQImode,
MAX_MODE_COMPLEX_INT = CXImode,
MIN_MODE_COMPLEX_FLOAT = SCmode,
MAX_MODE_COMPLEX_FLOAT = TCmode,
MIN_MODE_VECTOR_INT = V8QImode,
MAX_MODE_VECTOR_INT = V2OImode,
MIN_MODE_VECTOR_FRACT = VOIDmode,
MAX_MODE_VECTOR_FRACT = VOIDmode,
MIN_MODE_VECTOR_UFRACT = VOIDmode,
MAX_MODE_VECTOR_UFRACT = VOIDmode,
MIN_MODE_VECTOR_ACCUM = VOIDmode,
MAX_MODE_VECTOR_ACCUM = VOIDmode,
MIN_MODE_VECTOR_UACCUM = VOIDmode,
MAX_MODE_VECTOR_UACCUM = VOIDmode,
MIN_MODE_VECTOR_FLOAT = V2SFmode,
MAX_MODE_VECTOR_FLOAT = V8DFmode,
NUM_MACHINE_MODES = MAX_MACHINE_MODE
};
#define CONST_MODE_SIZE const
#define CONST_MODE_BASE_ALIGN const
#define CONST_MODE_IBIT const
#define CONST_MODE_FBIT const
#define BITS_PER_UNIT (8)
#define MAX_BITSIZE_MODE_ANY_INT (64*BITS_PER_UNIT)
#define MAX_BITSIZE_MODE_ANY_MODE (128*BITS_PER_UNIT)
#define NUM_INT_N_ENTS 1
#if !defined (USED_FOR_TARGET) && GCC_VERSION >= 4001
#ifdef __cplusplus
inline __attribute__((__always_inline__))
#else
extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
#endif
unsigned char
mode_size_inline (machine_mode mode)
{
extern const unsigned char mode_size[NUM_MACHINE_MODES];
switch (mode)
{
case VOIDmode: return 0;
case BLKmode: return 0;
case CCmode: return 4;
case CCFPmode: return 4;
case CCFPEmode: return 4;
case CC_SWPmode: return 4;
case CC_ZESWPmode: return 4;
case CC_SESWPmode: return 4;
case CC_NZmode: return 4;
case CC_Zmode: return 4;
case CC_DNEmode: return 4;
case CC_DEQmode: return 4;
case CC_DLEmode: return 4;
case CC_DLTmode: return 4;
case CC_DGEmode: return 4;
case CC_DGTmode: return 4;
case CC_DLEUmode: return 4;
case CC_DLTUmode: return 4;
case CC_DGEUmode: return 4;
case CC_DGTUmode: return 4;
case BImode: return 1;
case QImode: return 1;
case HImode: return 2;
case SImode: return 4;
case DImode: return 8;
case TImode: return 16;
case EImode: return 24;
case OImode: return 32;
case CImode: return 48;
case XImode: return 64;
case QQmode: return 1;
case HQmode: return 2;
case SQmode: return 4;
case DQmode: return 8;
case TQmode: return 16;
case UQQmode: return 1;
case UHQmode: return 2;
case USQmode: return 4;
case UDQmode: return 8;
case UTQmode: return 16;
case HAmode: return 2;
case SAmode: return 4;
case DAmode: return 8;
case TAmode: return 16;
case UHAmode: return 2;
case USAmode: return 4;
case UDAmode: return 8;
case UTAmode: return 16;
case SFmode: return 4;
case DFmode: return 8;
case TFmode: return 16;
case SDmode: return 4;
case DDmode: return 8;
case TDmode: return 16;
case CQImode: return 2;
case CHImode: return 4;
case CSImode: return 8;
case CDImode: return 16;
case CTImode: return 32;
case CEImode: return 48;
case COImode: return 64;
case CCImode: return 96;
case CXImode: return 128;
case SCmode: return 8;
case DCmode: return 16;
case TCmode: return 32;
case V8QImode: return 8;
case V4HImode: return 8;
case V2SImode: return 8;
case V16QImode: return 16;
case V8HImode: return 16;
case V4SImode: return 16;
case V2DImode: return 16;
case V32QImode: return 32;
case V16HImode: return 32;
case V8SImode: return 32;
case V4DImode: return 32;
case V2TImode: return 32;
case V48QImode: return 48;
case V24HImode: return 48;
case V12SImode: return 48;
case V6DImode: return 48;
case V3TImode: return 48;
case V2EImode: return 48;
case V64QImode: return 64;
case V32HImode: return 64;
case V16SImode: return 64;
case V8DImode: return 64;
case V4TImode: return 64;
case V2OImode: return 64;
case V2SFmode: return 8;
case V1DFmode: return 8;
case V4SFmode: return 16;
case V2DFmode: return 16;
case V8SFmode: return 32;
case V4DFmode: return 32;
case V12SFmode: return 48;
case V6DFmode: return 48;
case V16SFmode: return 64;
case V8DFmode: return 64;
default: return mode_size[mode];
}
}
#ifdef __cplusplus
inline __attribute__((__always_inline__))
#else
extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
#endif
unsigned char
mode_nunits_inline (machine_mode mode)
{
extern const unsigned char mode_nunits[NUM_MACHINE_MODES];
switch (mode)
{
case VOIDmode: return 0;
case BLKmode: return 0;
case CCmode: return 1;
case CCFPmode: return 1;
case CCFPEmode: return 1;
case CC_SWPmode: return 1;
case CC_ZESWPmode: return 1;
case CC_SESWPmode: return 1;
case CC_NZmode: return 1;
case CC_Zmode: return 1;
case CC_DNEmode: return 1;
case CC_DEQmode: return 1;
case CC_DLEmode: return 1;
case CC_DLTmode: return 1;
case CC_DGEmode: return 1;
case CC_DGTmode: return 1;
case CC_DLEUmode: return 1;
case CC_DLTUmode: return 1;
case CC_DGEUmode: return 1;
case CC_DGTUmode: return 1;
case BImode: return 1;
case QImode: return 1;
case HImode: return 1;
case SImode: return 1;
case DImode: return 1;
case TImode: return 1;
case EImode: return 1;
case OImode: return 1;
case CImode: return 1;
case XImode: return 1;
case QQmode: return 1;
case HQmode: return 1;
case SQmode: return 1;
case DQmode: return 1;
case TQmode: return 1;
case UQQmode: return 1;
case UHQmode: return 1;
case USQmode: return 1;
case UDQmode: return 1;
case UTQmode: return 1;
case HAmode: return 1;
case SAmode: return 1;
case DAmode: return 1;
case TAmode: return 1;
case UHAmode: return 1;
case USAmode: return 1;
case UDAmode: return 1;
case UTAmode: return 1;
case SFmode: return 1;
case DFmode: return 1;
case TFmode: return 1;
case SDmode: return 1;
case DDmode: return 1;
case TDmode: return 1;
case CQImode: return 2;
case CHImode: return 2;
case CSImode: return 2;
case CDImode: return 2;
case CTImode: return 2;
case CEImode: return 2;
case COImode: return 2;
case CCImode: return 2;
case CXImode: return 2;
case SCmode: return 2;
case DCmode: return 2;
case TCmode: return 2;
case V8QImode: return 8;
case V4HImode: return 4;
case V2SImode: return 2;
case V16QImode: return 16;
case V8HImode: return 8;
case V4SImode: return 4;
case V2DImode: return 2;
case V32QImode: return 32;
case V16HImode: return 16;
case V8SImode: return 8;
case V4DImode: return 4;
case V2TImode: return 2;
case V48QImode: return 48;
case V24HImode: return 24;
case V12SImode: return 12;
case V6DImode: return 6;
case V3TImode: return 3;
case V2EImode: return 2;
case V64QImode: return 64;
case V32HImode: return 32;
case V16SImode: return 16;
case V8DImode: return 8;
case V4TImode: return 4;
case V2OImode: return 2;
case V2SFmode: return 2;
case V1DFmode: return 1;
case V4SFmode: return 4;
case V2DFmode: return 2;
case V8SFmode: return 8;
case V4DFmode: return 4;
case V12SFmode: return 12;
case V6DFmode: return 6;
case V16SFmode: return 16;
case V8DFmode: return 8;
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];
switch (mode)
{
case VOIDmode: return VOIDmode;
case BLKmode: return VOIDmode;
case CCmode: return VOIDmode;
case CCFPmode: return VOIDmode;
case CCFPEmode: return VOIDmode;
case CC_SWPmode: return VOIDmode;
case CC_ZESWPmode: return VOIDmode;
case CC_SESWPmode: return VOIDmode;
case CC_NZmode: return VOIDmode;
case CC_Zmode: return VOIDmode;
case CC_DNEmode: return VOIDmode;
case CC_DEQmode: return VOIDmode;
case CC_DLEmode: return VOIDmode;
case CC_DLTmode: return VOIDmode;
case CC_DGEmode: return VOIDmode;
case CC_DGTmode: return VOIDmode;
case CC_DLEUmode: return VOIDmode;
case CC_DLTUmode: return VOIDmode;
case CC_DGEUmode: return VOIDmode;
case CC_DGTUmode: return VOIDmode;
case BImode: return VOIDmode;
case QImode: return VOIDmode;
case HImode: return VOIDmode;
case SImode: return VOIDmode;
case DImode: return VOIDmode;
case TImode: return VOIDmode;
case EImode: return VOIDmode;
case OImode: return VOIDmode;
case CImode: return VOIDmode;
case XImode: return VOIDmode;
case QQmode: return VOIDmode;
case HQmode: return VOIDmode;
case SQmode: return VOIDmode;
case DQmode: return VOIDmode;
case TQmode: return VOIDmode;
case UQQmode: return VOIDmode;
case UHQmode: return VOIDmode;
case USQmode: return VOIDmode;
case UDQmode: return VOIDmode;
case UTQmode: return VOIDmode;
case HAmode: return VOIDmode;
case SAmode: return VOIDmode;
case DAmode: return VOIDmode;
case TAmode: return VOIDmode;
case UHAmode: return VOIDmode;
case USAmode: return VOIDmode;
case UDAmode: return VOIDmode;
case UTAmode: return VOIDmode;
case SFmode: return VOIDmode;
case DFmode: return VOIDmode;
case TFmode: return VOIDmode;
case SDmode: return VOIDmode;
case DDmode: return VOIDmode;
case TDmode: return VOIDmode;
case CQImode: return QImode;
case CHImode: return HImode;
case CSImode: return SImode;
case CDImode: return DImode;
case CTImode: return TImode;
case CEImode: return EImode;
case COImode: return OImode;
case CCImode: return CImode;
case CXImode: return XImode;
case SCmode: return SFmode;
case DCmode: return DFmode;
case TCmode: return TFmode;
case V8QImode: return QImode;
case V4HImode: return HImode;
case V2SImode: return SImode;
case V16QImode: return QImode;
case V8HImode: return HImode;
case V4SImode: return SImode;
case V2DImode: return DImode;
case V32QImode: return QImode;
case V16HImode: return HImode;
case V8SImode: return SImode;
case V4DImode: return DImode;
case V2TImode: return TImode;
case V48QImode: return QImode;
case V24HImode: return HImode;
case V12SImode: return SImode;
case V6DImode: return DImode;
case V3TImode: return TImode;
case V2EImode: return EImode;
case V64QImode: return QImode;
case V32HImode: return HImode;
case V16SImode: return SImode;
case V8DImode: return DImode;
case V4TImode: return TImode;
case V2OImode: return OImode;
case V2SFmode: return SFmode;
case V1DFmode: return DFmode;
case V4SFmode: return SFmode;
case V2DFmode: return DFmode;
case V8SFmode: return SFmode;
case V4DFmode: return DFmode;
case V12SFmode: return SFmode;
case V6DFmode: return DFmode;
case V16SFmode: return SFmode;
case V8DFmode: return DFmode;
default: return mode_inner[mode];
}
}
#endif /* GCC_VERSION >= 4001 */
#endif /* insn-modes.h */