1 /* This file is automatically generated. DO NOT EDIT! */ 2 /* Generated from: NetBSD: mknative-gcc,v 1.96 2019/01/19 20:02:06 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/i386/i386-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 CCGCmode, /* config/i386/i386-modes.def:62 */ 20 #define HAVE_CCGCmode 21 CCGOCmode, /* config/i386/i386-modes.def:63 */ 22 #define HAVE_CCGOCmode 23 CCNOmode, /* config/i386/i386-modes.def:64 */ 24 #define HAVE_CCNOmode 25 CCAmode, /* config/i386/i386-modes.def:65 */ 26 #define HAVE_CCAmode 27 CCCmode, /* config/i386/i386-modes.def:66 */ 28 #define HAVE_CCCmode 29 CCOmode, /* config/i386/i386-modes.def:67 */ 30 #define HAVE_CCOmode 31 CCPmode, /* config/i386/i386-modes.def:68 */ 32 #define HAVE_CCPmode 33 CCSmode, /* config/i386/i386-modes.def:69 */ 34 #define HAVE_CCSmode 35 CCZmode, /* config/i386/i386-modes.def:70 */ 36 #define HAVE_CCZmode 37 CCFPmode, /* config/i386/i386-modes.def:71 */ 38 #define HAVE_CCFPmode 39 CCFPUmode, /* config/i386/i386-modes.def:72 */ 40 #define HAVE_CCFPUmode 41 BImode, /* machmode.def:179 */ 42 #define HAVE_BImode 43 QImode, /* machmode.def:187 */ 44 #define HAVE_QImode 45 HImode, /* machmode.def:188 */ 46 #define HAVE_HImode 47 SImode, /* machmode.def:189 */ 48 #define HAVE_SImode 49 DImode, /* machmode.def:190 */ 50 #define HAVE_DImode 51 TImode, /* machmode.def:191 */ 52 #define HAVE_TImode 53 OImode, /* config/i386/i386-modes.def:100 */ 54 #define HAVE_OImode 55 XImode, /* config/i386/i386-modes.def:101 */ 56 #define HAVE_XImode 57 BND32mode, /* config/i386/i386-modes.def:97 */ 58 #define HAVE_BND32mode 59 BND64mode, /* config/i386/i386-modes.def:98 */ 60 #define HAVE_BND64mode 61 QQmode, /* machmode.def:217 */ 62 #define HAVE_QQmode 63 HQmode, /* machmode.def:218 */ 64 #define HAVE_HQmode 65 SQmode, /* machmode.def:219 */ 66 #define HAVE_SQmode 67 DQmode, /* machmode.def:220 */ 68 #define HAVE_DQmode 69 TQmode, /* machmode.def:221 */ 70 #define HAVE_TQmode 71 UQQmode, /* machmode.def:223 */ 72 #define HAVE_UQQmode 73 UHQmode, /* machmode.def:224 */ 74 #define HAVE_UHQmode 75 USQmode, /* machmode.def:225 */ 76 #define HAVE_USQmode 77 UDQmode, /* machmode.def:226 */ 78 #define HAVE_UDQmode 79 UTQmode, /* machmode.def:227 */ 80 #define HAVE_UTQmode 81 HAmode, /* machmode.def:229 */ 82 #define HAVE_HAmode 83 SAmode, /* machmode.def:230 */ 84 #define HAVE_SAmode 85 DAmode, /* machmode.def:231 */ 86 #define HAVE_DAmode 87 TAmode, /* machmode.def:232 */ 88 #define HAVE_TAmode 89 UHAmode, /* machmode.def:234 */ 90 #define HAVE_UHAmode 91 USAmode, /* machmode.def:235 */ 92 #define HAVE_USAmode 93 UDAmode, /* machmode.def:236 */ 94 #define HAVE_UDAmode 95 UTAmode, /* machmode.def:237 */ 96 #define HAVE_UTAmode 97 SFmode, /* machmode.def:209 */ 98 #define HAVE_SFmode 99 DFmode, /* machmode.def:210 */ 100 #define HAVE_DFmode 101 XFmode, /* config/i386/i386-modes.def:24 */ 102 #define HAVE_XFmode 103 TFmode, /* config/i386/i386-modes.def:25 */ 104 #define HAVE_TFmode 105 SDmode, /* machmode.def:250 */ 106 #define HAVE_SDmode 107 DDmode, /* machmode.def:251 */ 108 #define HAVE_DDmode 109 TDmode, /* machmode.def:252 */ 110 #define HAVE_TDmode 111 CQImode, /* machmode.def:245 */ 112 #define HAVE_CQImode 113 CHImode, /* machmode.def:245 */ 114 #define HAVE_CHImode 115 CSImode, /* machmode.def:245 */ 116 #define HAVE_CSImode 117 CDImode, /* machmode.def:245 */ 118 #define HAVE_CDImode 119 CTImode, /* machmode.def:245 */ 120 #define HAVE_CTImode 121 COImode, /* machmode.def:245 */ 122 #define HAVE_COImode 123 CXImode, /* machmode.def:245 */ 124 #define HAVE_CXImode 125 SCmode, /* machmode.def:247 */ 126 #define HAVE_SCmode 127 DCmode, /* machmode.def:247 */ 128 #define HAVE_DCmode 129 XCmode, /* machmode.def:247 */ 130 #define HAVE_XCmode 131 TCmode, /* machmode.def:247 */ 132 #define HAVE_TCmode 133 V2QImode, /* config/i386/i386-modes.def:91 */ 134 #define HAVE_V2QImode 135 V4QImode, /* config/i386/i386-modes.def:76 */ 136 #define HAVE_V4QImode 137 V2HImode, /* config/i386/i386-modes.def:76 */ 138 #define HAVE_V2HImode 139 V1SImode, /* config/i386/i386-modes.def:90 */ 140 #define HAVE_V1SImode 141 V8QImode, /* config/i386/i386-modes.def:77 */ 142 #define HAVE_V8QImode 143 V4HImode, /* config/i386/i386-modes.def:77 */ 144 #define HAVE_V4HImode 145 V2SImode, /* config/i386/i386-modes.def:77 */ 146 #define HAVE_V2SImode 147 V1DImode, /* config/i386/i386-modes.def:89 */ 148 #define HAVE_V1DImode 149 V12QImode, /* config/i386/i386-modes.def:92 */ 150 #define HAVE_V12QImode 151 V6HImode, /* config/i386/i386-modes.def:94 */ 152 #define HAVE_V6HImode 153 V14QImode, /* config/i386/i386-modes.def:93 */ 154 #define HAVE_V14QImode 155 V16QImode, /* config/i386/i386-modes.def:78 */ 156 #define HAVE_V16QImode 157 V8HImode, /* config/i386/i386-modes.def:78 */ 158 #define HAVE_V8HImode 159 V4SImode, /* config/i386/i386-modes.def:78 */ 160 #define HAVE_V4SImode 161 V2DImode, /* config/i386/i386-modes.def:78 */ 162 #define HAVE_V2DImode 163 V1TImode, /* config/i386/i386-modes.def:88 */ 164 #define HAVE_V1TImode 165 V32QImode, /* config/i386/i386-modes.def:79 */ 166 #define HAVE_V32QImode 167 V16HImode, /* config/i386/i386-modes.def:79 */ 168 #define HAVE_V16HImode 169 V8SImode, /* config/i386/i386-modes.def:79 */ 170 #define HAVE_V8SImode 171 V4DImode, /* config/i386/i386-modes.def:79 */ 172 #define HAVE_V4DImode 173 V2TImode, /* config/i386/i386-modes.def:79 */ 174 #define HAVE_V2TImode 175 V64QImode, /* config/i386/i386-modes.def:80 */ 176 #define HAVE_V64QImode 177 V32HImode, /* config/i386/i386-modes.def:80 */ 178 #define HAVE_V32HImode 179 V16SImode, /* config/i386/i386-modes.def:80 */ 180 #define HAVE_V16SImode 181 V8DImode, /* config/i386/i386-modes.def:80 */ 182 #define HAVE_V8DImode 183 V4TImode, /* config/i386/i386-modes.def:80 */ 184 #define HAVE_V4TImode 185 V128QImode, /* config/i386/i386-modes.def:81 */ 186 #define HAVE_V128QImode 187 V64HImode, /* config/i386/i386-modes.def:81 */ 188 #define HAVE_V64HImode 189 V32SImode, /* config/i386/i386-modes.def:81 */ 190 #define HAVE_V32SImode 191 V16DImode, /* config/i386/i386-modes.def:81 */ 192 #define HAVE_V16DImode 193 V8TImode, /* config/i386/i386-modes.def:81 */ 194 #define HAVE_V8TImode 195 V64SImode, /* config/i386/i386-modes.def:95 */ 196 #define HAVE_V64SImode 197 V2SFmode, /* config/i386/i386-modes.def:82 */ 198 #define HAVE_V2SFmode 199 V4SFmode, /* config/i386/i386-modes.def:83 */ 200 #define HAVE_V4SFmode 201 V2DFmode, /* config/i386/i386-modes.def:83 */ 202 #define HAVE_V2DFmode 203 V8SFmode, /* config/i386/i386-modes.def:84 */ 204 #define HAVE_V8SFmode 205 V4DFmode, /* config/i386/i386-modes.def:84 */ 206 #define HAVE_V4DFmode 207 V2TFmode, /* config/i386/i386-modes.def:84 */ 208 #define HAVE_V2TFmode 209 V16SFmode, /* config/i386/i386-modes.def:85 */ 210 #define HAVE_V16SFmode 211 V8DFmode, /* config/i386/i386-modes.def:85 */ 212 #define HAVE_V8DFmode 213 V4TFmode, /* config/i386/i386-modes.def:85 */ 214 #define HAVE_V4TFmode 215 V32SFmode, /* config/i386/i386-modes.def:86 */ 216 #define HAVE_V32SFmode 217 V16DFmode, /* config/i386/i386-modes.def:86 */ 218 #define HAVE_V16DFmode 219 V8TFmode, /* config/i386/i386-modes.def:86 */ 220 #define HAVE_V8TFmode 221 V64SFmode, /* config/i386/i386-modes.def:87 */ 222 #define HAVE_V64SFmode 223 V32DFmode, /* config/i386/i386-modes.def:87 */ 224 #define HAVE_V32DFmode 225 V16TFmode, /* config/i386/i386-modes.def:87 */ 226 #define HAVE_V16TFmode 227 MAX_MACHINE_MODE, 228 229 MIN_MODE_RANDOM = VOIDmode, 230 MAX_MODE_RANDOM = BLKmode, 231 232 MIN_MODE_CC = CCmode, 233 MAX_MODE_CC = CCFPUmode, 234 235 MIN_MODE_INT = QImode, 236 MAX_MODE_INT = XImode, 237 238 MIN_MODE_PARTIAL_INT = VOIDmode, 239 MAX_MODE_PARTIAL_INT = VOIDmode, 240 241 MIN_MODE_POINTER_BOUNDS = BND32mode, 242 MAX_MODE_POINTER_BOUNDS = BND64mode, 243 244 MIN_MODE_FRACT = QQmode, 245 MAX_MODE_FRACT = TQmode, 246 247 MIN_MODE_UFRACT = UQQmode, 248 MAX_MODE_UFRACT = UTQmode, 249 250 MIN_MODE_ACCUM = HAmode, 251 MAX_MODE_ACCUM = TAmode, 252 253 MIN_MODE_UACCUM = UHAmode, 254 MAX_MODE_UACCUM = UTAmode, 255 256 MIN_MODE_FLOAT = SFmode, 257 MAX_MODE_FLOAT = TFmode, 258 259 MIN_MODE_DECIMAL_FLOAT = SDmode, 260 MAX_MODE_DECIMAL_FLOAT = TDmode, 261 262 MIN_MODE_COMPLEX_INT = CQImode, 263 MAX_MODE_COMPLEX_INT = CXImode, 264 265 MIN_MODE_COMPLEX_FLOAT = SCmode, 266 MAX_MODE_COMPLEX_FLOAT = TCmode, 267 268 MIN_MODE_VECTOR_INT = V2QImode, 269 MAX_MODE_VECTOR_INT = V64SImode, 270 271 MIN_MODE_VECTOR_FRACT = VOIDmode, 272 MAX_MODE_VECTOR_FRACT = VOIDmode, 273 274 MIN_MODE_VECTOR_UFRACT = VOIDmode, 275 MAX_MODE_VECTOR_UFRACT = VOIDmode, 276 277 MIN_MODE_VECTOR_ACCUM = VOIDmode, 278 MAX_MODE_VECTOR_ACCUM = VOIDmode, 279 280 MIN_MODE_VECTOR_UACCUM = VOIDmode, 281 MAX_MODE_VECTOR_UACCUM = VOIDmode, 282 283 MIN_MODE_VECTOR_FLOAT = V2SFmode, 284 MAX_MODE_VECTOR_FLOAT = V16TFmode, 285 286 NUM_MACHINE_MODES = MAX_MACHINE_MODE 287 }; 288 289 #define CONST_MODE_SIZE 290 #define CONST_MODE_UNIT_SIZE 291 #define CONST_MODE_BASE_ALIGN 292 #define CONST_MODE_IBIT const 293 #define CONST_MODE_FBIT const 294 295 #define BITS_PER_UNIT (8) 296 #define MAX_BITSIZE_MODE_ANY_INT 128 297 #define MAX_BITSIZE_MODE_ANY_MODE (256*BITS_PER_UNIT) 298 #define NUM_INT_N_ENTS 1 299 300 #if !defined (USED_FOR_TARGET) && GCC_VERSION >= 4001 301 302 #ifdef __cplusplus 303 inline __attribute__((__always_inline__)) 304 #else 305 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 306 #endif 307 unsigned short 308 mode_size_inline (machine_mode mode) 309 { 310 extern unsigned short mode_size[NUM_MACHINE_MODES]; 311 gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES); 312 switch (mode) 313 { 314 case VOIDmode: return 0; 315 case BLKmode: return 0; 316 case CCmode: return 4; 317 case CCGCmode: return 4; 318 case CCGOCmode: return 4; 319 case CCNOmode: return 4; 320 case CCAmode: return 4; 321 case CCCmode: return 4; 322 case CCOmode: return 4; 323 case CCPmode: return 4; 324 case CCSmode: return 4; 325 case CCZmode: return 4; 326 case CCFPmode: return 4; 327 case CCFPUmode: return 4; 328 case BImode: return 1; 329 case QImode: return 1; 330 case HImode: return 2; 331 case SImode: return 4; 332 case DImode: return 8; 333 case TImode: return 16; 334 case OImode: return 32; 335 case XImode: return 64; 336 case BND32mode: return 8; 337 case BND64mode: return 16; 338 case QQmode: return 1; 339 case HQmode: return 2; 340 case SQmode: return 4; 341 case DQmode: return 8; 342 case TQmode: return 16; 343 case UQQmode: return 1; 344 case UHQmode: return 2; 345 case USQmode: return 4; 346 case UDQmode: return 8; 347 case UTQmode: return 16; 348 case HAmode: return 2; 349 case SAmode: return 4; 350 case DAmode: return 8; 351 case TAmode: return 16; 352 case UHAmode: return 2; 353 case USAmode: return 4; 354 case UDAmode: return 8; 355 case UTAmode: return 16; 356 case SFmode: return 4; 357 case DFmode: return 8; 358 case TFmode: return 16; 359 case SDmode: return 4; 360 case DDmode: return 8; 361 case TDmode: return 16; 362 case CQImode: return 2; 363 case CHImode: return 4; 364 case CSImode: return 8; 365 case CDImode: return 16; 366 case CTImode: return 32; 367 case COImode: return 64; 368 case CXImode: return 128; 369 case SCmode: return 8; 370 case DCmode: return 16; 371 case TCmode: return 32; 372 case V2QImode: return 2; 373 case V4QImode: return 4; 374 case V2HImode: return 4; 375 case V1SImode: return 4; 376 case V8QImode: return 8; 377 case V4HImode: return 8; 378 case V2SImode: return 8; 379 case V1DImode: return 8; 380 case V12QImode: return 12; 381 case V6HImode: return 12; 382 case V14QImode: return 14; 383 case V16QImode: return 16; 384 case V8HImode: return 16; 385 case V4SImode: return 16; 386 case V2DImode: return 16; 387 case V1TImode: return 16; 388 case V32QImode: return 32; 389 case V16HImode: return 32; 390 case V8SImode: return 32; 391 case V4DImode: return 32; 392 case V2TImode: return 32; 393 case V64QImode: return 64; 394 case V32HImode: return 64; 395 case V16SImode: return 64; 396 case V8DImode: return 64; 397 case V4TImode: return 64; 398 case V128QImode: return 128; 399 case V64HImode: return 128; 400 case V32SImode: return 128; 401 case V16DImode: return 128; 402 case V8TImode: return 128; 403 case V64SImode: return 256; 404 case V2SFmode: return 8; 405 case V4SFmode: return 16; 406 case V2DFmode: return 16; 407 case V8SFmode: return 32; 408 case V4DFmode: return 32; 409 case V2TFmode: return 32; 410 case V16SFmode: return 64; 411 case V8DFmode: return 64; 412 case V4TFmode: return 64; 413 case V32SFmode: return 128; 414 case V16DFmode: return 128; 415 case V8TFmode: return 128; 416 case V64SFmode: return 256; 417 case V32DFmode: return 256; 418 case V16TFmode: return 256; 419 default: return mode_size[mode]; 420 } 421 } 422 423 #ifdef __cplusplus 424 inline __attribute__((__always_inline__)) 425 #else 426 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 427 #endif 428 unsigned char 429 mode_nunits_inline (machine_mode mode) 430 { 431 extern const unsigned char mode_nunits[NUM_MACHINE_MODES]; 432 gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES); 433 switch (mode) 434 { 435 case VOIDmode: return 0; 436 case BLKmode: return 0; 437 case CCmode: return 1; 438 case CCGCmode: return 1; 439 case CCGOCmode: return 1; 440 case CCNOmode: return 1; 441 case CCAmode: return 1; 442 case CCCmode: return 1; 443 case CCOmode: return 1; 444 case CCPmode: return 1; 445 case CCSmode: return 1; 446 case CCZmode: return 1; 447 case CCFPmode: return 1; 448 case CCFPUmode: return 1; 449 case BImode: return 1; 450 case QImode: return 1; 451 case HImode: return 1; 452 case SImode: return 1; 453 case DImode: return 1; 454 case TImode: return 1; 455 case OImode: return 1; 456 case XImode: return 1; 457 case BND32mode: return 1; 458 case BND64mode: return 1; 459 case QQmode: return 1; 460 case HQmode: return 1; 461 case SQmode: return 1; 462 case DQmode: return 1; 463 case TQmode: return 1; 464 case UQQmode: return 1; 465 case UHQmode: return 1; 466 case USQmode: return 1; 467 case UDQmode: return 1; 468 case UTQmode: return 1; 469 case HAmode: return 1; 470 case SAmode: return 1; 471 case DAmode: return 1; 472 case TAmode: return 1; 473 case UHAmode: return 1; 474 case USAmode: return 1; 475 case UDAmode: return 1; 476 case UTAmode: return 1; 477 case SFmode: return 1; 478 case DFmode: return 1; 479 case XFmode: return 1; 480 case TFmode: return 1; 481 case SDmode: return 1; 482 case DDmode: return 1; 483 case TDmode: return 1; 484 case CQImode: return 2; 485 case CHImode: return 2; 486 case CSImode: return 2; 487 case CDImode: return 2; 488 case CTImode: return 2; 489 case COImode: return 2; 490 case CXImode: return 2; 491 case SCmode: return 2; 492 case DCmode: return 2; 493 case XCmode: return 2; 494 case TCmode: return 2; 495 case V2QImode: return 2; 496 case V4QImode: return 4; 497 case V2HImode: return 2; 498 case V1SImode: return 1; 499 case V8QImode: return 8; 500 case V4HImode: return 4; 501 case V2SImode: return 2; 502 case V1DImode: return 1; 503 case V12QImode: return 12; 504 case V6HImode: return 6; 505 case V14QImode: return 14; 506 case V16QImode: return 16; 507 case V8HImode: return 8; 508 case V4SImode: return 4; 509 case V2DImode: return 2; 510 case V1TImode: return 1; 511 case V32QImode: return 32; 512 case V16HImode: return 16; 513 case V8SImode: return 8; 514 case V4DImode: return 4; 515 case V2TImode: return 2; 516 case V64QImode: return 64; 517 case V32HImode: return 32; 518 case V16SImode: return 16; 519 case V8DImode: return 8; 520 case V4TImode: return 4; 521 case V128QImode: return 128; 522 case V64HImode: return 64; 523 case V32SImode: return 32; 524 case V16DImode: return 16; 525 case V8TImode: return 8; 526 case V64SImode: return 64; 527 case V2SFmode: return 2; 528 case V4SFmode: return 4; 529 case V2DFmode: return 2; 530 case V8SFmode: return 8; 531 case V4DFmode: return 4; 532 case V2TFmode: return 2; 533 case V16SFmode: return 16; 534 case V8DFmode: return 8; 535 case V4TFmode: return 4; 536 case V32SFmode: return 32; 537 case V16DFmode: return 16; 538 case V8TFmode: return 8; 539 case V64SFmode: return 64; 540 case V32DFmode: return 32; 541 case V16TFmode: return 16; 542 default: return mode_nunits[mode]; 543 } 544 } 545 546 #ifdef __cplusplus 547 inline __attribute__((__always_inline__)) 548 #else 549 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 550 #endif 551 unsigned char 552 mode_inner_inline (machine_mode mode) 553 { 554 extern const unsigned char mode_inner[NUM_MACHINE_MODES]; 555 gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES); 556 switch (mode) 557 { 558 case VOIDmode: return VOIDmode; 559 case BLKmode: return BLKmode; 560 case CCmode: return CCmode; 561 case CCGCmode: return CCGCmode; 562 case CCGOCmode: return CCGOCmode; 563 case CCNOmode: return CCNOmode; 564 case CCAmode: return CCAmode; 565 case CCCmode: return CCCmode; 566 case CCOmode: return CCOmode; 567 case CCPmode: return CCPmode; 568 case CCSmode: return CCSmode; 569 case CCZmode: return CCZmode; 570 case CCFPmode: return CCFPmode; 571 case CCFPUmode: return CCFPUmode; 572 case BImode: return BImode; 573 case QImode: return QImode; 574 case HImode: return HImode; 575 case SImode: return SImode; 576 case DImode: return DImode; 577 case TImode: return TImode; 578 case OImode: return OImode; 579 case XImode: return XImode; 580 case BND32mode: return BND32mode; 581 case BND64mode: return BND64mode; 582 case QQmode: return QQmode; 583 case HQmode: return HQmode; 584 case SQmode: return SQmode; 585 case DQmode: return DQmode; 586 case TQmode: return TQmode; 587 case UQQmode: return UQQmode; 588 case UHQmode: return UHQmode; 589 case USQmode: return USQmode; 590 case UDQmode: return UDQmode; 591 case UTQmode: return UTQmode; 592 case HAmode: return HAmode; 593 case SAmode: return SAmode; 594 case DAmode: return DAmode; 595 case TAmode: return TAmode; 596 case UHAmode: return UHAmode; 597 case USAmode: return USAmode; 598 case UDAmode: return UDAmode; 599 case UTAmode: return UTAmode; 600 case SFmode: return SFmode; 601 case DFmode: return DFmode; 602 case XFmode: return XFmode; 603 case TFmode: return TFmode; 604 case SDmode: return SDmode; 605 case DDmode: return DDmode; 606 case TDmode: return TDmode; 607 case CQImode: return QImode; 608 case CHImode: return HImode; 609 case CSImode: return SImode; 610 case CDImode: return DImode; 611 case CTImode: return TImode; 612 case COImode: return OImode; 613 case CXImode: return XImode; 614 case SCmode: return SFmode; 615 case DCmode: return DFmode; 616 case XCmode: return XFmode; 617 case TCmode: return TFmode; 618 case V2QImode: return QImode; 619 case V4QImode: return QImode; 620 case V2HImode: return HImode; 621 case V1SImode: return SImode; 622 case V8QImode: return QImode; 623 case V4HImode: return HImode; 624 case V2SImode: return SImode; 625 case V1DImode: return DImode; 626 case V12QImode: return QImode; 627 case V6HImode: return HImode; 628 case V14QImode: return QImode; 629 case V16QImode: return QImode; 630 case V8HImode: return HImode; 631 case V4SImode: return SImode; 632 case V2DImode: return DImode; 633 case V1TImode: return TImode; 634 case V32QImode: return QImode; 635 case V16HImode: return HImode; 636 case V8SImode: return SImode; 637 case V4DImode: return DImode; 638 case V2TImode: return TImode; 639 case V64QImode: return QImode; 640 case V32HImode: return HImode; 641 case V16SImode: return SImode; 642 case V8DImode: return DImode; 643 case V4TImode: return TImode; 644 case V128QImode: return QImode; 645 case V64HImode: return HImode; 646 case V32SImode: return SImode; 647 case V16DImode: return DImode; 648 case V8TImode: return TImode; 649 case V64SImode: return SImode; 650 case V2SFmode: return SFmode; 651 case V4SFmode: return SFmode; 652 case V2DFmode: return DFmode; 653 case V8SFmode: return SFmode; 654 case V4DFmode: return DFmode; 655 case V2TFmode: return TFmode; 656 case V16SFmode: return SFmode; 657 case V8DFmode: return DFmode; 658 case V4TFmode: return TFmode; 659 case V32SFmode: return SFmode; 660 case V16DFmode: return DFmode; 661 case V8TFmode: return TFmode; 662 case V64SFmode: return SFmode; 663 case V32DFmode: return DFmode; 664 case V16TFmode: return TFmode; 665 default: return mode_inner[mode]; 666 } 667 } 668 669 #ifdef __cplusplus 670 inline __attribute__((__always_inline__)) 671 #else 672 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 673 #endif 674 unsigned char 675 mode_unit_size_inline (machine_mode mode) 676 { 677 extern CONST_MODE_UNIT_SIZE unsigned char mode_unit_size[NUM_MACHINE_MODES]; 678 gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES); 679 switch (mode) 680 { 681 case VOIDmode: return 0; 682 case BLKmode: return 0; 683 case CCmode: return 4; 684 case CCGCmode: return 4; 685 case CCGOCmode: return 4; 686 case CCNOmode: return 4; 687 case CCAmode: return 4; 688 case CCCmode: return 4; 689 case CCOmode: return 4; 690 case CCPmode: return 4; 691 case CCSmode: return 4; 692 case CCZmode: return 4; 693 case CCFPmode: return 4; 694 case CCFPUmode: return 4; 695 case BImode: return 1; 696 case QImode: return 1; 697 case HImode: return 2; 698 case SImode: return 4; 699 case DImode: return 8; 700 case TImode: return 16; 701 case OImode: return 32; 702 case XImode: return 64; 703 case BND32mode: return 8; 704 case BND64mode: return 16; 705 case QQmode: return 1; 706 case HQmode: return 2; 707 case SQmode: return 4; 708 case DQmode: return 8; 709 case TQmode: return 16; 710 case UQQmode: return 1; 711 case UHQmode: return 2; 712 case USQmode: return 4; 713 case UDQmode: return 8; 714 case UTQmode: return 16; 715 case HAmode: return 2; 716 case SAmode: return 4; 717 case DAmode: return 8; 718 case TAmode: return 16; 719 case UHAmode: return 2; 720 case USAmode: return 4; 721 case UDAmode: return 8; 722 case UTAmode: return 16; 723 case SFmode: return 4; 724 case DFmode: return 8; 725 case TFmode: return 16; 726 case SDmode: return 4; 727 case DDmode: return 8; 728 case TDmode: return 16; 729 case CQImode: return 1; 730 case CHImode: return 2; 731 case CSImode: return 4; 732 case CDImode: return 8; 733 case CTImode: return 16; 734 case COImode: return 32; 735 case CXImode: return 64; 736 case SCmode: return 4; 737 case DCmode: return 8; 738 case TCmode: return 16; 739 case V2QImode: return 1; 740 case V4QImode: return 1; 741 case V2HImode: return 2; 742 case V1SImode: return 4; 743 case V8QImode: return 1; 744 case V4HImode: return 2; 745 case V2SImode: return 4; 746 case V1DImode: return 8; 747 case V12QImode: return 1; 748 case V6HImode: return 2; 749 case V14QImode: return 1; 750 case V16QImode: return 1; 751 case V8HImode: return 2; 752 case V4SImode: return 4; 753 case V2DImode: return 8; 754 case V1TImode: return 16; 755 case V32QImode: return 1; 756 case V16HImode: return 2; 757 case V8SImode: return 4; 758 case V4DImode: return 8; 759 case V2TImode: return 16; 760 case V64QImode: return 1; 761 case V32HImode: return 2; 762 case V16SImode: return 4; 763 case V8DImode: return 8; 764 case V4TImode: return 16; 765 case V128QImode: return 1; 766 case V64HImode: return 2; 767 case V32SImode: return 4; 768 case V16DImode: return 8; 769 case V8TImode: return 16; 770 case V64SImode: return 4; 771 case V2SFmode: return 4; 772 case V4SFmode: return 4; 773 case V2DFmode: return 8; 774 case V8SFmode: return 4; 775 case V4DFmode: return 8; 776 case V2TFmode: return 16; 777 case V16SFmode: return 4; 778 case V8DFmode: return 8; 779 case V4TFmode: return 16; 780 case V32SFmode: return 4; 781 case V16DFmode: return 8; 782 case V8TFmode: return 16; 783 case V64SFmode: return 4; 784 case V32DFmode: return 8; 785 case V16TFmode: return 16; 786 default: return mode_unit_size[mode]; 787 } 788 } 789 790 #ifdef __cplusplus 791 inline __attribute__((__always_inline__)) 792 #else 793 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 794 #endif 795 unsigned short 796 mode_unit_precision_inline (machine_mode mode) 797 { 798 extern const unsigned short mode_unit_precision[NUM_MACHINE_MODES]; 799 gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES); 800 switch (mode) 801 { 802 case VOIDmode: return 0; 803 case BLKmode: return 0; 804 case CCmode: return 4*BITS_PER_UNIT; 805 case CCGCmode: return 4*BITS_PER_UNIT; 806 case CCGOCmode: return 4*BITS_PER_UNIT; 807 case CCNOmode: return 4*BITS_PER_UNIT; 808 case CCAmode: return 4*BITS_PER_UNIT; 809 case CCCmode: return 4*BITS_PER_UNIT; 810 case CCOmode: return 4*BITS_PER_UNIT; 811 case CCPmode: return 4*BITS_PER_UNIT; 812 case CCSmode: return 4*BITS_PER_UNIT; 813 case CCZmode: return 4*BITS_PER_UNIT; 814 case CCFPmode: return 4*BITS_PER_UNIT; 815 case CCFPUmode: return 4*BITS_PER_UNIT; 816 case BImode: return 1; 817 case QImode: return 1*BITS_PER_UNIT; 818 case HImode: return 2*BITS_PER_UNIT; 819 case SImode: return 4*BITS_PER_UNIT; 820 case DImode: return 8*BITS_PER_UNIT; 821 case TImode: return 16*BITS_PER_UNIT; 822 case OImode: return 32*BITS_PER_UNIT; 823 case XImode: return 64*BITS_PER_UNIT; 824 case BND32mode: return 8*BITS_PER_UNIT; 825 case BND64mode: return 16*BITS_PER_UNIT; 826 case QQmode: return 1*BITS_PER_UNIT; 827 case HQmode: return 2*BITS_PER_UNIT; 828 case SQmode: return 4*BITS_PER_UNIT; 829 case DQmode: return 8*BITS_PER_UNIT; 830 case TQmode: return 16*BITS_PER_UNIT; 831 case UQQmode: return 1*BITS_PER_UNIT; 832 case UHQmode: return 2*BITS_PER_UNIT; 833 case USQmode: return 4*BITS_PER_UNIT; 834 case UDQmode: return 8*BITS_PER_UNIT; 835 case UTQmode: return 16*BITS_PER_UNIT; 836 case HAmode: return 2*BITS_PER_UNIT; 837 case SAmode: return 4*BITS_PER_UNIT; 838 case DAmode: return 8*BITS_PER_UNIT; 839 case TAmode: return 16*BITS_PER_UNIT; 840 case UHAmode: return 2*BITS_PER_UNIT; 841 case USAmode: return 4*BITS_PER_UNIT; 842 case UDAmode: return 8*BITS_PER_UNIT; 843 case UTAmode: return 16*BITS_PER_UNIT; 844 case SFmode: return 4*BITS_PER_UNIT; 845 case DFmode: return 8*BITS_PER_UNIT; 846 case XFmode: return 80; 847 case TFmode: return 16*BITS_PER_UNIT; 848 case SDmode: return 4*BITS_PER_UNIT; 849 case DDmode: return 8*BITS_PER_UNIT; 850 case TDmode: return 16*BITS_PER_UNIT; 851 case CQImode: return 1*BITS_PER_UNIT; 852 case CHImode: return 2*BITS_PER_UNIT; 853 case CSImode: return 4*BITS_PER_UNIT; 854 case CDImode: return 8*BITS_PER_UNIT; 855 case CTImode: return 16*BITS_PER_UNIT; 856 case COImode: return 32*BITS_PER_UNIT; 857 case CXImode: return 64*BITS_PER_UNIT; 858 case SCmode: return 4*BITS_PER_UNIT; 859 case DCmode: return 8*BITS_PER_UNIT; 860 case XCmode: return 80; 861 case TCmode: return 16*BITS_PER_UNIT; 862 case V2QImode: return 1*BITS_PER_UNIT; 863 case V4QImode: return 1*BITS_PER_UNIT; 864 case V2HImode: return 2*BITS_PER_UNIT; 865 case V1SImode: return 4*BITS_PER_UNIT; 866 case V8QImode: return 1*BITS_PER_UNIT; 867 case V4HImode: return 2*BITS_PER_UNIT; 868 case V2SImode: return 4*BITS_PER_UNIT; 869 case V1DImode: return 8*BITS_PER_UNIT; 870 case V12QImode: return 1*BITS_PER_UNIT; 871 case V6HImode: return 2*BITS_PER_UNIT; 872 case V14QImode: return 1*BITS_PER_UNIT; 873 case V16QImode: return 1*BITS_PER_UNIT; 874 case V8HImode: return 2*BITS_PER_UNIT; 875 case V4SImode: return 4*BITS_PER_UNIT; 876 case V2DImode: return 8*BITS_PER_UNIT; 877 case V1TImode: return 16*BITS_PER_UNIT; 878 case V32QImode: return 1*BITS_PER_UNIT; 879 case V16HImode: return 2*BITS_PER_UNIT; 880 case V8SImode: return 4*BITS_PER_UNIT; 881 case V4DImode: return 8*BITS_PER_UNIT; 882 case V2TImode: return 16*BITS_PER_UNIT; 883 case V64QImode: return 1*BITS_PER_UNIT; 884 case V32HImode: return 2*BITS_PER_UNIT; 885 case V16SImode: return 4*BITS_PER_UNIT; 886 case V8DImode: return 8*BITS_PER_UNIT; 887 case V4TImode: return 16*BITS_PER_UNIT; 888 case V128QImode: return 1*BITS_PER_UNIT; 889 case V64HImode: return 2*BITS_PER_UNIT; 890 case V32SImode: return 4*BITS_PER_UNIT; 891 case V16DImode: return 8*BITS_PER_UNIT; 892 case V8TImode: return 16*BITS_PER_UNIT; 893 case V64SImode: return 4*BITS_PER_UNIT; 894 case V2SFmode: return 4*BITS_PER_UNIT; 895 case V4SFmode: return 4*BITS_PER_UNIT; 896 case V2DFmode: return 8*BITS_PER_UNIT; 897 case V8SFmode: return 4*BITS_PER_UNIT; 898 case V4DFmode: return 8*BITS_PER_UNIT; 899 case V2TFmode: return 16*BITS_PER_UNIT; 900 case V16SFmode: return 4*BITS_PER_UNIT; 901 case V8DFmode: return 8*BITS_PER_UNIT; 902 case V4TFmode: return 16*BITS_PER_UNIT; 903 case V32SFmode: return 4*BITS_PER_UNIT; 904 case V16DFmode: return 8*BITS_PER_UNIT; 905 case V8TFmode: return 16*BITS_PER_UNIT; 906 case V64SFmode: return 4*BITS_PER_UNIT; 907 case V32DFmode: return 8*BITS_PER_UNIT; 908 case V16TFmode: return 16*BITS_PER_UNIT; 909 default: return mode_unit_precision[mode]; 910 } 911 } 912 913 #endif /* GCC_VERSION >= 4001 */ 914 915 #endif /* insn-modes.h */ 916