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