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