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