insn-modes.h revision 1.3
1/* This file is automatically generated. DO NOT EDIT! */ 2/* Generated from: NetBSD: mknative-gcc,v 1.99 2019/02/04 01:46:59 mrg Exp */ 3/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 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 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 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 CC_Vmode, /* config/arm/arm-modes.def:62 */ 58#define HAVE_CC_Vmode 59 BImode, /* machmode.def:179 */ 60#define HAVE_BImode 61 QImode, /* machmode.def:187 */ 62#define HAVE_QImode 63 HImode, /* machmode.def:188 */ 64#define HAVE_HImode 65 SImode, /* machmode.def:189 */ 66#define HAVE_SImode 67 DImode, /* machmode.def:190 */ 68#define HAVE_DImode 69 TImode, /* machmode.def:191 */ 70#define HAVE_TImode 71 EImode, /* config/arm/arm-modes.def:79 */ 72#define HAVE_EImode 73 OImode, /* config/arm/arm-modes.def:80 */ 74#define HAVE_OImode 75 CImode, /* config/arm/arm-modes.def:81 */ 76#define HAVE_CImode 77 XImode, /* config/arm/arm-modes.def:82 */ 78#define HAVE_XImode 79 QQmode, /* machmode.def:217 */ 80#define HAVE_QQmode 81 HQmode, /* machmode.def:218 */ 82#define HAVE_HQmode 83 SQmode, /* machmode.def:219 */ 84#define HAVE_SQmode 85 DQmode, /* machmode.def:220 */ 86#define HAVE_DQmode 87 TQmode, /* machmode.def:221 */ 88#define HAVE_TQmode 89 UQQmode, /* machmode.def:223 */ 90#define HAVE_UQQmode 91 UHQmode, /* machmode.def:224 */ 92#define HAVE_UHQmode 93 USQmode, /* machmode.def:225 */ 94#define HAVE_USQmode 95 UDQmode, /* machmode.def:226 */ 96#define HAVE_UDQmode 97 UTQmode, /* machmode.def:227 */ 98#define HAVE_UTQmode 99 HAmode, /* machmode.def:229 */ 100#define HAVE_HAmode 101 SAmode, /* machmode.def:230 */ 102#define HAVE_SAmode 103 DAmode, /* machmode.def:231 */ 104#define HAVE_DAmode 105 TAmode, /* machmode.def:232 */ 106#define HAVE_TAmode 107 UHAmode, /* machmode.def:234 */ 108#define HAVE_UHAmode 109 USAmode, /* machmode.def:235 */ 110#define HAVE_USAmode 111 UDAmode, /* machmode.def:236 */ 112#define HAVE_UDAmode 113 UTAmode, /* machmode.def:237 */ 114#define HAVE_UTAmode 115 HFmode, /* config/arm/arm-modes.def:26 */ 116#define HAVE_HFmode 117 SFmode, /* machmode.def:209 */ 118#define HAVE_SFmode 119 DFmode, /* machmode.def:210 */ 120#define HAVE_DFmode 121 SDmode, /* machmode.def:250 */ 122#define HAVE_SDmode 123 DDmode, /* machmode.def:251 */ 124#define HAVE_DDmode 125 TDmode, /* machmode.def:252 */ 126#define HAVE_TDmode 127 CQImode, /* machmode.def:245 */ 128#define HAVE_CQImode 129 CHImode, /* machmode.def:245 */ 130#define HAVE_CHImode 131 CSImode, /* machmode.def:245 */ 132#define HAVE_CSImode 133 CDImode, /* machmode.def:245 */ 134#define HAVE_CDImode 135 CTImode, /* machmode.def:245 */ 136#define HAVE_CTImode 137 CEImode, /* machmode.def:245 */ 138#define HAVE_CEImode 139 COImode, /* machmode.def:245 */ 140#define HAVE_COImode 141 CCImode, /* machmode.def:245 */ 142#define HAVE_CCImode 143 CXImode, /* machmode.def:245 */ 144#define HAVE_CXImode 145 HCmode, /* machmode.def:247 */ 146#define HAVE_HCmode 147 SCmode, /* machmode.def:247 */ 148#define HAVE_SCmode 149 DCmode, /* machmode.def:247 */ 150#define HAVE_DCmode 151 V4QImode, /* config/arm/arm-modes.def:65 */ 152#define HAVE_V4QImode 153 V2HImode, /* config/arm/arm-modes.def:65 */ 154#define HAVE_V2HImode 155 V8QImode, /* config/arm/arm-modes.def:66 */ 156#define HAVE_V8QImode 157 V4HImode, /* config/arm/arm-modes.def:66 */ 158#define HAVE_V4HImode 159 V2SImode, /* config/arm/arm-modes.def:66 */ 160#define HAVE_V2SImode 161 V16QImode, /* config/arm/arm-modes.def:67 */ 162#define HAVE_V16QImode 163 V8HImode, /* config/arm/arm-modes.def:67 */ 164#define HAVE_V8HImode 165 V4SImode, /* config/arm/arm-modes.def:67 */ 166#define HAVE_V4SImode 167 V2DImode, /* config/arm/arm-modes.def:67 */ 168#define HAVE_V2DImode 169 V4QQmode, /* config/arm/arm-modes.def:72 */ 170#define HAVE_V4QQmode 171 V2HQmode, /* config/arm/arm-modes.def:72 */ 172#define HAVE_V2HQmode 173 V4UQQmode, /* config/arm/arm-modes.def:73 */ 174#define HAVE_V4UQQmode 175 V2UHQmode, /* config/arm/arm-modes.def:73 */ 176#define HAVE_V2UHQmode 177 V2HAmode, /* config/arm/arm-modes.def:74 */ 178#define HAVE_V2HAmode 179 V2UHAmode, /* config/arm/arm-modes.def:75 */ 180#define HAVE_V2UHAmode 181 V4HFmode, /* config/arm/arm-modes.def:68 */ 182#define HAVE_V4HFmode 183 V2SFmode, /* config/arm/arm-modes.def:68 */ 184#define HAVE_V2SFmode 185 V8HFmode, /* config/arm/arm-modes.def:69 */ 186#define HAVE_V8HFmode 187 V4SFmode, /* config/arm/arm-modes.def:69 */ 188#define HAVE_V4SFmode 189 V2DFmode, /* config/arm/arm-modes.def:69 */ 190#define HAVE_V2DFmode 191 MAX_MACHINE_MODE, 192 193 MIN_MODE_RANDOM = VOIDmode, 194 MAX_MODE_RANDOM = BLKmode, 195 196 MIN_MODE_CC = CCmode, 197 MAX_MODE_CC = CC_Vmode, 198 199 MIN_MODE_INT = QImode, 200 MAX_MODE_INT = XImode, 201 202 MIN_MODE_PARTIAL_INT = VOIDmode, 203 MAX_MODE_PARTIAL_INT = VOIDmode, 204 205 MIN_MODE_POINTER_BOUNDS = VOIDmode, 206 MAX_MODE_POINTER_BOUNDS = VOIDmode, 207 208 MIN_MODE_FRACT = QQmode, 209 MAX_MODE_FRACT = TQmode, 210 211 MIN_MODE_UFRACT = UQQmode, 212 MAX_MODE_UFRACT = UTQmode, 213 214 MIN_MODE_ACCUM = HAmode, 215 MAX_MODE_ACCUM = TAmode, 216 217 MIN_MODE_UACCUM = UHAmode, 218 MAX_MODE_UACCUM = UTAmode, 219 220 MIN_MODE_FLOAT = HFmode, 221 MAX_MODE_FLOAT = DFmode, 222 223 MIN_MODE_DECIMAL_FLOAT = SDmode, 224 MAX_MODE_DECIMAL_FLOAT = TDmode, 225 226 MIN_MODE_COMPLEX_INT = CQImode, 227 MAX_MODE_COMPLEX_INT = CXImode, 228 229 MIN_MODE_COMPLEX_FLOAT = HCmode, 230 MAX_MODE_COMPLEX_FLOAT = DCmode, 231 232 MIN_MODE_VECTOR_INT = V4QImode, 233 MAX_MODE_VECTOR_INT = V2DImode, 234 235 MIN_MODE_VECTOR_FRACT = V4QQmode, 236 MAX_MODE_VECTOR_FRACT = V2HQmode, 237 238 MIN_MODE_VECTOR_UFRACT = V4UQQmode, 239 MAX_MODE_VECTOR_UFRACT = V2UHQmode, 240 241 MIN_MODE_VECTOR_ACCUM = V2HAmode, 242 MAX_MODE_VECTOR_ACCUM = V2HAmode, 243 244 MIN_MODE_VECTOR_UACCUM = V2UHAmode, 245 MAX_MODE_VECTOR_UACCUM = V2UHAmode, 246 247 MIN_MODE_VECTOR_FLOAT = V4HFmode, 248 MAX_MODE_VECTOR_FLOAT = V2DFmode, 249 250 NUM_MACHINE_MODES = MAX_MACHINE_MODE 251}; 252 253#define CONST_MODE_SIZE const 254#define CONST_MODE_UNIT_SIZE const 255#define CONST_MODE_BASE_ALIGN const 256#define CONST_MODE_IBIT const 257#define CONST_MODE_FBIT const 258 259#define BITS_PER_UNIT (8) 260#define MAX_BITSIZE_MODE_ANY_INT (64*BITS_PER_UNIT) 261#define MAX_BITSIZE_MODE_ANY_MODE (128*BITS_PER_UNIT) 262#define NUM_INT_N_ENTS 1 263 264#if !defined (USED_FOR_TARGET) && GCC_VERSION >= 4001 265 266#ifdef __cplusplus 267inline __attribute__((__always_inline__)) 268#else 269extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 270#endif 271unsigned short 272mode_size_inline (machine_mode mode) 273{ 274 extern const unsigned short mode_size[NUM_MACHINE_MODES]; 275 gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES); 276 switch (mode) 277 { 278 case VOIDmode: return 0; 279 case BLKmode: return 0; 280 case CCmode: return 4; 281 case CC_NOOVmode: return 4; 282 case CC_Zmode: return 4; 283 case CC_CZmode: return 4; 284 case CC_NCVmode: return 4; 285 case CC_SWPmode: return 4; 286 case CCFPmode: return 4; 287 case CCFPEmode: return 4; 288 case CC_DNEmode: return 4; 289 case CC_DEQmode: return 4; 290 case CC_DLEmode: return 4; 291 case CC_DLTmode: return 4; 292 case CC_DGEmode: return 4; 293 case CC_DGTmode: return 4; 294 case CC_DLEUmode: return 4; 295 case CC_DLTUmode: return 4; 296 case CC_DGEUmode: return 4; 297 case CC_DGTUmode: return 4; 298 case CC_Cmode: return 4; 299 case CC_Nmode: return 4; 300 case CC_Vmode: return 4; 301 case BImode: return 1; 302 case QImode: return 1; 303 case HImode: return 2; 304 case SImode: return 4; 305 case DImode: return 8; 306 case TImode: return 16; 307 case EImode: return 24; 308 case OImode: return 32; 309 case CImode: return 48; 310 case XImode: return 64; 311 case QQmode: return 1; 312 case HQmode: return 2; 313 case SQmode: return 4; 314 case DQmode: return 8; 315 case TQmode: return 16; 316 case UQQmode: return 1; 317 case UHQmode: return 2; 318 case USQmode: return 4; 319 case UDQmode: return 8; 320 case UTQmode: return 16; 321 case HAmode: return 2; 322 case SAmode: return 4; 323 case DAmode: return 8; 324 case TAmode: return 16; 325 case UHAmode: return 2; 326 case USAmode: return 4; 327 case UDAmode: return 8; 328 case UTAmode: return 16; 329 case HFmode: return 2; 330 case SFmode: return 4; 331 case DFmode: return 8; 332 case SDmode: return 4; 333 case DDmode: return 8; 334 case TDmode: return 16; 335 case CQImode: return 2; 336 case CHImode: return 4; 337 case CSImode: return 8; 338 case CDImode: return 16; 339 case CTImode: return 32; 340 case CEImode: return 48; 341 case COImode: return 64; 342 case CCImode: return 96; 343 case CXImode: return 128; 344 case HCmode: return 4; 345 case SCmode: return 8; 346 case DCmode: return 16; 347 case V4QImode: return 4; 348 case V2HImode: return 4; 349 case V8QImode: return 8; 350 case V4HImode: return 8; 351 case V2SImode: return 8; 352 case V16QImode: return 16; 353 case V8HImode: return 16; 354 case V4SImode: return 16; 355 case V2DImode: return 16; 356 case V4QQmode: return 4; 357 case V2HQmode: return 4; 358 case V4UQQmode: return 4; 359 case V2UHQmode: return 4; 360 case V2HAmode: return 4; 361 case V2UHAmode: return 4; 362 case V4HFmode: return 8; 363 case V2SFmode: return 8; 364 case V8HFmode: return 16; 365 case V4SFmode: return 16; 366 case V2DFmode: return 16; 367 default: return mode_size[mode]; 368 } 369} 370 371#ifdef __cplusplus 372inline __attribute__((__always_inline__)) 373#else 374extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 375#endif 376unsigned char 377mode_nunits_inline (machine_mode mode) 378{ 379 extern const unsigned char mode_nunits[NUM_MACHINE_MODES]; 380 gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES); 381 switch (mode) 382 { 383 case VOIDmode: return 0; 384 case BLKmode: return 0; 385 case CCmode: return 1; 386 case CC_NOOVmode: return 1; 387 case CC_Zmode: return 1; 388 case CC_CZmode: return 1; 389 case CC_NCVmode: return 1; 390 case CC_SWPmode: return 1; 391 case CCFPmode: return 1; 392 case CCFPEmode: return 1; 393 case CC_DNEmode: return 1; 394 case CC_DEQmode: return 1; 395 case CC_DLEmode: return 1; 396 case CC_DLTmode: return 1; 397 case CC_DGEmode: return 1; 398 case CC_DGTmode: return 1; 399 case CC_DLEUmode: return 1; 400 case CC_DLTUmode: return 1; 401 case CC_DGEUmode: return 1; 402 case CC_DGTUmode: return 1; 403 case CC_Cmode: return 1; 404 case CC_Nmode: return 1; 405 case CC_Vmode: return 1; 406 case BImode: return 1; 407 case QImode: return 1; 408 case HImode: return 1; 409 case SImode: return 1; 410 case DImode: return 1; 411 case TImode: return 1; 412 case EImode: return 1; 413 case OImode: return 1; 414 case CImode: return 1; 415 case XImode: return 1; 416 case QQmode: return 1; 417 case HQmode: return 1; 418 case SQmode: return 1; 419 case DQmode: return 1; 420 case TQmode: return 1; 421 case UQQmode: return 1; 422 case UHQmode: return 1; 423 case USQmode: return 1; 424 case UDQmode: return 1; 425 case UTQmode: return 1; 426 case HAmode: return 1; 427 case SAmode: return 1; 428 case DAmode: return 1; 429 case TAmode: return 1; 430 case UHAmode: return 1; 431 case USAmode: return 1; 432 case UDAmode: return 1; 433 case UTAmode: return 1; 434 case HFmode: return 1; 435 case SFmode: return 1; 436 case DFmode: return 1; 437 case SDmode: return 1; 438 case DDmode: return 1; 439 case TDmode: return 1; 440 case CQImode: return 2; 441 case CHImode: return 2; 442 case CSImode: return 2; 443 case CDImode: return 2; 444 case CTImode: return 2; 445 case CEImode: return 2; 446 case COImode: return 2; 447 case CCImode: return 2; 448 case CXImode: return 2; 449 case HCmode: return 2; 450 case SCmode: return 2; 451 case DCmode: return 2; 452 case V4QImode: return 4; 453 case V2HImode: return 2; 454 case V8QImode: return 8; 455 case V4HImode: return 4; 456 case V2SImode: return 2; 457 case V16QImode: return 16; 458 case V8HImode: return 8; 459 case V4SImode: return 4; 460 case V2DImode: return 2; 461 case V4QQmode: return 4; 462 case V2HQmode: return 2; 463 case V4UQQmode: return 4; 464 case V2UHQmode: return 2; 465 case V2HAmode: return 2; 466 case V2UHAmode: return 2; 467 case V4HFmode: return 4; 468 case V2SFmode: return 2; 469 case V8HFmode: return 8; 470 case V4SFmode: return 4; 471 case V2DFmode: return 2; 472 default: return mode_nunits[mode]; 473 } 474} 475 476#ifdef __cplusplus 477inline __attribute__((__always_inline__)) 478#else 479extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 480#endif 481unsigned char 482mode_inner_inline (machine_mode mode) 483{ 484 extern const unsigned char mode_inner[NUM_MACHINE_MODES]; 485 gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES); 486 switch (mode) 487 { 488 case VOIDmode: return VOIDmode; 489 case BLKmode: return BLKmode; 490 case CCmode: return CCmode; 491 case CC_NOOVmode: return CC_NOOVmode; 492 case CC_Zmode: return CC_Zmode; 493 case CC_CZmode: return CC_CZmode; 494 case CC_NCVmode: return CC_NCVmode; 495 case CC_SWPmode: return CC_SWPmode; 496 case CCFPmode: return CCFPmode; 497 case CCFPEmode: return CCFPEmode; 498 case CC_DNEmode: return CC_DNEmode; 499 case CC_DEQmode: return CC_DEQmode; 500 case CC_DLEmode: return CC_DLEmode; 501 case CC_DLTmode: return CC_DLTmode; 502 case CC_DGEmode: return CC_DGEmode; 503 case CC_DGTmode: return CC_DGTmode; 504 case CC_DLEUmode: return CC_DLEUmode; 505 case CC_DLTUmode: return CC_DLTUmode; 506 case CC_DGEUmode: return CC_DGEUmode; 507 case CC_DGTUmode: return CC_DGTUmode; 508 case CC_Cmode: return CC_Cmode; 509 case CC_Nmode: return CC_Nmode; 510 case CC_Vmode: return CC_Vmode; 511 case BImode: return BImode; 512 case QImode: return QImode; 513 case HImode: return HImode; 514 case SImode: return SImode; 515 case DImode: return DImode; 516 case TImode: return TImode; 517 case EImode: return EImode; 518 case OImode: return OImode; 519 case CImode: return CImode; 520 case XImode: return XImode; 521 case QQmode: return QQmode; 522 case HQmode: return HQmode; 523 case SQmode: return SQmode; 524 case DQmode: return DQmode; 525 case TQmode: return TQmode; 526 case UQQmode: return UQQmode; 527 case UHQmode: return UHQmode; 528 case USQmode: return USQmode; 529 case UDQmode: return UDQmode; 530 case UTQmode: return UTQmode; 531 case HAmode: return HAmode; 532 case SAmode: return SAmode; 533 case DAmode: return DAmode; 534 case TAmode: return TAmode; 535 case UHAmode: return UHAmode; 536 case USAmode: return USAmode; 537 case UDAmode: return UDAmode; 538 case UTAmode: return UTAmode; 539 case HFmode: return HFmode; 540 case SFmode: return SFmode; 541 case DFmode: return DFmode; 542 case SDmode: return SDmode; 543 case DDmode: return DDmode; 544 case TDmode: return TDmode; 545 case CQImode: return QImode; 546 case CHImode: return HImode; 547 case CSImode: return SImode; 548 case CDImode: return DImode; 549 case CTImode: return TImode; 550 case CEImode: return EImode; 551 case COImode: return OImode; 552 case CCImode: return CImode; 553 case CXImode: return XImode; 554 case HCmode: return HFmode; 555 case SCmode: return SFmode; 556 case DCmode: return DFmode; 557 case V4QImode: return QImode; 558 case V2HImode: return HImode; 559 case V8QImode: return QImode; 560 case V4HImode: return HImode; 561 case V2SImode: return SImode; 562 case V16QImode: return QImode; 563 case V8HImode: return HImode; 564 case V4SImode: return SImode; 565 case V2DImode: return DImode; 566 case V4QQmode: return QQmode; 567 case V2HQmode: return HQmode; 568 case V4UQQmode: return UQQmode; 569 case V2UHQmode: return UHQmode; 570 case V2HAmode: return HAmode; 571 case V2UHAmode: return UHAmode; 572 case V4HFmode: return HFmode; 573 case V2SFmode: return SFmode; 574 case V8HFmode: return HFmode; 575 case V4SFmode: return SFmode; 576 case V2DFmode: return DFmode; 577 default: return mode_inner[mode]; 578 } 579} 580 581#ifdef __cplusplus 582inline __attribute__((__always_inline__)) 583#else 584extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 585#endif 586unsigned char 587mode_unit_size_inline (machine_mode mode) 588{ 589 extern CONST_MODE_UNIT_SIZE unsigned char mode_unit_size[NUM_MACHINE_MODES]; 590 gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES); 591 switch (mode) 592 { 593 case VOIDmode: return 0; 594 case BLKmode: return 0; 595 case CCmode: return 4; 596 case CC_NOOVmode: return 4; 597 case CC_Zmode: return 4; 598 case CC_CZmode: return 4; 599 case CC_NCVmode: return 4; 600 case CC_SWPmode: return 4; 601 case CCFPmode: return 4; 602 case CCFPEmode: return 4; 603 case CC_DNEmode: return 4; 604 case CC_DEQmode: return 4; 605 case CC_DLEmode: return 4; 606 case CC_DLTmode: return 4; 607 case CC_DGEmode: return 4; 608 case CC_DGTmode: return 4; 609 case CC_DLEUmode: return 4; 610 case CC_DLTUmode: return 4; 611 case CC_DGEUmode: return 4; 612 case CC_DGTUmode: return 4; 613 case CC_Cmode: return 4; 614 case CC_Nmode: return 4; 615 case CC_Vmode: return 4; 616 case BImode: return 1; 617 case QImode: return 1; 618 case HImode: return 2; 619 case SImode: return 4; 620 case DImode: return 8; 621 case TImode: return 16; 622 case EImode: return 24; 623 case OImode: return 32; 624 case CImode: return 48; 625 case XImode: return 64; 626 case QQmode: return 1; 627 case HQmode: return 2; 628 case SQmode: return 4; 629 case DQmode: return 8; 630 case TQmode: return 16; 631 case UQQmode: return 1; 632 case UHQmode: return 2; 633 case USQmode: return 4; 634 case UDQmode: return 8; 635 case UTQmode: return 16; 636 case HAmode: return 2; 637 case SAmode: return 4; 638 case DAmode: return 8; 639 case TAmode: return 16; 640 case UHAmode: return 2; 641 case USAmode: return 4; 642 case UDAmode: return 8; 643 case UTAmode: return 16; 644 case HFmode: return 2; 645 case SFmode: return 4; 646 case DFmode: return 8; 647 case SDmode: return 4; 648 case DDmode: return 8; 649 case TDmode: return 16; 650 case CQImode: return 1; 651 case CHImode: return 2; 652 case CSImode: return 4; 653 case CDImode: return 8; 654 case CTImode: return 16; 655 case CEImode: return 24; 656 case COImode: return 32; 657 case CCImode: return 48; 658 case CXImode: return 64; 659 case HCmode: return 2; 660 case SCmode: return 4; 661 case DCmode: return 8; 662 case V4QImode: return 1; 663 case V2HImode: return 2; 664 case V8QImode: return 1; 665 case V4HImode: return 2; 666 case V2SImode: return 4; 667 case V16QImode: return 1; 668 case V8HImode: return 2; 669 case V4SImode: return 4; 670 case V2DImode: return 8; 671 case V4QQmode: return 1; 672 case V2HQmode: return 2; 673 case V4UQQmode: return 1; 674 case V2UHQmode: return 2; 675 case V2HAmode: return 2; 676 case V2UHAmode: return 2; 677 case V4HFmode: return 2; 678 case V2SFmode: return 4; 679 case V8HFmode: return 2; 680 case V4SFmode: return 4; 681 case V2DFmode: return 8; 682 default: return mode_unit_size[mode]; 683 } 684} 685 686#ifdef __cplusplus 687inline __attribute__((__always_inline__)) 688#else 689extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 690#endif 691unsigned short 692mode_unit_precision_inline (machine_mode mode) 693{ 694 extern const unsigned short mode_unit_precision[NUM_MACHINE_MODES]; 695 gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES); 696 switch (mode) 697 { 698 case VOIDmode: return 0; 699 case BLKmode: return 0; 700 case CCmode: return 4*BITS_PER_UNIT; 701 case CC_NOOVmode: return 4*BITS_PER_UNIT; 702 case CC_Zmode: return 4*BITS_PER_UNIT; 703 case CC_CZmode: return 4*BITS_PER_UNIT; 704 case CC_NCVmode: return 4*BITS_PER_UNIT; 705 case CC_SWPmode: return 4*BITS_PER_UNIT; 706 case CCFPmode: return 4*BITS_PER_UNIT; 707 case CCFPEmode: return 4*BITS_PER_UNIT; 708 case CC_DNEmode: return 4*BITS_PER_UNIT; 709 case CC_DEQmode: return 4*BITS_PER_UNIT; 710 case CC_DLEmode: return 4*BITS_PER_UNIT; 711 case CC_DLTmode: return 4*BITS_PER_UNIT; 712 case CC_DGEmode: return 4*BITS_PER_UNIT; 713 case CC_DGTmode: return 4*BITS_PER_UNIT; 714 case CC_DLEUmode: return 4*BITS_PER_UNIT; 715 case CC_DLTUmode: return 4*BITS_PER_UNIT; 716 case CC_DGEUmode: return 4*BITS_PER_UNIT; 717 case CC_DGTUmode: return 4*BITS_PER_UNIT; 718 case CC_Cmode: return 4*BITS_PER_UNIT; 719 case CC_Nmode: return 4*BITS_PER_UNIT; 720 case CC_Vmode: return 4*BITS_PER_UNIT; 721 case BImode: return 1; 722 case QImode: return 1*BITS_PER_UNIT; 723 case HImode: return 2*BITS_PER_UNIT; 724 case SImode: return 4*BITS_PER_UNIT; 725 case DImode: return 8*BITS_PER_UNIT; 726 case TImode: return 16*BITS_PER_UNIT; 727 case EImode: return 24*BITS_PER_UNIT; 728 case OImode: return 32*BITS_PER_UNIT; 729 case CImode: return 48*BITS_PER_UNIT; 730 case XImode: return 64*BITS_PER_UNIT; 731 case QQmode: return 1*BITS_PER_UNIT; 732 case HQmode: return 2*BITS_PER_UNIT; 733 case SQmode: return 4*BITS_PER_UNIT; 734 case DQmode: return 8*BITS_PER_UNIT; 735 case TQmode: return 16*BITS_PER_UNIT; 736 case UQQmode: return 1*BITS_PER_UNIT; 737 case UHQmode: return 2*BITS_PER_UNIT; 738 case USQmode: return 4*BITS_PER_UNIT; 739 case UDQmode: return 8*BITS_PER_UNIT; 740 case UTQmode: return 16*BITS_PER_UNIT; 741 case HAmode: return 2*BITS_PER_UNIT; 742 case SAmode: return 4*BITS_PER_UNIT; 743 case DAmode: return 8*BITS_PER_UNIT; 744 case TAmode: return 16*BITS_PER_UNIT; 745 case UHAmode: return 2*BITS_PER_UNIT; 746 case USAmode: return 4*BITS_PER_UNIT; 747 case UDAmode: return 8*BITS_PER_UNIT; 748 case UTAmode: return 16*BITS_PER_UNIT; 749 case HFmode: return 2*BITS_PER_UNIT; 750 case SFmode: return 4*BITS_PER_UNIT; 751 case DFmode: return 8*BITS_PER_UNIT; 752 case SDmode: return 4*BITS_PER_UNIT; 753 case DDmode: return 8*BITS_PER_UNIT; 754 case TDmode: return 16*BITS_PER_UNIT; 755 case CQImode: return 1*BITS_PER_UNIT; 756 case CHImode: return 2*BITS_PER_UNIT; 757 case CSImode: return 4*BITS_PER_UNIT; 758 case CDImode: return 8*BITS_PER_UNIT; 759 case CTImode: return 16*BITS_PER_UNIT; 760 case CEImode: return 24*BITS_PER_UNIT; 761 case COImode: return 32*BITS_PER_UNIT; 762 case CCImode: return 48*BITS_PER_UNIT; 763 case CXImode: return 64*BITS_PER_UNIT; 764 case HCmode: return 2*BITS_PER_UNIT; 765 case SCmode: return 4*BITS_PER_UNIT; 766 case DCmode: return 8*BITS_PER_UNIT; 767 case V4QImode: return 1*BITS_PER_UNIT; 768 case V2HImode: return 2*BITS_PER_UNIT; 769 case V8QImode: return 1*BITS_PER_UNIT; 770 case V4HImode: return 2*BITS_PER_UNIT; 771 case V2SImode: return 4*BITS_PER_UNIT; 772 case V16QImode: return 1*BITS_PER_UNIT; 773 case V8HImode: return 2*BITS_PER_UNIT; 774 case V4SImode: return 4*BITS_PER_UNIT; 775 case V2DImode: return 8*BITS_PER_UNIT; 776 case V4QQmode: return 1*BITS_PER_UNIT; 777 case V2HQmode: return 2*BITS_PER_UNIT; 778 case V4UQQmode: return 1*BITS_PER_UNIT; 779 case V2UHQmode: return 2*BITS_PER_UNIT; 780 case V2HAmode: return 2*BITS_PER_UNIT; 781 case V2UHAmode: return 2*BITS_PER_UNIT; 782 case V4HFmode: return 2*BITS_PER_UNIT; 783 case V2SFmode: return 4*BITS_PER_UNIT; 784 case V8HFmode: return 2*BITS_PER_UNIT; 785 case V4SFmode: return 4*BITS_PER_UNIT; 786 case V2DFmode: return 8*BITS_PER_UNIT; 787 default: return mode_unit_precision[mode]; 788 } 789} 790 791#endif /* GCC_VERSION >= 4001 */ 792 793#endif /* insn-modes.h */ 794