1 /* This file is automatically generated. DO NOT EDIT! */ 2 /* Generated from: NetBSD: mknative-gcc,v 1.86 2016/03/16 11:16:05 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/arm/arm-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 CC_NOOVmode, /* config/arm/arm-modes.def:43 */ 20 #define HAVE_CC_NOOVmode 21 CC_Zmode, /* config/arm/arm-modes.def:44 */ 22 #define HAVE_CC_Zmode 23 CC_CZmode, /* config/arm/arm-modes.def:45 */ 24 #define HAVE_CC_CZmode 25 CC_NCVmode, /* config/arm/arm-modes.def:46 */ 26 #define HAVE_CC_NCVmode 27 CC_SWPmode, /* config/arm/arm-modes.def:47 */ 28 #define HAVE_CC_SWPmode 29 CCFPmode, /* config/arm/arm-modes.def:48 */ 30 #define HAVE_CCFPmode 31 CCFPEmode, /* config/arm/arm-modes.def:49 */ 32 #define HAVE_CCFPEmode 33 CC_DNEmode, /* config/arm/arm-modes.def:50 */ 34 #define HAVE_CC_DNEmode 35 CC_DEQmode, /* config/arm/arm-modes.def:51 */ 36 #define HAVE_CC_DEQmode 37 CC_DLEmode, /* config/arm/arm-modes.def:52 */ 38 #define HAVE_CC_DLEmode 39 CC_DLTmode, /* config/arm/arm-modes.def:53 */ 40 #define HAVE_CC_DLTmode 41 CC_DGEmode, /* config/arm/arm-modes.def:54 */ 42 #define HAVE_CC_DGEmode 43 CC_DGTmode, /* config/arm/arm-modes.def:55 */ 44 #define HAVE_CC_DGTmode 45 CC_DLEUmode, /* config/arm/arm-modes.def:56 */ 46 #define HAVE_CC_DLEUmode 47 CC_DLTUmode, /* config/arm/arm-modes.def:57 */ 48 #define HAVE_CC_DLTUmode 49 CC_DGEUmode, /* config/arm/arm-modes.def:58 */ 50 #define HAVE_CC_DGEUmode 51 CC_DGTUmode, /* config/arm/arm-modes.def:59 */ 52 #define HAVE_CC_DGTUmode 53 CC_Cmode, /* config/arm/arm-modes.def:60 */ 54 #define HAVE_CC_Cmode 55 CC_Nmode, /* config/arm/arm-modes.def:61 */ 56 #define HAVE_CC_Nmode 57 BImode, /* machmode.def:179 */ 58 #define HAVE_BImode 59 QImode, /* machmode.def:187 */ 60 #define HAVE_QImode 61 HImode, /* machmode.def:188 */ 62 #define HAVE_HImode 63 SImode, /* machmode.def:189 */ 64 #define HAVE_SImode 65 DImode, /* machmode.def:190 */ 66 #define HAVE_DImode 67 TImode, /* machmode.def:191 */ 68 #define HAVE_TImode 69 EImode, /* config/arm/arm-modes.def:78 */ 70 #define HAVE_EImode 71 OImode, /* config/arm/arm-modes.def:79 */ 72 #define HAVE_OImode 73 CImode, /* config/arm/arm-modes.def:80 */ 74 #define HAVE_CImode 75 XImode, /* config/arm/arm-modes.def:81 */ 76 #define HAVE_XImode 77 QQmode, /* machmode.def:217 */ 78 #define HAVE_QQmode 79 HQmode, /* machmode.def:218 */ 80 #define HAVE_HQmode 81 SQmode, /* machmode.def:219 */ 82 #define HAVE_SQmode 83 DQmode, /* machmode.def:220 */ 84 #define HAVE_DQmode 85 TQmode, /* machmode.def:221 */ 86 #define HAVE_TQmode 87 UQQmode, /* machmode.def:223 */ 88 #define HAVE_UQQmode 89 UHQmode, /* machmode.def:224 */ 90 #define HAVE_UHQmode 91 USQmode, /* machmode.def:225 */ 92 #define HAVE_USQmode 93 UDQmode, /* machmode.def:226 */ 94 #define HAVE_UDQmode 95 UTQmode, /* machmode.def:227 */ 96 #define HAVE_UTQmode 97 HAmode, /* machmode.def:229 */ 98 #define HAVE_HAmode 99 SAmode, /* machmode.def:230 */ 100 #define HAVE_SAmode 101 DAmode, /* machmode.def:231 */ 102 #define HAVE_DAmode 103 TAmode, /* machmode.def:232 */ 104 #define HAVE_TAmode 105 UHAmode, /* machmode.def:234 */ 106 #define HAVE_UHAmode 107 USAmode, /* machmode.def:235 */ 108 #define HAVE_USAmode 109 UDAmode, /* machmode.def:236 */ 110 #define HAVE_UDAmode 111 UTAmode, /* machmode.def:237 */ 112 #define HAVE_UTAmode 113 HFmode, /* config/arm/arm-modes.def:26 */ 114 #define HAVE_HFmode 115 SFmode, /* machmode.def:209 */ 116 #define HAVE_SFmode 117 DFmode, /* machmode.def:210 */ 118 #define HAVE_DFmode 119 SDmode, /* machmode.def:249 */ 120 #define HAVE_SDmode 121 DDmode, /* machmode.def:250 */ 122 #define HAVE_DDmode 123 TDmode, /* machmode.def:251 */ 124 #define HAVE_TDmode 125 CQImode, /* machmode.def:245 */ 126 #define HAVE_CQImode 127 CHImode, /* machmode.def:245 */ 128 #define HAVE_CHImode 129 CSImode, /* machmode.def:245 */ 130 #define HAVE_CSImode 131 CDImode, /* machmode.def:245 */ 132 #define HAVE_CDImode 133 CTImode, /* machmode.def:245 */ 134 #define HAVE_CTImode 135 CEImode, /* machmode.def:245 */ 136 #define HAVE_CEImode 137 COImode, /* machmode.def:245 */ 138 #define HAVE_COImode 139 CCImode, /* machmode.def:245 */ 140 #define HAVE_CCImode 141 CXImode, /* machmode.def:245 */ 142 #define HAVE_CXImode 143 HCmode, /* machmode.def:246 */ 144 #define HAVE_HCmode 145 SCmode, /* machmode.def:246 */ 146 #define HAVE_SCmode 147 DCmode, /* machmode.def:246 */ 148 #define HAVE_DCmode 149 V4QImode, /* config/arm/arm-modes.def:64 */ 150 #define HAVE_V4QImode 151 V2HImode, /* config/arm/arm-modes.def:64 */ 152 #define HAVE_V2HImode 153 V8QImode, /* config/arm/arm-modes.def:65 */ 154 #define HAVE_V8QImode 155 V4HImode, /* config/arm/arm-modes.def:65 */ 156 #define HAVE_V4HImode 157 V2SImode, /* config/arm/arm-modes.def:65 */ 158 #define HAVE_V2SImode 159 V16QImode, /* config/arm/arm-modes.def:66 */ 160 #define HAVE_V16QImode 161 V8HImode, /* config/arm/arm-modes.def:66 */ 162 #define HAVE_V8HImode 163 V4SImode, /* config/arm/arm-modes.def:66 */ 164 #define HAVE_V4SImode 165 V2DImode, /* config/arm/arm-modes.def:66 */ 166 #define HAVE_V2DImode 167 V4QQmode, /* config/arm/arm-modes.def:71 */ 168 #define HAVE_V4QQmode 169 V2HQmode, /* config/arm/arm-modes.def:71 */ 170 #define HAVE_V2HQmode 171 V4UQQmode, /* config/arm/arm-modes.def:72 */ 172 #define HAVE_V4UQQmode 173 V2UHQmode, /* config/arm/arm-modes.def:72 */ 174 #define HAVE_V2UHQmode 175 V2HAmode, /* config/arm/arm-modes.def:73 */ 176 #define HAVE_V2HAmode 177 V2UHAmode, /* config/arm/arm-modes.def:74 */ 178 #define HAVE_V2UHAmode 179 V4HFmode, /* config/arm/arm-modes.def:67 */ 180 #define HAVE_V4HFmode 181 V2SFmode, /* config/arm/arm-modes.def:67 */ 182 #define HAVE_V2SFmode 183 V8HFmode, /* config/arm/arm-modes.def:68 */ 184 #define HAVE_V8HFmode 185 V4SFmode, /* config/arm/arm-modes.def:68 */ 186 #define HAVE_V4SFmode 187 V2DFmode, /* config/arm/arm-modes.def:68 */ 188 #define HAVE_V2DFmode 189 MAX_MACHINE_MODE, 190 191 MIN_MODE_RANDOM = VOIDmode, 192 MAX_MODE_RANDOM = BLKmode, 193 194 MIN_MODE_CC = CCmode, 195 MAX_MODE_CC = CC_Nmode, 196 197 MIN_MODE_INT = QImode, 198 MAX_MODE_INT = XImode, 199 200 MIN_MODE_PARTIAL_INT = VOIDmode, 201 MAX_MODE_PARTIAL_INT = VOIDmode, 202 203 MIN_MODE_POINTER_BOUNDS = VOIDmode, 204 MAX_MODE_POINTER_BOUNDS = VOIDmode, 205 206 MIN_MODE_FRACT = QQmode, 207 MAX_MODE_FRACT = TQmode, 208 209 MIN_MODE_UFRACT = UQQmode, 210 MAX_MODE_UFRACT = UTQmode, 211 212 MIN_MODE_ACCUM = HAmode, 213 MAX_MODE_ACCUM = TAmode, 214 215 MIN_MODE_UACCUM = UHAmode, 216 MAX_MODE_UACCUM = UTAmode, 217 218 MIN_MODE_FLOAT = HFmode, 219 MAX_MODE_FLOAT = DFmode, 220 221 MIN_MODE_DECIMAL_FLOAT = SDmode, 222 MAX_MODE_DECIMAL_FLOAT = TDmode, 223 224 MIN_MODE_COMPLEX_INT = CQImode, 225 MAX_MODE_COMPLEX_INT = CXImode, 226 227 MIN_MODE_COMPLEX_FLOAT = HCmode, 228 MAX_MODE_COMPLEX_FLOAT = DCmode, 229 230 MIN_MODE_VECTOR_INT = V4QImode, 231 MAX_MODE_VECTOR_INT = V2DImode, 232 233 MIN_MODE_VECTOR_FRACT = V4QQmode, 234 MAX_MODE_VECTOR_FRACT = V2HQmode, 235 236 MIN_MODE_VECTOR_UFRACT = V4UQQmode, 237 MAX_MODE_VECTOR_UFRACT = V2UHQmode, 238 239 MIN_MODE_VECTOR_ACCUM = V2HAmode, 240 MAX_MODE_VECTOR_ACCUM = V2HAmode, 241 242 MIN_MODE_VECTOR_UACCUM = V2UHAmode, 243 MAX_MODE_VECTOR_UACCUM = V2UHAmode, 244 245 MIN_MODE_VECTOR_FLOAT = V4HFmode, 246 MAX_MODE_VECTOR_FLOAT = V2DFmode, 247 248 NUM_MACHINE_MODES = MAX_MACHINE_MODE 249 }; 250 251 #define CONST_MODE_SIZE const 252 #define CONST_MODE_BASE_ALIGN const 253 #define CONST_MODE_IBIT const 254 #define CONST_MODE_FBIT const 255 256 #define BITS_PER_UNIT (8) 257 #define MAX_BITSIZE_MODE_ANY_INT (64*BITS_PER_UNIT) 258 #define MAX_BITSIZE_MODE_ANY_MODE (128*BITS_PER_UNIT) 259 #define NUM_INT_N_ENTS 1 260 261 #if !defined (USED_FOR_TARGET) && GCC_VERSION >= 4001 262 263 #ifdef __cplusplus 264 inline __attribute__((__always_inline__)) 265 #else 266 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 267 #endif 268 unsigned char 269 mode_size_inline (machine_mode mode) 270 { 271 extern const unsigned char mode_size[NUM_MACHINE_MODES]; 272 switch (mode) 273 { 274 case VOIDmode: return 0; 275 case BLKmode: return 0; 276 case CCmode: return 4; 277 case CC_NOOVmode: return 4; 278 case CC_Zmode: return 4; 279 case CC_CZmode: return 4; 280 case CC_NCVmode: return 4; 281 case CC_SWPmode: return 4; 282 case CCFPmode: return 4; 283 case CCFPEmode: return 4; 284 case CC_DNEmode: return 4; 285 case CC_DEQmode: return 4; 286 case CC_DLEmode: return 4; 287 case CC_DLTmode: return 4; 288 case CC_DGEmode: return 4; 289 case CC_DGTmode: return 4; 290 case CC_DLEUmode: return 4; 291 case CC_DLTUmode: return 4; 292 case CC_DGEUmode: return 4; 293 case CC_DGTUmode: return 4; 294 case CC_Cmode: return 4; 295 case CC_Nmode: return 4; 296 case BImode: return 1; 297 case QImode: return 1; 298 case HImode: return 2; 299 case SImode: return 4; 300 case DImode: return 8; 301 case TImode: return 16; 302 case EImode: return 24; 303 case OImode: return 32; 304 case CImode: return 48; 305 case XImode: return 64; 306 case QQmode: return 1; 307 case HQmode: return 2; 308 case SQmode: return 4; 309 case DQmode: return 8; 310 case TQmode: return 16; 311 case UQQmode: return 1; 312 case UHQmode: return 2; 313 case USQmode: return 4; 314 case UDQmode: return 8; 315 case UTQmode: return 16; 316 case HAmode: return 2; 317 case SAmode: return 4; 318 case DAmode: return 8; 319 case TAmode: return 16; 320 case UHAmode: return 2; 321 case USAmode: return 4; 322 case UDAmode: return 8; 323 case UTAmode: return 16; 324 case HFmode: return 2; 325 case SFmode: return 4; 326 case DFmode: return 8; 327 case SDmode: return 4; 328 case DDmode: return 8; 329 case TDmode: return 16; 330 case CQImode: return 2; 331 case CHImode: return 4; 332 case CSImode: return 8; 333 case CDImode: return 16; 334 case CTImode: return 32; 335 case CEImode: return 48; 336 case COImode: return 64; 337 case CCImode: return 96; 338 case CXImode: return 128; 339 case HCmode: return 4; 340 case SCmode: return 8; 341 case DCmode: return 16; 342 case V4QImode: return 4; 343 case V2HImode: return 4; 344 case V8QImode: return 8; 345 case V4HImode: return 8; 346 case V2SImode: return 8; 347 case V16QImode: return 16; 348 case V8HImode: return 16; 349 case V4SImode: return 16; 350 case V2DImode: return 16; 351 case V4QQmode: return 4; 352 case V2HQmode: return 4; 353 case V4UQQmode: return 4; 354 case V2UHQmode: return 4; 355 case V2HAmode: return 4; 356 case V2UHAmode: return 4; 357 case V4HFmode: return 8; 358 case V2SFmode: return 8; 359 case V8HFmode: return 16; 360 case V4SFmode: return 16; 361 case V2DFmode: return 16; 362 default: return mode_size[mode]; 363 } 364 } 365 366 #ifdef __cplusplus 367 inline __attribute__((__always_inline__)) 368 #else 369 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 370 #endif 371 unsigned char 372 mode_nunits_inline (machine_mode mode) 373 { 374 extern const unsigned char mode_nunits[NUM_MACHINE_MODES]; 375 switch (mode) 376 { 377 case VOIDmode: return 0; 378 case BLKmode: return 0; 379 case CCmode: return 1; 380 case CC_NOOVmode: return 1; 381 case CC_Zmode: return 1; 382 case CC_CZmode: return 1; 383 case CC_NCVmode: return 1; 384 case CC_SWPmode: return 1; 385 case CCFPmode: return 1; 386 case CCFPEmode: return 1; 387 case CC_DNEmode: return 1; 388 case CC_DEQmode: return 1; 389 case CC_DLEmode: return 1; 390 case CC_DLTmode: return 1; 391 case CC_DGEmode: return 1; 392 case CC_DGTmode: return 1; 393 case CC_DLEUmode: return 1; 394 case CC_DLTUmode: return 1; 395 case CC_DGEUmode: return 1; 396 case CC_DGTUmode: return 1; 397 case CC_Cmode: return 1; 398 case CC_Nmode: return 1; 399 case BImode: return 1; 400 case QImode: return 1; 401 case HImode: return 1; 402 case SImode: return 1; 403 case DImode: return 1; 404 case TImode: return 1; 405 case EImode: return 1; 406 case OImode: return 1; 407 case CImode: return 1; 408 case XImode: return 1; 409 case QQmode: return 1; 410 case HQmode: return 1; 411 case SQmode: return 1; 412 case DQmode: return 1; 413 case TQmode: return 1; 414 case UQQmode: return 1; 415 case UHQmode: return 1; 416 case USQmode: return 1; 417 case UDQmode: return 1; 418 case UTQmode: return 1; 419 case HAmode: return 1; 420 case SAmode: return 1; 421 case DAmode: return 1; 422 case TAmode: return 1; 423 case UHAmode: return 1; 424 case USAmode: return 1; 425 case UDAmode: return 1; 426 case UTAmode: return 1; 427 case HFmode: return 1; 428 case SFmode: return 1; 429 case DFmode: return 1; 430 case SDmode: return 1; 431 case DDmode: return 1; 432 case TDmode: return 1; 433 case CQImode: return 2; 434 case CHImode: return 2; 435 case CSImode: return 2; 436 case CDImode: return 2; 437 case CTImode: return 2; 438 case CEImode: return 2; 439 case COImode: return 2; 440 case CCImode: return 2; 441 case CXImode: return 2; 442 case HCmode: return 2; 443 case SCmode: return 2; 444 case DCmode: return 2; 445 case V4QImode: return 4; 446 case V2HImode: return 2; 447 case V8QImode: return 8; 448 case V4HImode: return 4; 449 case V2SImode: return 2; 450 case V16QImode: return 16; 451 case V8HImode: return 8; 452 case V4SImode: return 4; 453 case V2DImode: return 2; 454 case V4QQmode: return 4; 455 case V2HQmode: return 2; 456 case V4UQQmode: return 4; 457 case V2UHQmode: return 2; 458 case V2HAmode: return 2; 459 case V2UHAmode: return 2; 460 case V4HFmode: return 4; 461 case V2SFmode: return 2; 462 case V8HFmode: return 8; 463 case V4SFmode: return 4; 464 case V2DFmode: return 2; 465 default: return mode_nunits[mode]; 466 } 467 } 468 469 #ifdef __cplusplus 470 inline __attribute__((__always_inline__)) 471 #else 472 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 473 #endif 474 unsigned char 475 mode_inner_inline (machine_mode mode) 476 { 477 extern const unsigned char mode_inner[NUM_MACHINE_MODES]; 478 switch (mode) 479 { 480 case VOIDmode: return VOIDmode; 481 case BLKmode: return VOIDmode; 482 case CCmode: return VOIDmode; 483 case CC_NOOVmode: return VOIDmode; 484 case CC_Zmode: return VOIDmode; 485 case CC_CZmode: return VOIDmode; 486 case CC_NCVmode: return VOIDmode; 487 case CC_SWPmode: return VOIDmode; 488 case CCFPmode: return VOIDmode; 489 case CCFPEmode: return VOIDmode; 490 case CC_DNEmode: return VOIDmode; 491 case CC_DEQmode: return VOIDmode; 492 case CC_DLEmode: return VOIDmode; 493 case CC_DLTmode: return VOIDmode; 494 case CC_DGEmode: return VOIDmode; 495 case CC_DGTmode: return VOIDmode; 496 case CC_DLEUmode: return VOIDmode; 497 case CC_DLTUmode: return VOIDmode; 498 case CC_DGEUmode: return VOIDmode; 499 case CC_DGTUmode: return VOIDmode; 500 case CC_Cmode: return VOIDmode; 501 case CC_Nmode: return VOIDmode; 502 case BImode: return VOIDmode; 503 case QImode: return VOIDmode; 504 case HImode: return VOIDmode; 505 case SImode: return VOIDmode; 506 case DImode: return VOIDmode; 507 case TImode: return VOIDmode; 508 case EImode: return VOIDmode; 509 case OImode: return VOIDmode; 510 case CImode: return VOIDmode; 511 case XImode: return VOIDmode; 512 case QQmode: return VOIDmode; 513 case HQmode: return VOIDmode; 514 case SQmode: return VOIDmode; 515 case DQmode: return VOIDmode; 516 case TQmode: return VOIDmode; 517 case UQQmode: return VOIDmode; 518 case UHQmode: return VOIDmode; 519 case USQmode: return VOIDmode; 520 case UDQmode: return VOIDmode; 521 case UTQmode: return VOIDmode; 522 case HAmode: return VOIDmode; 523 case SAmode: return VOIDmode; 524 case DAmode: return VOIDmode; 525 case TAmode: return VOIDmode; 526 case UHAmode: return VOIDmode; 527 case USAmode: return VOIDmode; 528 case UDAmode: return VOIDmode; 529 case UTAmode: return VOIDmode; 530 case HFmode: return VOIDmode; 531 case SFmode: return VOIDmode; 532 case DFmode: return VOIDmode; 533 case SDmode: return VOIDmode; 534 case DDmode: return VOIDmode; 535 case TDmode: return VOIDmode; 536 case CQImode: return QImode; 537 case CHImode: return HImode; 538 case CSImode: return SImode; 539 case CDImode: return DImode; 540 case CTImode: return TImode; 541 case CEImode: return EImode; 542 case COImode: return OImode; 543 case CCImode: return CImode; 544 case CXImode: return XImode; 545 case HCmode: return HFmode; 546 case SCmode: return SFmode; 547 case DCmode: return DFmode; 548 case V4QImode: return QImode; 549 case V2HImode: return HImode; 550 case V8QImode: return QImode; 551 case V4HImode: return HImode; 552 case V2SImode: return SImode; 553 case V16QImode: return QImode; 554 case V8HImode: return HImode; 555 case V4SImode: return SImode; 556 case V2DImode: return DImode; 557 case V4QQmode: return QQmode; 558 case V2HQmode: return HQmode; 559 case V4UQQmode: return UQQmode; 560 case V2UHQmode: return UHQmode; 561 case V2HAmode: return HAmode; 562 case V2UHAmode: return UHAmode; 563 case V4HFmode: return HFmode; 564 case V2SFmode: return SFmode; 565 case V8HFmode: return HFmode; 566 case V4SFmode: return SFmode; 567 case V2DFmode: return DFmode; 568 default: return mode_inner[mode]; 569 } 570 } 571 572 #endif /* GCC_VERSION >= 4001 */ 573 574 #endif /* insn-modes.h */ 575