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 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 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 267 inline __attribute__((__always_inline__)) 268 #else 269 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 270 #endif 271 unsigned short 272 mode_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 372 inline __attribute__((__always_inline__)) 373 #else 374 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 375 #endif 376 unsigned char 377 mode_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 477 inline __attribute__((__always_inline__)) 478 #else 479 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 480 #endif 481 unsigned char 482 mode_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 582 inline __attribute__((__always_inline__)) 583 #else 584 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 585 #endif 586 unsigned char 587 mode_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 687 inline __attribute__((__always_inline__)) 688 #else 689 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 690 #endif 691 unsigned short 692 mode_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