1 /* This file is automatically generated. DO NOT EDIT! */ 2 /* Generated from: NetBSD: mknative-gcc,v 1.87 2016/03/17 23:41:21 mrg Exp */ 3 /* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp */ 4 5 /* Generated automatically from machmode.def and config/sh/sh-modes.def 6 by genmodes. */ 7 8 #ifndef GCC_INSN_MODES_H 9 #define GCC_INSN_MODES_H 10 11 enum machine_mode 12 { 13 VOIDmode, /* machmode.def:172 */ 14 #define HAVE_VOIDmode 15 BLKmode, /* machmode.def:176 */ 16 #define HAVE_BLKmode 17 CCmode, /* machmode.def:214 */ 18 #define HAVE_CCmode 19 BImode, /* machmode.def:179 */ 20 #define HAVE_BImode 21 QImode, /* machmode.def:187 */ 22 #define HAVE_QImode 23 HImode, /* machmode.def:188 */ 24 #define HAVE_HImode 25 SImode, /* machmode.def:189 */ 26 #define HAVE_SImode 27 DImode, /* machmode.def:190 */ 28 #define HAVE_DImode 29 TImode, /* machmode.def:191 */ 30 #define HAVE_TImode 31 PDImode, /* config/sh/sh-modes.def:21 */ 32 #define HAVE_PDImode 33 QQmode, /* machmode.def:217 */ 34 #define HAVE_QQmode 35 HQmode, /* machmode.def:218 */ 36 #define HAVE_HQmode 37 SQmode, /* machmode.def:219 */ 38 #define HAVE_SQmode 39 DQmode, /* machmode.def:220 */ 40 #define HAVE_DQmode 41 TQmode, /* machmode.def:221 */ 42 #define HAVE_TQmode 43 UQQmode, /* machmode.def:223 */ 44 #define HAVE_UQQmode 45 UHQmode, /* machmode.def:224 */ 46 #define HAVE_UHQmode 47 USQmode, /* machmode.def:225 */ 48 #define HAVE_USQmode 49 UDQmode, /* machmode.def:226 */ 50 #define HAVE_UDQmode 51 UTQmode, /* machmode.def:227 */ 52 #define HAVE_UTQmode 53 HAmode, /* machmode.def:229 */ 54 #define HAVE_HAmode 55 SAmode, /* machmode.def:230 */ 56 #define HAVE_SAmode 57 DAmode, /* machmode.def:231 */ 58 #define HAVE_DAmode 59 TAmode, /* machmode.def:232 */ 60 #define HAVE_TAmode 61 UHAmode, /* machmode.def:234 */ 62 #define HAVE_UHAmode 63 USAmode, /* machmode.def:235 */ 64 #define HAVE_USAmode 65 UDAmode, /* machmode.def:236 */ 66 #define HAVE_UDAmode 67 UTAmode, /* machmode.def:237 */ 68 #define HAVE_UTAmode 69 SFmode, /* machmode.def:209 */ 70 #define HAVE_SFmode 71 DFmode, /* machmode.def:210 */ 72 #define HAVE_DFmode 73 SDmode, /* machmode.def:249 */ 74 #define HAVE_SDmode 75 DDmode, /* machmode.def:250 */ 76 #define HAVE_DDmode 77 TDmode, /* machmode.def:251 */ 78 #define HAVE_TDmode 79 CQImode, /* machmode.def:245 */ 80 #define HAVE_CQImode 81 CHImode, /* machmode.def:245 */ 82 #define HAVE_CHImode 83 CSImode, /* machmode.def:245 */ 84 #define HAVE_CSImode 85 CDImode, /* machmode.def:245 */ 86 #define HAVE_CDImode 87 CTImode, /* machmode.def:245 */ 88 #define HAVE_CTImode 89 SCmode, /* machmode.def:246 */ 90 #define HAVE_SCmode 91 DCmode, /* machmode.def:246 */ 92 #define HAVE_DCmode 93 V2QImode, /* config/sh/sh-modes.def:24 */ 94 #define HAVE_V2QImode 95 V4QImode, /* config/sh/sh-modes.def:25 */ 96 #define HAVE_V4QImode 97 V2HImode, /* config/sh/sh-modes.def:25 */ 98 #define HAVE_V2HImode 99 V8QImode, /* config/sh/sh-modes.def:26 */ 100 #define HAVE_V8QImode 101 V4HImode, /* config/sh/sh-modes.def:26 */ 102 #define HAVE_V4HImode 103 V2SImode, /* config/sh/sh-modes.def:26 */ 104 #define HAVE_V2SImode 105 V16QImode, /* config/sh/sh-modes.def:27 */ 106 #define HAVE_V16QImode 107 V8HImode, /* config/sh/sh-modes.def:27 */ 108 #define HAVE_V8HImode 109 V4SImode, /* config/sh/sh-modes.def:27 */ 110 #define HAVE_V4SImode 111 V2DImode, /* config/sh/sh-modes.def:27 */ 112 #define HAVE_V2DImode 113 V4DImode, /* config/sh/sh-modes.def:30 */ 114 #define HAVE_V4DImode 115 V8DImode, /* config/sh/sh-modes.def:31 */ 116 #define HAVE_V8DImode 117 V2SFmode, /* config/sh/sh-modes.def:28 */ 118 #define HAVE_V2SFmode 119 V4SFmode, /* config/sh/sh-modes.def:29 */ 120 #define HAVE_V4SFmode 121 V2DFmode, /* config/sh/sh-modes.def:29 */ 122 #define HAVE_V2DFmode 123 V16SFmode, /* config/sh/sh-modes.def:32 */ 124 #define HAVE_V16SFmode 125 MAX_MACHINE_MODE, 126 127 MIN_MODE_RANDOM = VOIDmode, 128 MAX_MODE_RANDOM = BLKmode, 129 130 MIN_MODE_CC = CCmode, 131 MAX_MODE_CC = CCmode, 132 133 MIN_MODE_INT = QImode, 134 MAX_MODE_INT = TImode, 135 136 MIN_MODE_PARTIAL_INT = PDImode, 137 MAX_MODE_PARTIAL_INT = PDImode, 138 139 MIN_MODE_POINTER_BOUNDS = VOIDmode, 140 MAX_MODE_POINTER_BOUNDS = VOIDmode, 141 142 MIN_MODE_FRACT = QQmode, 143 MAX_MODE_FRACT = TQmode, 144 145 MIN_MODE_UFRACT = UQQmode, 146 MAX_MODE_UFRACT = UTQmode, 147 148 MIN_MODE_ACCUM = HAmode, 149 MAX_MODE_ACCUM = TAmode, 150 151 MIN_MODE_UACCUM = UHAmode, 152 MAX_MODE_UACCUM = UTAmode, 153 154 MIN_MODE_FLOAT = SFmode, 155 MAX_MODE_FLOAT = DFmode, 156 157 MIN_MODE_DECIMAL_FLOAT = SDmode, 158 MAX_MODE_DECIMAL_FLOAT = TDmode, 159 160 MIN_MODE_COMPLEX_INT = CQImode, 161 MAX_MODE_COMPLEX_INT = CTImode, 162 163 MIN_MODE_COMPLEX_FLOAT = SCmode, 164 MAX_MODE_COMPLEX_FLOAT = DCmode, 165 166 MIN_MODE_VECTOR_INT = V2QImode, 167 MAX_MODE_VECTOR_INT = V8DImode, 168 169 MIN_MODE_VECTOR_FRACT = VOIDmode, 170 MAX_MODE_VECTOR_FRACT = VOIDmode, 171 172 MIN_MODE_VECTOR_UFRACT = VOIDmode, 173 MAX_MODE_VECTOR_UFRACT = VOIDmode, 174 175 MIN_MODE_VECTOR_ACCUM = VOIDmode, 176 MAX_MODE_VECTOR_ACCUM = VOIDmode, 177 178 MIN_MODE_VECTOR_UACCUM = VOIDmode, 179 MAX_MODE_VECTOR_UACCUM = VOIDmode, 180 181 MIN_MODE_VECTOR_FLOAT = V2SFmode, 182 MAX_MODE_VECTOR_FLOAT = V16SFmode, 183 184 NUM_MACHINE_MODES = MAX_MACHINE_MODE 185 }; 186 187 #define CONST_MODE_SIZE const 188 #define CONST_MODE_BASE_ALIGN const 189 #define CONST_MODE_IBIT const 190 #define CONST_MODE_FBIT const 191 192 #define BITS_PER_UNIT (8) 193 #define MAX_BITSIZE_MODE_ANY_INT (16*BITS_PER_UNIT) 194 #define MAX_BITSIZE_MODE_ANY_MODE (64*BITS_PER_UNIT) 195 #define NUM_INT_N_ENTS 1 196 197 #if !defined (USED_FOR_TARGET) && GCC_VERSION >= 4001 198 199 #ifdef __cplusplus 200 inline __attribute__((__always_inline__)) 201 #else 202 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 203 #endif 204 unsigned char 205 mode_size_inline (machine_mode mode) 206 { 207 extern const unsigned char mode_size[NUM_MACHINE_MODES]; 208 switch (mode) 209 { 210 case VOIDmode: return 0; 211 case BLKmode: return 0; 212 case CCmode: return 4; 213 case BImode: return 1; 214 case QImode: return 1; 215 case HImode: return 2; 216 case SImode: return 4; 217 case DImode: return 8; 218 case TImode: return 16; 219 case PDImode: return 8; 220 case QQmode: return 1; 221 case HQmode: return 2; 222 case SQmode: return 4; 223 case DQmode: return 8; 224 case TQmode: return 16; 225 case UQQmode: return 1; 226 case UHQmode: return 2; 227 case USQmode: return 4; 228 case UDQmode: return 8; 229 case UTQmode: return 16; 230 case HAmode: return 2; 231 case SAmode: return 4; 232 case DAmode: return 8; 233 case TAmode: return 16; 234 case UHAmode: return 2; 235 case USAmode: return 4; 236 case UDAmode: return 8; 237 case UTAmode: return 16; 238 case SFmode: return 4; 239 case DFmode: return 8; 240 case SDmode: return 4; 241 case DDmode: return 8; 242 case TDmode: return 16; 243 case CQImode: return 2; 244 case CHImode: return 4; 245 case CSImode: return 8; 246 case CDImode: return 16; 247 case CTImode: return 32; 248 case SCmode: return 8; 249 case DCmode: return 16; 250 case V2QImode: return 2; 251 case V4QImode: return 4; 252 case V2HImode: return 4; 253 case V8QImode: return 8; 254 case V4HImode: return 8; 255 case V2SImode: return 8; 256 case V16QImode: return 16; 257 case V8HImode: return 16; 258 case V4SImode: return 16; 259 case V2DImode: return 16; 260 case V4DImode: return 32; 261 case V8DImode: return 64; 262 case V2SFmode: return 8; 263 case V4SFmode: return 16; 264 case V2DFmode: return 16; 265 case V16SFmode: return 64; 266 default: return mode_size[mode]; 267 } 268 } 269 270 #ifdef __cplusplus 271 inline __attribute__((__always_inline__)) 272 #else 273 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 274 #endif 275 unsigned char 276 mode_nunits_inline (machine_mode mode) 277 { 278 extern const unsigned char mode_nunits[NUM_MACHINE_MODES]; 279 switch (mode) 280 { 281 case VOIDmode: return 0; 282 case BLKmode: return 0; 283 case CCmode: return 1; 284 case BImode: return 1; 285 case QImode: return 1; 286 case HImode: return 1; 287 case SImode: return 1; 288 case DImode: return 1; 289 case TImode: return 1; 290 case PDImode: return 1; 291 case QQmode: return 1; 292 case HQmode: return 1; 293 case SQmode: return 1; 294 case DQmode: return 1; 295 case TQmode: return 1; 296 case UQQmode: return 1; 297 case UHQmode: return 1; 298 case USQmode: return 1; 299 case UDQmode: return 1; 300 case UTQmode: return 1; 301 case HAmode: return 1; 302 case SAmode: return 1; 303 case DAmode: return 1; 304 case TAmode: return 1; 305 case UHAmode: return 1; 306 case USAmode: return 1; 307 case UDAmode: return 1; 308 case UTAmode: return 1; 309 case SFmode: return 1; 310 case DFmode: return 1; 311 case SDmode: return 1; 312 case DDmode: return 1; 313 case TDmode: return 1; 314 case CQImode: return 2; 315 case CHImode: return 2; 316 case CSImode: return 2; 317 case CDImode: return 2; 318 case CTImode: return 2; 319 case SCmode: return 2; 320 case DCmode: return 2; 321 case V2QImode: return 2; 322 case V4QImode: return 4; 323 case V2HImode: return 2; 324 case V8QImode: return 8; 325 case V4HImode: return 4; 326 case V2SImode: return 2; 327 case V16QImode: return 16; 328 case V8HImode: return 8; 329 case V4SImode: return 4; 330 case V2DImode: return 2; 331 case V4DImode: return 4; 332 case V8DImode: return 8; 333 case V2SFmode: return 2; 334 case V4SFmode: return 4; 335 case V2DFmode: return 2; 336 case V16SFmode: return 16; 337 default: return mode_nunits[mode]; 338 } 339 } 340 341 #ifdef __cplusplus 342 inline __attribute__((__always_inline__)) 343 #else 344 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 345 #endif 346 unsigned char 347 mode_inner_inline (machine_mode mode) 348 { 349 extern const unsigned char mode_inner[NUM_MACHINE_MODES]; 350 switch (mode) 351 { 352 case VOIDmode: return VOIDmode; 353 case BLKmode: return VOIDmode; 354 case CCmode: return VOIDmode; 355 case BImode: return VOIDmode; 356 case QImode: return VOIDmode; 357 case HImode: return VOIDmode; 358 case SImode: return VOIDmode; 359 case DImode: return VOIDmode; 360 case TImode: return VOIDmode; 361 case PDImode: return VOIDmode; 362 case QQmode: return VOIDmode; 363 case HQmode: return VOIDmode; 364 case SQmode: return VOIDmode; 365 case DQmode: return VOIDmode; 366 case TQmode: return VOIDmode; 367 case UQQmode: return VOIDmode; 368 case UHQmode: return VOIDmode; 369 case USQmode: return VOIDmode; 370 case UDQmode: return VOIDmode; 371 case UTQmode: return VOIDmode; 372 case HAmode: return VOIDmode; 373 case SAmode: return VOIDmode; 374 case DAmode: return VOIDmode; 375 case TAmode: return VOIDmode; 376 case UHAmode: return VOIDmode; 377 case USAmode: return VOIDmode; 378 case UDAmode: return VOIDmode; 379 case UTAmode: return VOIDmode; 380 case SFmode: return VOIDmode; 381 case DFmode: return VOIDmode; 382 case SDmode: return VOIDmode; 383 case DDmode: return VOIDmode; 384 case TDmode: return VOIDmode; 385 case CQImode: return QImode; 386 case CHImode: return HImode; 387 case CSImode: return SImode; 388 case CDImode: return DImode; 389 case CTImode: return TImode; 390 case SCmode: return SFmode; 391 case DCmode: return DFmode; 392 case V2QImode: return QImode; 393 case V4QImode: return QImode; 394 case V2HImode: return HImode; 395 case V8QImode: return QImode; 396 case V4HImode: return HImode; 397 case V2SImode: return SImode; 398 case V16QImode: return QImode; 399 case V8HImode: return HImode; 400 case V4SImode: return SImode; 401 case V2DImode: return DImode; 402 case V4DImode: return DImode; 403 case V8DImode: return DImode; 404 case V2SFmode: return SFmode; 405 case V4SFmode: return SFmode; 406 case V2DFmode: return DFmode; 407 case V16SFmode: return SFmode; 408 default: return mode_inner[mode]; 409 } 410 } 411 412 #endif /* GCC_VERSION >= 4001 */ 413 414 #endif /* insn-modes.h */ 415