1 /* This file is automatically generated. DO NOT EDIT! */ 2 /* Generated from: NetBSD: mknative-gcc,v 1.87 2016/03/17 23:41:21 mrg Exp */ 3 /* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp */ 4 5 /* Generated automatically from machmode.def and config/rs6000/rs6000-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 CCUNSmode, /* config/rs6000/rs6000-modes.def:32 */ 20 #define HAVE_CCUNSmode 21 CCFPmode, /* config/rs6000/rs6000-modes.def:33 */ 22 #define HAVE_CCFPmode 23 CCEQmode, /* config/rs6000/rs6000-modes.def:34 */ 24 #define HAVE_CCEQmode 25 BImode, /* machmode.def:179 */ 26 #define HAVE_BImode 27 QImode, /* machmode.def:187 */ 28 #define HAVE_QImode 29 HImode, /* machmode.def:188 */ 30 #define HAVE_HImode 31 SImode, /* machmode.def:189 */ 32 #define HAVE_SImode 33 DImode, /* machmode.def:190 */ 34 #define HAVE_DImode 35 TImode, /* machmode.def:191 */ 36 #define HAVE_TImode 37 PTImode, /* config/rs6000/rs6000-modes.def:49 */ 38 #define HAVE_PTImode 39 QQmode, /* machmode.def:217 */ 40 #define HAVE_QQmode 41 HQmode, /* machmode.def:218 */ 42 #define HAVE_HQmode 43 SQmode, /* machmode.def:219 */ 44 #define HAVE_SQmode 45 DQmode, /* machmode.def:220 */ 46 #define HAVE_DQmode 47 TQmode, /* machmode.def:221 */ 48 #define HAVE_TQmode 49 UQQmode, /* machmode.def:223 */ 50 #define HAVE_UQQmode 51 UHQmode, /* machmode.def:224 */ 52 #define HAVE_UHQmode 53 USQmode, /* machmode.def:225 */ 54 #define HAVE_USQmode 55 UDQmode, /* machmode.def:226 */ 56 #define HAVE_UDQmode 57 UTQmode, /* machmode.def:227 */ 58 #define HAVE_UTQmode 59 HAmode, /* machmode.def:229 */ 60 #define HAVE_HAmode 61 SAmode, /* machmode.def:230 */ 62 #define HAVE_SAmode 63 DAmode, /* machmode.def:231 */ 64 #define HAVE_DAmode 65 TAmode, /* machmode.def:232 */ 66 #define HAVE_TAmode 67 UHAmode, /* machmode.def:234 */ 68 #define HAVE_UHAmode 69 USAmode, /* machmode.def:235 */ 70 #define HAVE_USAmode 71 UDAmode, /* machmode.def:236 */ 72 #define HAVE_UDAmode 73 UTAmode, /* machmode.def:237 */ 74 #define HAVE_UTAmode 75 SFmode, /* machmode.def:209 */ 76 #define HAVE_SFmode 77 DFmode, /* machmode.def:210 */ 78 #define HAVE_DFmode 79 TFmode, /* config/rs6000/rs6000-modes.def:23 */ 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 SCmode, /* machmode.def:246 */ 98 #define HAVE_SCmode 99 DCmode, /* machmode.def:246 */ 100 #define HAVE_DCmode 101 TCmode, /* machmode.def:246 */ 102 #define HAVE_TCmode 103 V8QImode, /* config/rs6000/rs6000-modes.def:37 */ 104 #define HAVE_V8QImode 105 V4HImode, /* config/rs6000/rs6000-modes.def:37 */ 106 #define HAVE_V4HImode 107 V2SImode, /* config/rs6000/rs6000-modes.def:37 */ 108 #define HAVE_V2SImode 109 V1DImode, /* config/rs6000/rs6000-modes.def:40 */ 110 #define HAVE_V1DImode 111 V16QImode, /* config/rs6000/rs6000-modes.def:38 */ 112 #define HAVE_V16QImode 113 V8HImode, /* config/rs6000/rs6000-modes.def:38 */ 114 #define HAVE_V8HImode 115 V4SImode, /* config/rs6000/rs6000-modes.def:38 */ 116 #define HAVE_V4SImode 117 V2DImode, /* config/rs6000/rs6000-modes.def:38 */ 118 #define HAVE_V2DImode 119 V1TImode, /* config/rs6000/rs6000-modes.def:41 */ 120 #define HAVE_V1TImode 121 V32QImode, /* config/rs6000/rs6000-modes.def:39 */ 122 #define HAVE_V32QImode 123 V16HImode, /* config/rs6000/rs6000-modes.def:39 */ 124 #define HAVE_V16HImode 125 V8SImode, /* config/rs6000/rs6000-modes.def:39 */ 126 #define HAVE_V8SImode 127 V4DImode, /* config/rs6000/rs6000-modes.def:39 */ 128 #define HAVE_V4DImode 129 V2TImode, /* config/rs6000/rs6000-modes.def:39 */ 130 #define HAVE_V2TImode 131 V2SFmode, /* config/rs6000/rs6000-modes.def:42 */ 132 #define HAVE_V2SFmode 133 V4SFmode, /* config/rs6000/rs6000-modes.def:43 */ 134 #define HAVE_V4SFmode 135 V2DFmode, /* config/rs6000/rs6000-modes.def:43 */ 136 #define HAVE_V2DFmode 137 V8SFmode, /* config/rs6000/rs6000-modes.def:44 */ 138 #define HAVE_V8SFmode 139 V4DFmode, /* config/rs6000/rs6000-modes.def:44 */ 140 #define HAVE_V4DFmode 141 V2TFmode, /* config/rs6000/rs6000-modes.def:44 */ 142 #define HAVE_V2TFmode 143 MAX_MACHINE_MODE, 144 145 MIN_MODE_RANDOM = VOIDmode, 146 MAX_MODE_RANDOM = BLKmode, 147 148 MIN_MODE_CC = CCmode, 149 MAX_MODE_CC = CCEQmode, 150 151 MIN_MODE_INT = QImode, 152 MAX_MODE_INT = TImode, 153 154 MIN_MODE_PARTIAL_INT = PTImode, 155 MAX_MODE_PARTIAL_INT = PTImode, 156 157 MIN_MODE_POINTER_BOUNDS = VOIDmode, 158 MAX_MODE_POINTER_BOUNDS = VOIDmode, 159 160 MIN_MODE_FRACT = QQmode, 161 MAX_MODE_FRACT = TQmode, 162 163 MIN_MODE_UFRACT = UQQmode, 164 MAX_MODE_UFRACT = UTQmode, 165 166 MIN_MODE_ACCUM = HAmode, 167 MAX_MODE_ACCUM = TAmode, 168 169 MIN_MODE_UACCUM = UHAmode, 170 MAX_MODE_UACCUM = UTAmode, 171 172 MIN_MODE_FLOAT = SFmode, 173 MAX_MODE_FLOAT = TFmode, 174 175 MIN_MODE_DECIMAL_FLOAT = SDmode, 176 MAX_MODE_DECIMAL_FLOAT = TDmode, 177 178 MIN_MODE_COMPLEX_INT = CQImode, 179 MAX_MODE_COMPLEX_INT = CTImode, 180 181 MIN_MODE_COMPLEX_FLOAT = SCmode, 182 MAX_MODE_COMPLEX_FLOAT = TCmode, 183 184 MIN_MODE_VECTOR_INT = V8QImode, 185 MAX_MODE_VECTOR_INT = V2TImode, 186 187 MIN_MODE_VECTOR_FRACT = VOIDmode, 188 MAX_MODE_VECTOR_FRACT = VOIDmode, 189 190 MIN_MODE_VECTOR_UFRACT = VOIDmode, 191 MAX_MODE_VECTOR_UFRACT = VOIDmode, 192 193 MIN_MODE_VECTOR_ACCUM = VOIDmode, 194 MAX_MODE_VECTOR_ACCUM = VOIDmode, 195 196 MIN_MODE_VECTOR_UACCUM = VOIDmode, 197 MAX_MODE_VECTOR_UACCUM = VOIDmode, 198 199 MIN_MODE_VECTOR_FLOAT = V2SFmode, 200 MAX_MODE_VECTOR_FLOAT = V2TFmode, 201 202 NUM_MACHINE_MODES = MAX_MACHINE_MODE 203 }; 204 205 #define CONST_MODE_SIZE const 206 #define CONST_MODE_BASE_ALIGN const 207 #define CONST_MODE_IBIT const 208 #define CONST_MODE_FBIT const 209 210 #define BITS_PER_UNIT (8) 211 #define MAX_BITSIZE_MODE_ANY_INT (16*BITS_PER_UNIT) 212 #define MAX_BITSIZE_MODE_ANY_MODE (32*BITS_PER_UNIT) 213 #define NUM_INT_N_ENTS 1 214 215 #if !defined (USED_FOR_TARGET) && GCC_VERSION >= 4001 216 217 #ifdef __cplusplus 218 inline __attribute__((__always_inline__)) 219 #else 220 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 221 #endif 222 unsigned char 223 mode_size_inline (machine_mode mode) 224 { 225 extern const unsigned char mode_size[NUM_MACHINE_MODES]; 226 switch (mode) 227 { 228 case VOIDmode: return 0; 229 case BLKmode: return 0; 230 case CCmode: return 4; 231 case CCUNSmode: return 4; 232 case CCFPmode: return 4; 233 case CCEQmode: return 4; 234 case BImode: return 1; 235 case QImode: return 1; 236 case HImode: return 2; 237 case SImode: return 4; 238 case DImode: return 8; 239 case TImode: return 16; 240 case PTImode: return 16; 241 case QQmode: return 1; 242 case HQmode: return 2; 243 case SQmode: return 4; 244 case DQmode: return 8; 245 case TQmode: return 16; 246 case UQQmode: return 1; 247 case UHQmode: return 2; 248 case USQmode: return 4; 249 case UDQmode: return 8; 250 case UTQmode: return 16; 251 case HAmode: return 2; 252 case SAmode: return 4; 253 case DAmode: return 8; 254 case TAmode: return 16; 255 case UHAmode: return 2; 256 case USAmode: return 4; 257 case UDAmode: return 8; 258 case UTAmode: return 16; 259 case SFmode: return 4; 260 case DFmode: return 8; 261 case TFmode: return 16; 262 case SDmode: return 4; 263 case DDmode: return 8; 264 case TDmode: return 16; 265 case CQImode: return 2; 266 case CHImode: return 4; 267 case CSImode: return 8; 268 case CDImode: return 16; 269 case CTImode: return 32; 270 case SCmode: return 8; 271 case DCmode: return 16; 272 case TCmode: return 32; 273 case V8QImode: return 8; 274 case V4HImode: return 8; 275 case V2SImode: return 8; 276 case V1DImode: return 8; 277 case V16QImode: return 16; 278 case V8HImode: return 16; 279 case V4SImode: return 16; 280 case V2DImode: return 16; 281 case V1TImode: return 16; 282 case V32QImode: return 32; 283 case V16HImode: return 32; 284 case V8SImode: return 32; 285 case V4DImode: return 32; 286 case V2TImode: return 32; 287 case V2SFmode: return 8; 288 case V4SFmode: return 16; 289 case V2DFmode: return 16; 290 case V8SFmode: return 32; 291 case V4DFmode: return 32; 292 case V2TFmode: return 32; 293 default: return mode_size[mode]; 294 } 295 } 296 297 #ifdef __cplusplus 298 inline __attribute__((__always_inline__)) 299 #else 300 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 301 #endif 302 unsigned char 303 mode_nunits_inline (machine_mode mode) 304 { 305 extern const unsigned char mode_nunits[NUM_MACHINE_MODES]; 306 switch (mode) 307 { 308 case VOIDmode: return 0; 309 case BLKmode: return 0; 310 case CCmode: return 1; 311 case CCUNSmode: return 1; 312 case CCFPmode: return 1; 313 case CCEQmode: return 1; 314 case BImode: return 1; 315 case QImode: return 1; 316 case HImode: return 1; 317 case SImode: return 1; 318 case DImode: return 1; 319 case TImode: return 1; 320 case PTImode: return 1; 321 case QQmode: return 1; 322 case HQmode: return 1; 323 case SQmode: return 1; 324 case DQmode: return 1; 325 case TQmode: return 1; 326 case UQQmode: return 1; 327 case UHQmode: return 1; 328 case USQmode: return 1; 329 case UDQmode: return 1; 330 case UTQmode: return 1; 331 case HAmode: return 1; 332 case SAmode: return 1; 333 case DAmode: return 1; 334 case TAmode: return 1; 335 case UHAmode: return 1; 336 case USAmode: return 1; 337 case UDAmode: return 1; 338 case UTAmode: return 1; 339 case SFmode: return 1; 340 case DFmode: return 1; 341 case TFmode: return 1; 342 case SDmode: return 1; 343 case DDmode: return 1; 344 case TDmode: return 1; 345 case CQImode: return 2; 346 case CHImode: return 2; 347 case CSImode: return 2; 348 case CDImode: return 2; 349 case CTImode: return 2; 350 case SCmode: return 2; 351 case DCmode: return 2; 352 case TCmode: return 2; 353 case V8QImode: return 8; 354 case V4HImode: return 4; 355 case V2SImode: return 2; 356 case V1DImode: return 1; 357 case V16QImode: return 16; 358 case V8HImode: return 8; 359 case V4SImode: return 4; 360 case V2DImode: return 2; 361 case V1TImode: return 1; 362 case V32QImode: return 32; 363 case V16HImode: return 16; 364 case V8SImode: return 8; 365 case V4DImode: return 4; 366 case V2TImode: return 2; 367 case V2SFmode: return 2; 368 case V4SFmode: return 4; 369 case V2DFmode: return 2; 370 case V8SFmode: return 8; 371 case V4DFmode: return 4; 372 case V2TFmode: return 2; 373 default: return mode_nunits[mode]; 374 } 375 } 376 377 #ifdef __cplusplus 378 inline __attribute__((__always_inline__)) 379 #else 380 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 381 #endif 382 unsigned char 383 mode_inner_inline (machine_mode mode) 384 { 385 extern const unsigned char mode_inner[NUM_MACHINE_MODES]; 386 switch (mode) 387 { 388 case VOIDmode: return VOIDmode; 389 case BLKmode: return VOIDmode; 390 case CCmode: return VOIDmode; 391 case CCUNSmode: return VOIDmode; 392 case CCFPmode: return VOIDmode; 393 case CCEQmode: return VOIDmode; 394 case BImode: return VOIDmode; 395 case QImode: return VOIDmode; 396 case HImode: return VOIDmode; 397 case SImode: return VOIDmode; 398 case DImode: return VOIDmode; 399 case TImode: return VOIDmode; 400 case PTImode: return VOIDmode; 401 case QQmode: return VOIDmode; 402 case HQmode: return VOIDmode; 403 case SQmode: return VOIDmode; 404 case DQmode: return VOIDmode; 405 case TQmode: return VOIDmode; 406 case UQQmode: return VOIDmode; 407 case UHQmode: return VOIDmode; 408 case USQmode: return VOIDmode; 409 case UDQmode: return VOIDmode; 410 case UTQmode: return VOIDmode; 411 case HAmode: return VOIDmode; 412 case SAmode: return VOIDmode; 413 case DAmode: return VOIDmode; 414 case TAmode: return VOIDmode; 415 case UHAmode: return VOIDmode; 416 case USAmode: return VOIDmode; 417 case UDAmode: return VOIDmode; 418 case UTAmode: return VOIDmode; 419 case SFmode: return VOIDmode; 420 case DFmode: return VOIDmode; 421 case TFmode: return VOIDmode; 422 case SDmode: return VOIDmode; 423 case DDmode: return VOIDmode; 424 case TDmode: return VOIDmode; 425 case CQImode: return QImode; 426 case CHImode: return HImode; 427 case CSImode: return SImode; 428 case CDImode: return DImode; 429 case CTImode: return TImode; 430 case SCmode: return SFmode; 431 case DCmode: return DFmode; 432 case TCmode: return TFmode; 433 case V8QImode: return QImode; 434 case V4HImode: return HImode; 435 case V2SImode: return SImode; 436 case V1DImode: return DImode; 437 case V16QImode: return QImode; 438 case V8HImode: return HImode; 439 case V4SImode: return SImode; 440 case V2DImode: return DImode; 441 case V1TImode: return TImode; 442 case V32QImode: return QImode; 443 case V16HImode: return HImode; 444 case V8SImode: return SImode; 445 case V4DImode: return DImode; 446 case V2TImode: return TImode; 447 case V2SFmode: return SFmode; 448 case V4SFmode: return SFmode; 449 case V2DFmode: return DFmode; 450 case V8SFmode: return SFmode; 451 case V4DFmode: return DFmode; 452 case V2TFmode: return TFmode; 453 default: return mode_inner[mode]; 454 } 455 } 456 457 #endif /* GCC_VERSION >= 4001 */ 458 459 #endif /* insn-modes.h */ 460