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