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/mips/mips-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 CCV2mode, /* config/mips/mips-modes.def:39 */ 20 #define HAVE_CCV2mode 21 CCV4mode, /* config/mips/mips-modes.def:43 */ 22 #define HAVE_CCV4mode 23 CCDSPmode, /* config/mips/mips-modes.def:48 */ 24 #define HAVE_CCDSPmode 25 CCFmode, /* config/mips/mips-modes.def:51 */ 26 #define HAVE_CCFmode 27 BImode, /* machmode.def:179 */ 28 #define HAVE_BImode 29 QImode, /* machmode.def:187 */ 30 #define HAVE_QImode 31 HImode, /* machmode.def:188 */ 32 #define HAVE_HImode 33 SImode, /* machmode.def:189 */ 34 #define HAVE_SImode 35 DImode, /* machmode.def:190 */ 36 #define HAVE_DImode 37 TImode, /* machmode.def:191 */ 38 #define HAVE_TImode 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/mips/mips-modes.def:20 */ 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 V4QImode, /* config/mips/mips-modes.def:23 */ 104 #define HAVE_V4QImode 105 V2HImode, /* config/mips/mips-modes.def:23 */ 106 #define HAVE_V2HImode 107 V8QImode, /* config/mips/mips-modes.def:24 */ 108 #define HAVE_V8QImode 109 V4HImode, /* config/mips/mips-modes.def:24 */ 110 #define HAVE_V4HImode 111 V2SImode, /* config/mips/mips-modes.def:24 */ 112 #define HAVE_V2SImode 113 V16QImode, /* config/mips/mips-modes.def:28 */ 114 #define HAVE_V16QImode 115 V8HImode, /* config/mips/mips-modes.def:29 */ 116 #define HAVE_V8HImode 117 V4SImode, /* config/mips/mips-modes.def:30 */ 118 #define HAVE_V4SImode 119 V4QQmode, /* config/mips/mips-modes.def:33 */ 120 #define HAVE_V4QQmode 121 V2HQmode, /* config/mips/mips-modes.def:33 */ 122 #define HAVE_V2HQmode 123 V4UQQmode, /* config/mips/mips-modes.def:34 */ 124 #define HAVE_V4UQQmode 125 V2UHQmode, /* config/mips/mips-modes.def:34 */ 126 #define HAVE_V2UHQmode 127 V2HAmode, /* config/mips/mips-modes.def:35 */ 128 #define HAVE_V2HAmode 129 V2UHAmode, /* config/mips/mips-modes.def:36 */ 130 #define HAVE_V2UHAmode 131 V2SFmode, /* config/mips/mips-modes.def:25 */ 132 #define HAVE_V2SFmode 133 V4SFmode, /* config/mips/mips-modes.def:31 */ 134 #define HAVE_V4SFmode 135 MAX_MACHINE_MODE, 136 137 MIN_MODE_RANDOM = VOIDmode, 138 MAX_MODE_RANDOM = BLKmode, 139 140 MIN_MODE_CC = CCmode, 141 MAX_MODE_CC = CCFmode, 142 143 MIN_MODE_INT = QImode, 144 MAX_MODE_INT = TImode, 145 146 MIN_MODE_PARTIAL_INT = VOIDmode, 147 MAX_MODE_PARTIAL_INT = VOIDmode, 148 149 MIN_MODE_POINTER_BOUNDS = VOIDmode, 150 MAX_MODE_POINTER_BOUNDS = VOIDmode, 151 152 MIN_MODE_FRACT = QQmode, 153 MAX_MODE_FRACT = TQmode, 154 155 MIN_MODE_UFRACT = UQQmode, 156 MAX_MODE_UFRACT = UTQmode, 157 158 MIN_MODE_ACCUM = HAmode, 159 MAX_MODE_ACCUM = TAmode, 160 161 MIN_MODE_UACCUM = UHAmode, 162 MAX_MODE_UACCUM = UTAmode, 163 164 MIN_MODE_FLOAT = SFmode, 165 MAX_MODE_FLOAT = TFmode, 166 167 MIN_MODE_DECIMAL_FLOAT = SDmode, 168 MAX_MODE_DECIMAL_FLOAT = TDmode, 169 170 MIN_MODE_COMPLEX_INT = CQImode, 171 MAX_MODE_COMPLEX_INT = CTImode, 172 173 MIN_MODE_COMPLEX_FLOAT = SCmode, 174 MAX_MODE_COMPLEX_FLOAT = TCmode, 175 176 MIN_MODE_VECTOR_INT = V4QImode, 177 MAX_MODE_VECTOR_INT = V4SImode, 178 179 MIN_MODE_VECTOR_FRACT = V4QQmode, 180 MAX_MODE_VECTOR_FRACT = V2HQmode, 181 182 MIN_MODE_VECTOR_UFRACT = V4UQQmode, 183 MAX_MODE_VECTOR_UFRACT = V2UHQmode, 184 185 MIN_MODE_VECTOR_ACCUM = V2HAmode, 186 MAX_MODE_VECTOR_ACCUM = V2HAmode, 187 188 MIN_MODE_VECTOR_UACCUM = V2UHAmode, 189 MAX_MODE_VECTOR_UACCUM = V2UHAmode, 190 191 MIN_MODE_VECTOR_FLOAT = V2SFmode, 192 MAX_MODE_VECTOR_FLOAT = V4SFmode, 193 194 NUM_MACHINE_MODES = MAX_MACHINE_MODE 195 }; 196 197 #define CONST_MODE_SIZE 198 #define CONST_MODE_BASE_ALIGN 199 #define CONST_MODE_IBIT const 200 #define CONST_MODE_FBIT const 201 202 #define BITS_PER_UNIT (8) 203 #define MAX_BITSIZE_MODE_ANY_INT (16*BITS_PER_UNIT) 204 #define MAX_BITSIZE_MODE_ANY_MODE (32*BITS_PER_UNIT) 205 #define NUM_INT_N_ENTS 1 206 207 #if !defined (USED_FOR_TARGET) && GCC_VERSION >= 4001 208 209 #ifdef __cplusplus 210 inline __attribute__((__always_inline__)) 211 #else 212 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 213 #endif 214 unsigned char 215 mode_size_inline (machine_mode mode) 216 { 217 extern unsigned char mode_size[NUM_MACHINE_MODES]; 218 switch (mode) 219 { 220 case VOIDmode: return 0; 221 case BLKmode: return 0; 222 case CCmode: return 4; 223 case CCDSPmode: return 4; 224 case CCFmode: return 4; 225 case BImode: return 1; 226 case QImode: return 1; 227 case HImode: return 2; 228 case SImode: return 4; 229 case DImode: return 8; 230 case TImode: return 16; 231 case QQmode: return 1; 232 case HQmode: return 2; 233 case SQmode: return 4; 234 case DQmode: return 8; 235 case TQmode: return 16; 236 case UQQmode: return 1; 237 case UHQmode: return 2; 238 case USQmode: return 4; 239 case UDQmode: return 8; 240 case UTQmode: return 16; 241 case HAmode: return 2; 242 case SAmode: return 4; 243 case DAmode: return 8; 244 case TAmode: return 16; 245 case UHAmode: return 2; 246 case USAmode: return 4; 247 case UDAmode: return 8; 248 case UTAmode: return 16; 249 case SFmode: return 4; 250 case DFmode: return 8; 251 case TFmode: return 16; 252 case SDmode: return 4; 253 case DDmode: return 8; 254 case TDmode: return 16; 255 case CQImode: return 2; 256 case CHImode: return 4; 257 case CSImode: return 8; 258 case CDImode: return 16; 259 case CTImode: return 32; 260 case SCmode: return 8; 261 case DCmode: return 16; 262 case TCmode: return 32; 263 case V4QImode: return 4; 264 case V2HImode: return 4; 265 case V8QImode: return 8; 266 case V4HImode: return 8; 267 case V2SImode: return 8; 268 case V16QImode: return 16; 269 case V8HImode: return 16; 270 case V4SImode: return 16; 271 case V4QQmode: return 4; 272 case V2HQmode: return 4; 273 case V4UQQmode: return 4; 274 case V2UHQmode: return 4; 275 case V2HAmode: return 4; 276 case V2UHAmode: return 4; 277 case V2SFmode: return 8; 278 case V4SFmode: return 16; 279 default: return mode_size[mode]; 280 } 281 } 282 283 #ifdef __cplusplus 284 inline __attribute__((__always_inline__)) 285 #else 286 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 287 #endif 288 unsigned char 289 mode_nunits_inline (machine_mode mode) 290 { 291 extern const unsigned char mode_nunits[NUM_MACHINE_MODES]; 292 switch (mode) 293 { 294 case VOIDmode: return 0; 295 case BLKmode: return 0; 296 case CCmode: return 1; 297 case CCV2mode: return 1; 298 case CCV4mode: return 1; 299 case CCDSPmode: return 1; 300 case CCFmode: return 1; 301 case BImode: return 1; 302 case QImode: return 1; 303 case HImode: return 1; 304 case SImode: return 1; 305 case DImode: return 1; 306 case TImode: return 1; 307 case QQmode: return 1; 308 case HQmode: return 1; 309 case SQmode: return 1; 310 case DQmode: return 1; 311 case TQmode: return 1; 312 case UQQmode: return 1; 313 case UHQmode: return 1; 314 case USQmode: return 1; 315 case UDQmode: return 1; 316 case UTQmode: return 1; 317 case HAmode: return 1; 318 case SAmode: return 1; 319 case DAmode: return 1; 320 case TAmode: return 1; 321 case UHAmode: return 1; 322 case USAmode: return 1; 323 case UDAmode: return 1; 324 case UTAmode: return 1; 325 case SFmode: return 1; 326 case DFmode: return 1; 327 case TFmode: return 1; 328 case SDmode: return 1; 329 case DDmode: return 1; 330 case TDmode: return 1; 331 case CQImode: return 2; 332 case CHImode: return 2; 333 case CSImode: return 2; 334 case CDImode: return 2; 335 case CTImode: return 2; 336 case SCmode: return 2; 337 case DCmode: return 2; 338 case TCmode: return 2; 339 case V4QImode: return 4; 340 case V2HImode: return 2; 341 case V8QImode: return 8; 342 case V4HImode: return 4; 343 case V2SImode: return 2; 344 case V16QImode: return 16; 345 case V8HImode: return 8; 346 case V4SImode: return 4; 347 case V4QQmode: return 4; 348 case V2HQmode: return 2; 349 case V4UQQmode: return 4; 350 case V2UHQmode: return 2; 351 case V2HAmode: return 2; 352 case V2UHAmode: return 2; 353 case V2SFmode: return 2; 354 case V4SFmode: return 4; 355 default: return mode_nunits[mode]; 356 } 357 } 358 359 #ifdef __cplusplus 360 inline __attribute__((__always_inline__)) 361 #else 362 extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 363 #endif 364 unsigned char 365 mode_inner_inline (machine_mode mode) 366 { 367 extern const unsigned char mode_inner[NUM_MACHINE_MODES]; 368 switch (mode) 369 { 370 case VOIDmode: return VOIDmode; 371 case BLKmode: return VOIDmode; 372 case CCmode: return VOIDmode; 373 case CCV2mode: return VOIDmode; 374 case CCV4mode: return VOIDmode; 375 case CCDSPmode: return VOIDmode; 376 case CCFmode: return VOIDmode; 377 case BImode: return VOIDmode; 378 case QImode: return VOIDmode; 379 case HImode: return VOIDmode; 380 case SImode: return VOIDmode; 381 case DImode: return VOIDmode; 382 case TImode: return VOIDmode; 383 case QQmode: return VOIDmode; 384 case HQmode: return VOIDmode; 385 case SQmode: return VOIDmode; 386 case DQmode: return VOIDmode; 387 case TQmode: return VOIDmode; 388 case UQQmode: return VOIDmode; 389 case UHQmode: return VOIDmode; 390 case USQmode: return VOIDmode; 391 case UDQmode: return VOIDmode; 392 case UTQmode: return VOIDmode; 393 case HAmode: return VOIDmode; 394 case SAmode: return VOIDmode; 395 case DAmode: return VOIDmode; 396 case TAmode: return VOIDmode; 397 case UHAmode: return VOIDmode; 398 case USAmode: return VOIDmode; 399 case UDAmode: return VOIDmode; 400 case UTAmode: return VOIDmode; 401 case SFmode: return VOIDmode; 402 case DFmode: return VOIDmode; 403 case TFmode: return VOIDmode; 404 case SDmode: return VOIDmode; 405 case DDmode: return VOIDmode; 406 case TDmode: return VOIDmode; 407 case CQImode: return QImode; 408 case CHImode: return HImode; 409 case CSImode: return SImode; 410 case CDImode: return DImode; 411 case CTImode: return TImode; 412 case SCmode: return SFmode; 413 case DCmode: return DFmode; 414 case TCmode: return TFmode; 415 case V4QImode: return QImode; 416 case V2HImode: return HImode; 417 case V8QImode: return QImode; 418 case V4HImode: return HImode; 419 case V2SImode: return SImode; 420 case V16QImode: return QImode; 421 case V8HImode: return HImode; 422 case V4SImode: return SImode; 423 case V4QQmode: return QQmode; 424 case V2HQmode: return HQmode; 425 case V4UQQmode: return UQQmode; 426 case V2UHQmode: return UHQmode; 427 case V2HAmode: return HAmode; 428 case V2UHAmode: return UHAmode; 429 case V2SFmode: return SFmode; 430 case V4SFmode: return SFmode; 431 default: return mode_inner[mode]; 432 } 433 } 434 435 #endif /* GCC_VERSION >= 4001 */ 436 437 #endif /* insn-modes.h */ 438