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