1 /* This file is automatically generated. DO NOT EDIT! */ 2 /* Generated from: NetBSD: mknative-gcc,v 1.92 2018/02/06 07:04:01 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/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_UNIT_SIZE const 253 #define CONST_MODE_BASE_ALIGN const 254 #define CONST_MODE_IBIT const 255 #define CONST_MODE_FBIT const 256 257 #define BITS_PER_UNIT (8) 258 #define MAX_BITSIZE_MODE_ANY_INT (64*BITS_PER_UNIT) 259 #define MAX_BITSIZE_MODE_ANY_MODE (128*BITS_PER_UNIT) 260 #define NUM_INT_N_ENTS 1 261 262 #if !defined (USED_FOR_TARGET) && GCC_VERSION >= 4001 263 264 #ifdef __cplusplus 265 inline __attribute__((__always_inline__)) 266 #else 267 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 268 #endif 269 unsigned char 270 mode_size_inline (machine_mode mode) 271 { 272 extern const unsigned char mode_size[NUM_MACHINE_MODES]; 273 switch (mode) 274 { 275 case VOIDmode: return 0; 276 case BLKmode: return 0; 277 case CCmode: return 4; 278 case CC_NOOVmode: return 4; 279 case CC_Zmode: return 4; 280 case CC_CZmode: return 4; 281 case CC_NCVmode: return 4; 282 case CC_SWPmode: return 4; 283 case CCFPmode: return 4; 284 case CCFPEmode: return 4; 285 case CC_DNEmode: return 4; 286 case CC_DEQmode: return 4; 287 case CC_DLEmode: return 4; 288 case CC_DLTmode: return 4; 289 case CC_DGEmode: return 4; 290 case CC_DGTmode: return 4; 291 case CC_DLEUmode: return 4; 292 case CC_DLTUmode: return 4; 293 case CC_DGEUmode: return 4; 294 case CC_DGTUmode: return 4; 295 case CC_Cmode: return 4; 296 case CC_Nmode: return 4; 297 case BImode: return 1; 298 case QImode: return 1; 299 case HImode: return 2; 300 case SImode: return 4; 301 case DImode: return 8; 302 case TImode: return 16; 303 case EImode: return 24; 304 case OImode: return 32; 305 case CImode: return 48; 306 case XImode: return 64; 307 case QQmode: return 1; 308 case HQmode: return 2; 309 case SQmode: return 4; 310 case DQmode: return 8; 311 case TQmode: return 16; 312 case UQQmode: return 1; 313 case UHQmode: return 2; 314 case USQmode: return 4; 315 case UDQmode: return 8; 316 case UTQmode: return 16; 317 case HAmode: return 2; 318 case SAmode: return 4; 319 case DAmode: return 8; 320 case TAmode: return 16; 321 case UHAmode: return 2; 322 case USAmode: return 4; 323 case UDAmode: return 8; 324 case UTAmode: return 16; 325 case HFmode: return 2; 326 case SFmode: return 4; 327 case DFmode: return 8; 328 case SDmode: return 4; 329 case DDmode: return 8; 330 case TDmode: return 16; 331 case CQImode: return 2; 332 case CHImode: return 4; 333 case CSImode: return 8; 334 case CDImode: return 16; 335 case CTImode: return 32; 336 case CEImode: return 48; 337 case COImode: return 64; 338 case CCImode: return 96; 339 case CXImode: return 128; 340 case HCmode: return 4; 341 case SCmode: return 8; 342 case DCmode: return 16; 343 case V4QImode: return 4; 344 case V2HImode: return 4; 345 case V8QImode: return 8; 346 case V4HImode: return 8; 347 case V2SImode: return 8; 348 case V16QImode: return 16; 349 case V8HImode: return 16; 350 case V4SImode: return 16; 351 case V2DImode: return 16; 352 case V4QQmode: return 4; 353 case V2HQmode: return 4; 354 case V4UQQmode: return 4; 355 case V2UHQmode: return 4; 356 case V2HAmode: return 4; 357 case V2UHAmode: return 4; 358 case V4HFmode: return 8; 359 case V2SFmode: return 8; 360 case V8HFmode: return 16; 361 case V4SFmode: return 16; 362 case V2DFmode: return 16; 363 default: return mode_size[mode]; 364 } 365 } 366 367 #ifdef __cplusplus 368 inline __attribute__((__always_inline__)) 369 #else 370 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 371 #endif 372 unsigned char 373 mode_nunits_inline (machine_mode mode) 374 { 375 extern const unsigned char mode_nunits[NUM_MACHINE_MODES]; 376 switch (mode) 377 { 378 case VOIDmode: return 0; 379 case BLKmode: return 0; 380 case CCmode: return 1; 381 case CC_NOOVmode: return 1; 382 case CC_Zmode: return 1; 383 case CC_CZmode: return 1; 384 case CC_NCVmode: return 1; 385 case CC_SWPmode: return 1; 386 case CCFPmode: return 1; 387 case CCFPEmode: return 1; 388 case CC_DNEmode: return 1; 389 case CC_DEQmode: return 1; 390 case CC_DLEmode: return 1; 391 case CC_DLTmode: return 1; 392 case CC_DGEmode: return 1; 393 case CC_DGTmode: return 1; 394 case CC_DLEUmode: return 1; 395 case CC_DLTUmode: return 1; 396 case CC_DGEUmode: return 1; 397 case CC_DGTUmode: return 1; 398 case CC_Cmode: return 1; 399 case CC_Nmode: return 1; 400 case BImode: return 1; 401 case QImode: return 1; 402 case HImode: return 1; 403 case SImode: return 1; 404 case DImode: return 1; 405 case TImode: return 1; 406 case EImode: return 1; 407 case OImode: return 1; 408 case CImode: return 1; 409 case XImode: return 1; 410 case QQmode: return 1; 411 case HQmode: return 1; 412 case SQmode: return 1; 413 case DQmode: return 1; 414 case TQmode: return 1; 415 case UQQmode: return 1; 416 case UHQmode: return 1; 417 case USQmode: return 1; 418 case UDQmode: return 1; 419 case UTQmode: return 1; 420 case HAmode: return 1; 421 case SAmode: return 1; 422 case DAmode: return 1; 423 case TAmode: return 1; 424 case UHAmode: return 1; 425 case USAmode: return 1; 426 case UDAmode: return 1; 427 case UTAmode: return 1; 428 case HFmode: return 1; 429 case SFmode: return 1; 430 case DFmode: return 1; 431 case SDmode: return 1; 432 case DDmode: return 1; 433 case TDmode: return 1; 434 case CQImode: return 2; 435 case CHImode: return 2; 436 case CSImode: return 2; 437 case CDImode: return 2; 438 case CTImode: return 2; 439 case CEImode: return 2; 440 case COImode: return 2; 441 case CCImode: return 2; 442 case CXImode: return 2; 443 case HCmode: return 2; 444 case SCmode: return 2; 445 case DCmode: return 2; 446 case V4QImode: return 4; 447 case V2HImode: return 2; 448 case V8QImode: return 8; 449 case V4HImode: return 4; 450 case V2SImode: return 2; 451 case V16QImode: return 16; 452 case V8HImode: return 8; 453 case V4SImode: return 4; 454 case V2DImode: return 2; 455 case V4QQmode: return 4; 456 case V2HQmode: return 2; 457 case V4UQQmode: return 4; 458 case V2UHQmode: return 2; 459 case V2HAmode: return 2; 460 case V2UHAmode: return 2; 461 case V4HFmode: return 4; 462 case V2SFmode: return 2; 463 case V8HFmode: return 8; 464 case V4SFmode: return 4; 465 case V2DFmode: return 2; 466 default: return mode_nunits[mode]; 467 } 468 } 469 470 #ifdef __cplusplus 471 inline __attribute__((__always_inline__)) 472 #else 473 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 474 #endif 475 unsigned char 476 mode_inner_inline (machine_mode mode) 477 { 478 extern const unsigned char mode_inner[NUM_MACHINE_MODES]; 479 switch (mode) 480 { 481 case VOIDmode: return VOIDmode; 482 case BLKmode: return BLKmode; 483 case CCmode: return CCmode; 484 case CC_NOOVmode: return CC_NOOVmode; 485 case CC_Zmode: return CC_Zmode; 486 case CC_CZmode: return CC_CZmode; 487 case CC_NCVmode: return CC_NCVmode; 488 case CC_SWPmode: return CC_SWPmode; 489 case CCFPmode: return CCFPmode; 490 case CCFPEmode: return CCFPEmode; 491 case CC_DNEmode: return CC_DNEmode; 492 case CC_DEQmode: return CC_DEQmode; 493 case CC_DLEmode: return CC_DLEmode; 494 case CC_DLTmode: return CC_DLTmode; 495 case CC_DGEmode: return CC_DGEmode; 496 case CC_DGTmode: return CC_DGTmode; 497 case CC_DLEUmode: return CC_DLEUmode; 498 case CC_DLTUmode: return CC_DLTUmode; 499 case CC_DGEUmode: return CC_DGEUmode; 500 case CC_DGTUmode: return CC_DGTUmode; 501 case CC_Cmode: return CC_Cmode; 502 case CC_Nmode: return CC_Nmode; 503 case BImode: return BImode; 504 case QImode: return QImode; 505 case HImode: return HImode; 506 case SImode: return SImode; 507 case DImode: return DImode; 508 case TImode: return TImode; 509 case EImode: return EImode; 510 case OImode: return OImode; 511 case CImode: return CImode; 512 case XImode: return XImode; 513 case QQmode: return QQmode; 514 case HQmode: return HQmode; 515 case SQmode: return SQmode; 516 case DQmode: return DQmode; 517 case TQmode: return TQmode; 518 case UQQmode: return UQQmode; 519 case UHQmode: return UHQmode; 520 case USQmode: return USQmode; 521 case UDQmode: return UDQmode; 522 case UTQmode: return UTQmode; 523 case HAmode: return HAmode; 524 case SAmode: return SAmode; 525 case DAmode: return DAmode; 526 case TAmode: return TAmode; 527 case UHAmode: return UHAmode; 528 case USAmode: return USAmode; 529 case UDAmode: return UDAmode; 530 case UTAmode: return UTAmode; 531 case HFmode: return HFmode; 532 case SFmode: return SFmode; 533 case DFmode: return DFmode; 534 case SDmode: return SDmode; 535 case DDmode: return DDmode; 536 case TDmode: return TDmode; 537 case CQImode: return QImode; 538 case CHImode: return HImode; 539 case CSImode: return SImode; 540 case CDImode: return DImode; 541 case CTImode: return TImode; 542 case CEImode: return EImode; 543 case COImode: return OImode; 544 case CCImode: return CImode; 545 case CXImode: return XImode; 546 case HCmode: return HFmode; 547 case SCmode: return SFmode; 548 case DCmode: return DFmode; 549 case V4QImode: return QImode; 550 case V2HImode: return HImode; 551 case V8QImode: return QImode; 552 case V4HImode: return HImode; 553 case V2SImode: return SImode; 554 case V16QImode: return QImode; 555 case V8HImode: return HImode; 556 case V4SImode: return SImode; 557 case V2DImode: return DImode; 558 case V4QQmode: return QQmode; 559 case V2HQmode: return HQmode; 560 case V4UQQmode: return UQQmode; 561 case V2UHQmode: return UHQmode; 562 case V2HAmode: return HAmode; 563 case V2UHAmode: return UHAmode; 564 case V4HFmode: return HFmode; 565 case V2SFmode: return SFmode; 566 case V8HFmode: return HFmode; 567 case V4SFmode: return SFmode; 568 case V2DFmode: return DFmode; 569 default: return mode_inner[mode]; 570 } 571 } 572 573 #ifdef __cplusplus 574 inline __attribute__((__always_inline__)) 575 #else 576 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 577 #endif 578 unsigned char 579 mode_unit_size_inline (machine_mode mode) 580 { 581 extern CONST_MODE_UNIT_SIZE unsigned char mode_unit_size[NUM_MACHINE_MODES]; 582 switch (mode) 583 { 584 case VOIDmode: return 0; 585 case BLKmode: return 0; 586 case CCmode: return 4; 587 case CC_NOOVmode: return 4; 588 case CC_Zmode: return 4; 589 case CC_CZmode: return 4; 590 case CC_NCVmode: return 4; 591 case CC_SWPmode: return 4; 592 case CCFPmode: return 4; 593 case CCFPEmode: return 4; 594 case CC_DNEmode: return 4; 595 case CC_DEQmode: return 4; 596 case CC_DLEmode: return 4; 597 case CC_DLTmode: return 4; 598 case CC_DGEmode: return 4; 599 case CC_DGTmode: return 4; 600 case CC_DLEUmode: return 4; 601 case CC_DLTUmode: return 4; 602 case CC_DGEUmode: return 4; 603 case CC_DGTUmode: return 4; 604 case CC_Cmode: return 4; 605 case CC_Nmode: return 4; 606 case BImode: return 1; 607 case QImode: return 1; 608 case HImode: return 2; 609 case SImode: return 4; 610 case DImode: return 8; 611 case TImode: return 16; 612 case EImode: return 24; 613 case OImode: return 32; 614 case CImode: return 48; 615 case XImode: return 64; 616 case QQmode: return 1; 617 case HQmode: return 2; 618 case SQmode: return 4; 619 case DQmode: return 8; 620 case TQmode: return 16; 621 case UQQmode: return 1; 622 case UHQmode: return 2; 623 case USQmode: return 4; 624 case UDQmode: return 8; 625 case UTQmode: return 16; 626 case HAmode: return 2; 627 case SAmode: return 4; 628 case DAmode: return 8; 629 case TAmode: return 16; 630 case UHAmode: return 2; 631 case USAmode: return 4; 632 case UDAmode: return 8; 633 case UTAmode: return 16; 634 case HFmode: return 2; 635 case SFmode: return 4; 636 case DFmode: return 8; 637 case SDmode: return 4; 638 case DDmode: return 8; 639 case TDmode: return 16; 640 case CQImode: return 1; 641 case CHImode: return 2; 642 case CSImode: return 4; 643 case CDImode: return 8; 644 case CTImode: return 16; 645 case CEImode: return 24; 646 case COImode: return 32; 647 case CCImode: return 48; 648 case CXImode: return 64; 649 case HCmode: return 2; 650 case SCmode: return 4; 651 case DCmode: return 8; 652 case V4QImode: return 1; 653 case V2HImode: return 2; 654 case V8QImode: return 1; 655 case V4HImode: return 2; 656 case V2SImode: return 4; 657 case V16QImode: return 1; 658 case V8HImode: return 2; 659 case V4SImode: return 4; 660 case V2DImode: return 8; 661 case V4QQmode: return 1; 662 case V2HQmode: return 2; 663 case V4UQQmode: return 1; 664 case V2UHQmode: return 2; 665 case V2HAmode: return 2; 666 case V2UHAmode: return 2; 667 case V4HFmode: return 2; 668 case V2SFmode: return 4; 669 case V8HFmode: return 2; 670 case V4SFmode: return 4; 671 case V2DFmode: return 8; 672 default: return mode_unit_size[mode]; 673 } 674 } 675 676 #ifdef __cplusplus 677 inline __attribute__((__always_inline__)) 678 #else 679 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 680 #endif 681 unsigned short 682 mode_unit_precision_inline (machine_mode mode) 683 { 684 extern const unsigned short mode_unit_precision[NUM_MACHINE_MODES]; 685 switch (mode) 686 { 687 case VOIDmode: return 0; 688 case BLKmode: return 0; 689 case CCmode: return 4*BITS_PER_UNIT; 690 case CC_NOOVmode: return 4*BITS_PER_UNIT; 691 case CC_Zmode: return 4*BITS_PER_UNIT; 692 case CC_CZmode: return 4*BITS_PER_UNIT; 693 case CC_NCVmode: return 4*BITS_PER_UNIT; 694 case CC_SWPmode: return 4*BITS_PER_UNIT; 695 case CCFPmode: return 4*BITS_PER_UNIT; 696 case CCFPEmode: return 4*BITS_PER_UNIT; 697 case CC_DNEmode: return 4*BITS_PER_UNIT; 698 case CC_DEQmode: return 4*BITS_PER_UNIT; 699 case CC_DLEmode: return 4*BITS_PER_UNIT; 700 case CC_DLTmode: return 4*BITS_PER_UNIT; 701 case CC_DGEmode: return 4*BITS_PER_UNIT; 702 case CC_DGTmode: return 4*BITS_PER_UNIT; 703 case CC_DLEUmode: return 4*BITS_PER_UNIT; 704 case CC_DLTUmode: return 4*BITS_PER_UNIT; 705 case CC_DGEUmode: return 4*BITS_PER_UNIT; 706 case CC_DGTUmode: return 4*BITS_PER_UNIT; 707 case CC_Cmode: return 4*BITS_PER_UNIT; 708 case CC_Nmode: return 4*BITS_PER_UNIT; 709 case BImode: return 1; 710 case QImode: return 1*BITS_PER_UNIT; 711 case HImode: return 2*BITS_PER_UNIT; 712 case SImode: return 4*BITS_PER_UNIT; 713 case DImode: return 8*BITS_PER_UNIT; 714 case TImode: return 16*BITS_PER_UNIT; 715 case EImode: return 24*BITS_PER_UNIT; 716 case OImode: return 32*BITS_PER_UNIT; 717 case CImode: return 48*BITS_PER_UNIT; 718 case XImode: return 64*BITS_PER_UNIT; 719 case QQmode: return 1*BITS_PER_UNIT; 720 case HQmode: return 2*BITS_PER_UNIT; 721 case SQmode: return 4*BITS_PER_UNIT; 722 case DQmode: return 8*BITS_PER_UNIT; 723 case TQmode: return 16*BITS_PER_UNIT; 724 case UQQmode: return 1*BITS_PER_UNIT; 725 case UHQmode: return 2*BITS_PER_UNIT; 726 case USQmode: return 4*BITS_PER_UNIT; 727 case UDQmode: return 8*BITS_PER_UNIT; 728 case UTQmode: return 16*BITS_PER_UNIT; 729 case HAmode: return 2*BITS_PER_UNIT; 730 case SAmode: return 4*BITS_PER_UNIT; 731 case DAmode: return 8*BITS_PER_UNIT; 732 case TAmode: return 16*BITS_PER_UNIT; 733 case UHAmode: return 2*BITS_PER_UNIT; 734 case USAmode: return 4*BITS_PER_UNIT; 735 case UDAmode: return 8*BITS_PER_UNIT; 736 case UTAmode: return 16*BITS_PER_UNIT; 737 case HFmode: return 2*BITS_PER_UNIT; 738 case SFmode: return 4*BITS_PER_UNIT; 739 case DFmode: return 8*BITS_PER_UNIT; 740 case SDmode: return 4*BITS_PER_UNIT; 741 case DDmode: return 8*BITS_PER_UNIT; 742 case TDmode: return 16*BITS_PER_UNIT; 743 case CQImode: return 1*BITS_PER_UNIT; 744 case CHImode: return 2*BITS_PER_UNIT; 745 case CSImode: return 4*BITS_PER_UNIT; 746 case CDImode: return 8*BITS_PER_UNIT; 747 case CTImode: return 16*BITS_PER_UNIT; 748 case CEImode: return 24*BITS_PER_UNIT; 749 case COImode: return 32*BITS_PER_UNIT; 750 case CCImode: return 48*BITS_PER_UNIT; 751 case CXImode: return 64*BITS_PER_UNIT; 752 case HCmode: return 2*BITS_PER_UNIT; 753 case SCmode: return 4*BITS_PER_UNIT; 754 case DCmode: return 8*BITS_PER_UNIT; 755 case V4QImode: return 1*BITS_PER_UNIT; 756 case V2HImode: return 2*BITS_PER_UNIT; 757 case V8QImode: return 1*BITS_PER_UNIT; 758 case V4HImode: return 2*BITS_PER_UNIT; 759 case V2SImode: return 4*BITS_PER_UNIT; 760 case V16QImode: return 1*BITS_PER_UNIT; 761 case V8HImode: return 2*BITS_PER_UNIT; 762 case V4SImode: return 4*BITS_PER_UNIT; 763 case V2DImode: return 8*BITS_PER_UNIT; 764 case V4QQmode: return 1*BITS_PER_UNIT; 765 case V2HQmode: return 2*BITS_PER_UNIT; 766 case V4UQQmode: return 1*BITS_PER_UNIT; 767 case V2UHQmode: return 2*BITS_PER_UNIT; 768 case V2HAmode: return 2*BITS_PER_UNIT; 769 case V2UHAmode: return 2*BITS_PER_UNIT; 770 case V4HFmode: return 2*BITS_PER_UNIT; 771 case V2SFmode: return 4*BITS_PER_UNIT; 772 case V8HFmode: return 2*BITS_PER_UNIT; 773 case V4SFmode: return 4*BITS_PER_UNIT; 774 case V2DFmode: return 8*BITS_PER_UNIT; 775 default: return mode_unit_precision[mode]; 776 } 777 } 778 779 #endif /* GCC_VERSION >= 4001 */ 780 781 #endif /* insn-modes.h */ 782