Line data Source code
1 : /* Generated automatically from machmode.def and config/i386/i386-modes.def 2 : by genmodes. */ 3 : 4 : #ifndef GCC_INSN_MODES_INLINE_H 5 : #define GCC_INSN_MODES_INLINE_H 6 : 7 : #if !defined (USED_FOR_TARGET) && GCC_VERSION >= 4001 8 : 9 : #ifdef __cplusplus 10 : inline __attribute__((__always_inline__)) 11 : #else 12 : extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 13 : #endif 14 : poly_uint16 15 0 : mode_size_inline (machine_mode mode) 16 : { 17 0 : extern poly_uint16_pod mode_size[NUM_MACHINE_MODES]; 18 0 : gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES); 19 0 : switch (mode) 20 : { 21 0 : case E_VOIDmode: return 0; 22 0 : case E_BLKmode: return 0; 23 0 : case E_CCmode: return 4; 24 0 : case E_CCGCmode: return 4; 25 0 : case E_CCGOCmode: return 4; 26 0 : case E_CCNOmode: return 4; 27 0 : case E_CCGZmode: return 4; 28 0 : case E_CCAmode: return 4; 29 0 : case E_CCCmode: return 4; 30 0 : case E_CCOmode: return 4; 31 0 : case E_CCPmode: return 4; 32 0 : case E_CCSmode: return 4; 33 0 : case E_CCZmode: return 4; 34 0 : case E_CCFPmode: return 4; 35 0 : case E_BImode: return 1; 36 0 : case E_QImode: return 1; 37 0 : case E_HImode: return 2; 38 0 : case E_SImode: return 4; 39 0 : case E_DImode: return 8; 40 0 : case E_TImode: return 16; 41 0 : case E_OImode: return 32; 42 0 : case E_XImode: return 64; 43 0 : case E_P2QImode: return 2; 44 0 : case E_P2HImode: return 4; 45 0 : case E_POImode: return 32; 46 0 : case E_QQmode: return 1; 47 0 : case E_HQmode: return 2; 48 0 : case E_SQmode: return 4; 49 0 : case E_DQmode: return 8; 50 0 : case E_TQmode: return 16; 51 0 : case E_UQQmode: return 1; 52 0 : case E_UHQmode: return 2; 53 0 : case E_USQmode: return 4; 54 0 : case E_UDQmode: return 8; 55 0 : case E_UTQmode: return 16; 56 0 : case E_HAmode: return 2; 57 0 : case E_SAmode: return 4; 58 0 : case E_DAmode: return 8; 59 0 : case E_TAmode: return 16; 60 0 : case E_UHAmode: return 2; 61 0 : case E_USAmode: return 4; 62 0 : case E_UDAmode: return 8; 63 0 : case E_UTAmode: return 16; 64 0 : case E_HFmode: return 2; 65 0 : case E_BFmode: return 2; 66 0 : case E_SFmode: return 4; 67 0 : case E_DFmode: return 8; 68 0 : case E_TFmode: return 16; 69 0 : case E_SDmode: return 4; 70 0 : case E_DDmode: return 8; 71 0 : case E_TDmode: return 16; 72 0 : case E_CQImode: return 2; 73 0 : case E_CP2QImode: return 4; 74 0 : case E_CHImode: return 4; 75 0 : case E_CP2HImode: return 8; 76 0 : case E_CSImode: return 8; 77 0 : case E_CDImode: return 16; 78 0 : case E_CTImode: return 32; 79 0 : case E_CPOImode: return 64; 80 0 : case E_COImode: return 64; 81 0 : case E_CXImode: return 128; 82 0 : case E_BCmode: return 4; 83 0 : case E_HCmode: return 4; 84 0 : case E_SCmode: return 8; 85 0 : case E_DCmode: return 16; 86 0 : case E_TCmode: return 32; 87 0 : case E_V2QImode: return 2; 88 0 : case E_V4QImode: return 4; 89 0 : case E_V2HImode: return 4; 90 0 : case E_V1SImode: return 4; 91 0 : case E_V8QImode: return 8; 92 0 : case E_V4HImode: return 8; 93 0 : case E_V2SImode: return 8; 94 0 : case E_V1DImode: return 8; 95 0 : case E_V12QImode: return 12; 96 0 : case E_V6HImode: return 12; 97 0 : case E_V14QImode: return 14; 98 0 : case E_V16QImode: return 16; 99 0 : case E_V8HImode: return 16; 100 0 : case E_V4SImode: return 16; 101 0 : case E_V2DImode: return 16; 102 0 : case E_V1TImode: return 16; 103 0 : case E_V32QImode: return 32; 104 0 : case E_V16HImode: return 32; 105 0 : case E_V8SImode: return 32; 106 0 : case E_V4DImode: return 32; 107 0 : case E_V2TImode: return 32; 108 0 : case E_V64QImode: return 64; 109 0 : case E_V32HImode: return 64; 110 0 : case E_V16SImode: return 64; 111 0 : case E_V8DImode: return 64; 112 0 : case E_V4TImode: return 64; 113 0 : case E_V128QImode: return 128; 114 0 : case E_V64HImode: return 128; 115 0 : case E_V32SImode: return 128; 116 0 : case E_V16DImode: return 128; 117 0 : case E_V8TImode: return 128; 118 0 : case E_V64SImode: return 256; 119 0 : case E_V2HFmode: return 4; 120 0 : case E_V2BFmode: return 4; 121 0 : case E_V4BFmode: return 8; 122 0 : case E_V4HFmode: return 8; 123 0 : case E_V2SFmode: return 8; 124 0 : case E_V6HFmode: return 12; 125 0 : case E_V8BFmode: return 16; 126 0 : case E_V8HFmode: return 16; 127 0 : case E_V4SFmode: return 16; 128 0 : case E_V2DFmode: return 16; 129 0 : case E_V16BFmode: return 32; 130 0 : case E_V16HFmode: return 32; 131 0 : case E_V8SFmode: return 32; 132 0 : case E_V4DFmode: return 32; 133 0 : case E_V2TFmode: return 32; 134 0 : case E_V32BFmode: return 64; 135 0 : case E_V32HFmode: return 64; 136 0 : case E_V16SFmode: return 64; 137 0 : case E_V8DFmode: return 64; 138 0 : case E_V4TFmode: return 64; 139 0 : case E_V64BFmode: return 128; 140 0 : case E_V64HFmode: return 128; 141 0 : case E_V32SFmode: return 128; 142 0 : case E_V16DFmode: return 128; 143 0 : case E_V8TFmode: return 128; 144 0 : case E_V128BFmode: return 256; 145 0 : case E_V128HFmode: return 256; 146 0 : case E_V64SFmode: return 256; 147 0 : case E_V32DFmode: return 256; 148 0 : case E_V16TFmode: return 256; 149 0 : default: return mode_size[mode]; 150 : } 151 : } 152 : 153 : #ifdef __cplusplus 154 : inline __attribute__((__always_inline__)) 155 : #else 156 : extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 157 : #endif 158 : poly_uint16 159 : mode_nunits_inline (machine_mode mode) 160 : { 161 : extern const poly_uint16_pod mode_nunits[NUM_MACHINE_MODES]; 162 : switch (mode) 163 : { 164 : case E_VOIDmode: return 0; 165 : case E_BLKmode: return 0; 166 : case E_CCmode: return 1; 167 : case E_CCGCmode: return 1; 168 : case E_CCGOCmode: return 1; 169 : case E_CCNOmode: return 1; 170 : case E_CCGZmode: return 1; 171 : case E_CCAmode: return 1; 172 : case E_CCCmode: return 1; 173 : case E_CCOmode: return 1; 174 : case E_CCPmode: return 1; 175 : case E_CCSmode: return 1; 176 : case E_CCZmode: return 1; 177 : case E_CCFPmode: return 1; 178 : case E_BImode: return 1; 179 : case E_QImode: return 1; 180 : case E_HImode: return 1; 181 : case E_SImode: return 1; 182 : case E_DImode: return 1; 183 : case E_TImode: return 1; 184 : case E_OImode: return 1; 185 : case E_XImode: return 1; 186 : case E_P2QImode: return 1; 187 : case E_P2HImode: return 1; 188 : case E_POImode: return 1; 189 : case E_QQmode: return 1; 190 : case E_HQmode: return 1; 191 : case E_SQmode: return 1; 192 : case E_DQmode: return 1; 193 : case E_TQmode: return 1; 194 : case E_UQQmode: return 1; 195 : case E_UHQmode: return 1; 196 : case E_USQmode: return 1; 197 : case E_UDQmode: return 1; 198 : case E_UTQmode: return 1; 199 : case E_HAmode: return 1; 200 : case E_SAmode: return 1; 201 : case E_DAmode: return 1; 202 : case E_TAmode: return 1; 203 : case E_UHAmode: return 1; 204 : case E_USAmode: return 1; 205 : case E_UDAmode: return 1; 206 : case E_UTAmode: return 1; 207 : case E_HFmode: return 1; 208 : case E_BFmode: return 1; 209 : case E_SFmode: return 1; 210 : case E_DFmode: return 1; 211 : case E_XFmode: return 1; 212 : case E_TFmode: return 1; 213 : case E_SDmode: return 1; 214 : case E_DDmode: return 1; 215 : case E_TDmode: return 1; 216 : case E_CQImode: return 2; 217 : case E_CP2QImode: return 2; 218 : case E_CHImode: return 2; 219 : case E_CP2HImode: return 2; 220 : case E_CSImode: return 2; 221 : case E_CDImode: return 2; 222 : case E_CTImode: return 2; 223 : case E_CPOImode: return 2; 224 : case E_COImode: return 2; 225 : case E_CXImode: return 2; 226 : case E_BCmode: return 2; 227 : case E_HCmode: return 2; 228 : case E_SCmode: return 2; 229 : case E_DCmode: return 2; 230 : case E_XCmode: return 2; 231 : case E_TCmode: return 2; 232 : case E_V2QImode: return 2; 233 : case E_V4QImode: return 4; 234 : case E_V2HImode: return 2; 235 : case E_V1SImode: return 1; 236 : case E_V8QImode: return 8; 237 : case E_V4HImode: return 4; 238 : case E_V2SImode: return 2; 239 : case E_V1DImode: return 1; 240 : case E_V12QImode: return 12; 241 : case E_V6HImode: return 6; 242 : case E_V14QImode: return 14; 243 : case E_V16QImode: return 16; 244 : case E_V8HImode: return 8; 245 : case E_V4SImode: return 4; 246 : case E_V2DImode: return 2; 247 : case E_V1TImode: return 1; 248 : case E_V32QImode: return 32; 249 : case E_V16HImode: return 16; 250 : case E_V8SImode: return 8; 251 : case E_V4DImode: return 4; 252 : case E_V2TImode: return 2; 253 : case E_V64QImode: return 64; 254 : case E_V32HImode: return 32; 255 : case E_V16SImode: return 16; 256 : case E_V8DImode: return 8; 257 : case E_V4TImode: return 4; 258 : case E_V128QImode: return 128; 259 : case E_V64HImode: return 64; 260 : case E_V32SImode: return 32; 261 : case E_V16DImode: return 16; 262 : case E_V8TImode: return 8; 263 : case E_V64SImode: return 64; 264 : case E_V2HFmode: return 2; 265 : case E_V2BFmode: return 2; 266 : case E_V4BFmode: return 4; 267 : case E_V4HFmode: return 4; 268 : case E_V2SFmode: return 2; 269 : case E_V6HFmode: return 6; 270 : case E_V8BFmode: return 8; 271 : case E_V8HFmode: return 8; 272 : case E_V4SFmode: return 4; 273 : case E_V2DFmode: return 2; 274 : case E_V16BFmode: return 16; 275 : case E_V16HFmode: return 16; 276 : case E_V8SFmode: return 8; 277 : case E_V4DFmode: return 4; 278 : case E_V2TFmode: return 2; 279 : case E_V32BFmode: return 32; 280 : case E_V32HFmode: return 32; 281 : case E_V16SFmode: return 16; 282 : case E_V8DFmode: return 8; 283 : case E_V4TFmode: return 4; 284 : case E_V64BFmode: return 64; 285 : case E_V64HFmode: return 64; 286 : case E_V32SFmode: return 32; 287 : case E_V16DFmode: return 16; 288 : case E_V8TFmode: return 8; 289 : case E_V128BFmode: return 128; 290 : case E_V128HFmode: return 128; 291 : case E_V64SFmode: return 64; 292 : case E_V32DFmode: return 32; 293 : case E_V16TFmode: return 16; 294 : default: return mode_nunits[mode]; 295 : } 296 : } 297 : 298 : #ifdef __cplusplus 299 : inline __attribute__((__always_inline__)) 300 : #else 301 : extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 302 : #endif 303 : unsigned short 304 0 : mode_inner_inline (machine_mode mode) 305 : { 306 0 : extern const unsigned short mode_inner[NUM_MACHINE_MODES]; 307 0 : gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES); 308 0 : switch (mode) 309 : { 310 : case E_VOIDmode: return E_VOIDmode; 311 : case E_BLKmode: return E_BLKmode; 312 : case E_CCmode: return E_CCmode; 313 : case E_CCGCmode: return E_CCGCmode; 314 : case E_CCGOCmode: return E_CCGOCmode; 315 : case E_CCNOmode: return E_CCNOmode; 316 : case E_CCGZmode: return E_CCGZmode; 317 : case E_CCAmode: return E_CCAmode; 318 : case E_CCCmode: return E_CCCmode; 319 : case E_CCOmode: return E_CCOmode; 320 : case E_CCPmode: return E_CCPmode; 321 : case E_CCSmode: return E_CCSmode; 322 : case E_CCZmode: return E_CCZmode; 323 : case E_CCFPmode: return E_CCFPmode; 324 : case E_BImode: return E_BImode; 325 : case E_QImode: return E_QImode; 326 : case E_HImode: return E_HImode; 327 : case E_SImode: return E_SImode; 328 : case E_DImode: return E_DImode; 329 : case E_TImode: return E_TImode; 330 : case E_OImode: return E_OImode; 331 : case E_XImode: return E_XImode; 332 : case E_P2QImode: return E_P2QImode; 333 : case E_P2HImode: return E_P2HImode; 334 : case E_POImode: return E_POImode; 335 : case E_QQmode: return E_QQmode; 336 : case E_HQmode: return E_HQmode; 337 : case E_SQmode: return E_SQmode; 338 : case E_DQmode: return E_DQmode; 339 : case E_TQmode: return E_TQmode; 340 : case E_UQQmode: return E_UQQmode; 341 : case E_UHQmode: return E_UHQmode; 342 : case E_USQmode: return E_USQmode; 343 : case E_UDQmode: return E_UDQmode; 344 : case E_UTQmode: return E_UTQmode; 345 : case E_HAmode: return E_HAmode; 346 : case E_SAmode: return E_SAmode; 347 : case E_DAmode: return E_DAmode; 348 : case E_TAmode: return E_TAmode; 349 : case E_UHAmode: return E_UHAmode; 350 : case E_USAmode: return E_USAmode; 351 : case E_UDAmode: return E_UDAmode; 352 : case E_UTAmode: return E_UTAmode; 353 : case E_HFmode: return E_HFmode; 354 : case E_BFmode: return E_BFmode; 355 : case E_SFmode: return E_SFmode; 356 : case E_DFmode: return E_DFmode; 357 : case E_XFmode: return E_XFmode; 358 : case E_TFmode: return E_TFmode; 359 : case E_SDmode: return E_SDmode; 360 : case E_DDmode: return E_DDmode; 361 : case E_TDmode: return E_TDmode; 362 : case E_CQImode: return E_QImode; 363 : case E_CP2QImode: return E_P2QImode; 364 : case E_CHImode: return E_HImode; 365 : case E_CP2HImode: return E_P2HImode; 366 : case E_CSImode: return E_SImode; 367 : case E_CDImode: return E_DImode; 368 : case E_CTImode: return E_TImode; 369 : case E_CPOImode: return E_POImode; 370 : case E_COImode: return E_OImode; 371 : case E_CXImode: return E_XImode; 372 : case E_BCmode: return E_BFmode; 373 : case E_HCmode: return E_HFmode; 374 : case E_SCmode: return E_SFmode; 375 : case E_DCmode: return E_DFmode; 376 : case E_XCmode: return E_XFmode; 377 : case E_TCmode: return E_TFmode; 378 : case E_V2QImode: return E_QImode; 379 : case E_V4QImode: return E_QImode; 380 : case E_V2HImode: return E_HImode; 381 : case E_V1SImode: return E_SImode; 382 : case E_V8QImode: return E_QImode; 383 : case E_V4HImode: return E_HImode; 384 : case E_V2SImode: return E_SImode; 385 : case E_V1DImode: return E_DImode; 386 : case E_V12QImode: return E_QImode; 387 : case E_V6HImode: return E_HImode; 388 : case E_V14QImode: return E_QImode; 389 : case E_V16QImode: return E_QImode; 390 : case E_V8HImode: return E_HImode; 391 : case E_V4SImode: return E_SImode; 392 : case E_V2DImode: return E_DImode; 393 : case E_V1TImode: return E_TImode; 394 : case E_V32QImode: return E_QImode; 395 : case E_V16HImode: return E_HImode; 396 : case E_V8SImode: return E_SImode; 397 : case E_V4DImode: return E_DImode; 398 : case E_V2TImode: return E_TImode; 399 : case E_V64QImode: return E_QImode; 400 : case E_V32HImode: return E_HImode; 401 : case E_V16SImode: return E_SImode; 402 : case E_V8DImode: return E_DImode; 403 : case E_V4TImode: return E_TImode; 404 : case E_V128QImode: return E_QImode; 405 : case E_V64HImode: return E_HImode; 406 : case E_V32SImode: return E_SImode; 407 : case E_V16DImode: return E_DImode; 408 : case E_V8TImode: return E_TImode; 409 : case E_V64SImode: return E_SImode; 410 : case E_V2HFmode: return E_HFmode; 411 : case E_V2BFmode: return E_BFmode; 412 : case E_V4BFmode: return E_BFmode; 413 : case E_V4HFmode: return E_HFmode; 414 : case E_V2SFmode: return E_SFmode; 415 : case E_V6HFmode: return E_HFmode; 416 : case E_V8BFmode: return E_BFmode; 417 : case E_V8HFmode: return E_HFmode; 418 : case E_V4SFmode: return E_SFmode; 419 : case E_V2DFmode: return E_DFmode; 420 : case E_V16BFmode: return E_BFmode; 421 : case E_V16HFmode: return E_HFmode; 422 : case E_V8SFmode: return E_SFmode; 423 : case E_V4DFmode: return E_DFmode; 424 : case E_V2TFmode: return E_TFmode; 425 : case E_V32BFmode: return E_BFmode; 426 : case E_V32HFmode: return E_HFmode; 427 : case E_V16SFmode: return E_SFmode; 428 : case E_V8DFmode: return E_DFmode; 429 : case E_V4TFmode: return E_TFmode; 430 : case E_V64BFmode: return E_BFmode; 431 : case E_V64HFmode: return E_HFmode; 432 : case E_V32SFmode: return E_SFmode; 433 : case E_V16DFmode: return E_DFmode; 434 : case E_V8TFmode: return E_TFmode; 435 : case E_V128BFmode: return E_BFmode; 436 : case E_V128HFmode: return E_HFmode; 437 : case E_V64SFmode: return E_SFmode; 438 : case E_V32DFmode: return E_DFmode; 439 : case E_V16TFmode: return E_TFmode; 440 : default: return mode_inner[mode]; 441 : } 442 : } 443 : 444 : #ifdef __cplusplus 445 : inline __attribute__((__always_inline__)) 446 : #else 447 : extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 448 : #endif 449 : unsigned char 450 : mode_unit_size_inline (machine_mode mode) 451 : { 452 : extern CONST_MODE_UNIT_SIZE unsigned char mode_unit_size[NUM_MACHINE_MODES]; 453 : gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES); 454 : switch (mode) 455 : { 456 : case E_VOIDmode: return 0; 457 : case E_BLKmode: return 0; 458 : case E_CCmode: return 4; 459 : case E_CCGCmode: return 4; 460 : case E_CCGOCmode: return 4; 461 : case E_CCNOmode: return 4; 462 : case E_CCGZmode: return 4; 463 : case E_CCAmode: return 4; 464 : case E_CCCmode: return 4; 465 : case E_CCOmode: return 4; 466 : case E_CCPmode: return 4; 467 : case E_CCSmode: return 4; 468 : case E_CCZmode: return 4; 469 : case E_CCFPmode: return 4; 470 : case E_BImode: return 1; 471 : case E_QImode: return 1; 472 : case E_HImode: return 2; 473 : case E_SImode: return 4; 474 : case E_DImode: return 8; 475 : case E_TImode: return 16; 476 : case E_OImode: return 32; 477 : case E_XImode: return 64; 478 : case E_P2QImode: return 2; 479 : case E_P2HImode: return 4; 480 : case E_POImode: return 32; 481 : case E_QQmode: return 1; 482 : case E_HQmode: return 2; 483 : case E_SQmode: return 4; 484 : case E_DQmode: return 8; 485 : case E_TQmode: return 16; 486 : case E_UQQmode: return 1; 487 : case E_UHQmode: return 2; 488 : case E_USQmode: return 4; 489 : case E_UDQmode: return 8; 490 : case E_UTQmode: return 16; 491 : case E_HAmode: return 2; 492 : case E_SAmode: return 4; 493 : case E_DAmode: return 8; 494 : case E_TAmode: return 16; 495 : case E_UHAmode: return 2; 496 : case E_USAmode: return 4; 497 : case E_UDAmode: return 8; 498 : case E_UTAmode: return 16; 499 : case E_HFmode: return 2; 500 : case E_BFmode: return 2; 501 : case E_SFmode: return 4; 502 : case E_DFmode: return 8; 503 : case E_TFmode: return 16; 504 : case E_SDmode: return 4; 505 : case E_DDmode: return 8; 506 : case E_TDmode: return 16; 507 : case E_CQImode: return 1; 508 : case E_CP2QImode: return 2; 509 : case E_CHImode: return 2; 510 : case E_CP2HImode: return 4; 511 : case E_CSImode: return 4; 512 : case E_CDImode: return 8; 513 : case E_CTImode: return 16; 514 : case E_CPOImode: return 32; 515 : case E_COImode: return 32; 516 : case E_CXImode: return 64; 517 : case E_BCmode: return 2; 518 : case E_HCmode: return 2; 519 : case E_SCmode: return 4; 520 : case E_DCmode: return 8; 521 : case E_TCmode: return 16; 522 : case E_V2QImode: return 1; 523 : case E_V4QImode: return 1; 524 : case E_V2HImode: return 2; 525 : case E_V1SImode: return 4; 526 : case E_V8QImode: return 1; 527 : case E_V4HImode: return 2; 528 : case E_V2SImode: return 4; 529 : case E_V1DImode: return 8; 530 : case E_V12QImode: return 1; 531 : case E_V6HImode: return 2; 532 : case E_V14QImode: return 1; 533 : case E_V16QImode: return 1; 534 : case E_V8HImode: return 2; 535 : case E_V4SImode: return 4; 536 : case E_V2DImode: return 8; 537 : case E_V1TImode: return 16; 538 : case E_V32QImode: return 1; 539 : case E_V16HImode: return 2; 540 : case E_V8SImode: return 4; 541 : case E_V4DImode: return 8; 542 : case E_V2TImode: return 16; 543 : case E_V64QImode: return 1; 544 : case E_V32HImode: return 2; 545 : case E_V16SImode: return 4; 546 : case E_V8DImode: return 8; 547 : case E_V4TImode: return 16; 548 : case E_V128QImode: return 1; 549 : case E_V64HImode: return 2; 550 : case E_V32SImode: return 4; 551 : case E_V16DImode: return 8; 552 : case E_V8TImode: return 16; 553 : case E_V64SImode: return 4; 554 : case E_V2HFmode: return 2; 555 : case E_V2BFmode: return 2; 556 : case E_V4BFmode: return 2; 557 : case E_V4HFmode: return 2; 558 : case E_V2SFmode: return 4; 559 : case E_V6HFmode: return 2; 560 : case E_V8BFmode: return 2; 561 : case E_V8HFmode: return 2; 562 : case E_V4SFmode: return 4; 563 : case E_V2DFmode: return 8; 564 : case E_V16BFmode: return 2; 565 : case E_V16HFmode: return 2; 566 : case E_V8SFmode: return 4; 567 : case E_V4DFmode: return 8; 568 : case E_V2TFmode: return 16; 569 : case E_V32BFmode: return 2; 570 : case E_V32HFmode: return 2; 571 : case E_V16SFmode: return 4; 572 : case E_V8DFmode: return 8; 573 : case E_V4TFmode: return 16; 574 : case E_V64BFmode: return 2; 575 : case E_V64HFmode: return 2; 576 : case E_V32SFmode: return 4; 577 : case E_V16DFmode: return 8; 578 : case E_V8TFmode: return 16; 579 : case E_V128BFmode: return 2; 580 : case E_V128HFmode: return 2; 581 : case E_V64SFmode: return 4; 582 : case E_V32DFmode: return 8; 583 : case E_V16TFmode: return 16; 584 : default: return mode_unit_size[mode]; 585 : } 586 : } 587 : 588 : #ifdef __cplusplus 589 : inline __attribute__((__always_inline__)) 590 : #else 591 : extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) 592 : #endif 593 : unsigned short 594 : mode_unit_precision_inline (machine_mode mode) 595 : { 596 : extern const unsigned short mode_unit_precision[NUM_MACHINE_MODES]; 597 : gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES); 598 : switch (mode) 599 : { 600 : case E_VOIDmode: return 0; 601 : case E_BLKmode: return 0; 602 : case E_CCmode: return 4*BITS_PER_UNIT; 603 : case E_CCGCmode: return 4*BITS_PER_UNIT; 604 : case E_CCGOCmode: return 4*BITS_PER_UNIT; 605 : case E_CCNOmode: return 4*BITS_PER_UNIT; 606 : case E_CCGZmode: return 4*BITS_PER_UNIT; 607 : case E_CCAmode: return 4*BITS_PER_UNIT; 608 : case E_CCCmode: return 4*BITS_PER_UNIT; 609 : case E_CCOmode: return 4*BITS_PER_UNIT; 610 : case E_CCPmode: return 4*BITS_PER_UNIT; 611 : case E_CCSmode: return 4*BITS_PER_UNIT; 612 : case E_CCZmode: return 4*BITS_PER_UNIT; 613 : case E_CCFPmode: return 4*BITS_PER_UNIT; 614 : case E_BImode: return 1; 615 : case E_QImode: return 1*BITS_PER_UNIT; 616 : case E_HImode: return 2*BITS_PER_UNIT; 617 : case E_SImode: return 4*BITS_PER_UNIT; 618 : case E_DImode: return 8*BITS_PER_UNIT; 619 : case E_TImode: return 16*BITS_PER_UNIT; 620 : case E_OImode: return 32*BITS_PER_UNIT; 621 : case E_XImode: return 64*BITS_PER_UNIT; 622 : case E_P2QImode: return 16; 623 : case E_P2HImode: return 32; 624 : case E_POImode: return 160; 625 : case E_QQmode: return 1*BITS_PER_UNIT; 626 : case E_HQmode: return 2*BITS_PER_UNIT; 627 : case E_SQmode: return 4*BITS_PER_UNIT; 628 : case E_DQmode: return 8*BITS_PER_UNIT; 629 : case E_TQmode: return 16*BITS_PER_UNIT; 630 : case E_UQQmode: return 1*BITS_PER_UNIT; 631 : case E_UHQmode: return 2*BITS_PER_UNIT; 632 : case E_USQmode: return 4*BITS_PER_UNIT; 633 : case E_UDQmode: return 8*BITS_PER_UNIT; 634 : case E_UTQmode: return 16*BITS_PER_UNIT; 635 : case E_HAmode: return 2*BITS_PER_UNIT; 636 : case E_SAmode: return 4*BITS_PER_UNIT; 637 : case E_DAmode: return 8*BITS_PER_UNIT; 638 : case E_TAmode: return 16*BITS_PER_UNIT; 639 : case E_UHAmode: return 2*BITS_PER_UNIT; 640 : case E_USAmode: return 4*BITS_PER_UNIT; 641 : case E_UDAmode: return 8*BITS_PER_UNIT; 642 : case E_UTAmode: return 16*BITS_PER_UNIT; 643 : case E_HFmode: return 2*BITS_PER_UNIT; 644 : case E_BFmode: return 2*BITS_PER_UNIT; 645 : case E_SFmode: return 4*BITS_PER_UNIT; 646 : case E_DFmode: return 8*BITS_PER_UNIT; 647 : case E_XFmode: return 80; 648 : case E_TFmode: return 16*BITS_PER_UNIT; 649 : case E_SDmode: return 4*BITS_PER_UNIT; 650 : case E_DDmode: return 8*BITS_PER_UNIT; 651 : case E_TDmode: return 16*BITS_PER_UNIT; 652 : case E_CQImode: return 1*BITS_PER_UNIT; 653 : case E_CP2QImode: return 16; 654 : case E_CHImode: return 2*BITS_PER_UNIT; 655 : case E_CP2HImode: return 32; 656 : case E_CSImode: return 4*BITS_PER_UNIT; 657 : case E_CDImode: return 8*BITS_PER_UNIT; 658 : case E_CTImode: return 16*BITS_PER_UNIT; 659 : case E_CPOImode: return 160; 660 : case E_COImode: return 32*BITS_PER_UNIT; 661 : case E_CXImode: return 64*BITS_PER_UNIT; 662 : case E_BCmode: return 2*BITS_PER_UNIT; 663 : case E_HCmode: return 2*BITS_PER_UNIT; 664 : case E_SCmode: return 4*BITS_PER_UNIT; 665 : case E_DCmode: return 8*BITS_PER_UNIT; 666 : case E_XCmode: return 80; 667 : case E_TCmode: return 16*BITS_PER_UNIT; 668 : case E_V2QImode: return 1*BITS_PER_UNIT; 669 : case E_V4QImode: return 1*BITS_PER_UNIT; 670 : case E_V2HImode: return 2*BITS_PER_UNIT; 671 : case E_V1SImode: return 4*BITS_PER_UNIT; 672 : case E_V8QImode: return 1*BITS_PER_UNIT; 673 : case E_V4HImode: return 2*BITS_PER_UNIT; 674 : case E_V2SImode: return 4*BITS_PER_UNIT; 675 : case E_V1DImode: return 8*BITS_PER_UNIT; 676 : case E_V12QImode: return 1*BITS_PER_UNIT; 677 : case E_V6HImode: return 2*BITS_PER_UNIT; 678 : case E_V14QImode: return 1*BITS_PER_UNIT; 679 : case E_V16QImode: return 1*BITS_PER_UNIT; 680 : case E_V8HImode: return 2*BITS_PER_UNIT; 681 : case E_V4SImode: return 4*BITS_PER_UNIT; 682 : case E_V2DImode: return 8*BITS_PER_UNIT; 683 : case E_V1TImode: return 16*BITS_PER_UNIT; 684 : case E_V32QImode: return 1*BITS_PER_UNIT; 685 : case E_V16HImode: return 2*BITS_PER_UNIT; 686 : case E_V8SImode: return 4*BITS_PER_UNIT; 687 : case E_V4DImode: return 8*BITS_PER_UNIT; 688 : case E_V2TImode: return 16*BITS_PER_UNIT; 689 : case E_V64QImode: return 1*BITS_PER_UNIT; 690 : case E_V32HImode: return 2*BITS_PER_UNIT; 691 : case E_V16SImode: return 4*BITS_PER_UNIT; 692 : case E_V8DImode: return 8*BITS_PER_UNIT; 693 : case E_V4TImode: return 16*BITS_PER_UNIT; 694 : case E_V128QImode: return 1*BITS_PER_UNIT; 695 : case E_V64HImode: return 2*BITS_PER_UNIT; 696 : case E_V32SImode: return 4*BITS_PER_UNIT; 697 : case E_V16DImode: return 8*BITS_PER_UNIT; 698 : case E_V8TImode: return 16*BITS_PER_UNIT; 699 : case E_V64SImode: return 4*BITS_PER_UNIT; 700 : case E_V2HFmode: return 2*BITS_PER_UNIT; 701 : case E_V2BFmode: return 2*BITS_PER_UNIT; 702 : case E_V4BFmode: return 2*BITS_PER_UNIT; 703 : case E_V4HFmode: return 2*BITS_PER_UNIT; 704 : case E_V2SFmode: return 4*BITS_PER_UNIT; 705 : case E_V6HFmode: return 2*BITS_PER_UNIT; 706 : case E_V8BFmode: return 2*BITS_PER_UNIT; 707 : case E_V8HFmode: return 2*BITS_PER_UNIT; 708 : case E_V4SFmode: return 4*BITS_PER_UNIT; 709 : case E_V2DFmode: return 8*BITS_PER_UNIT; 710 : case E_V16BFmode: return 2*BITS_PER_UNIT; 711 : case E_V16HFmode: return 2*BITS_PER_UNIT; 712 : case E_V8SFmode: return 4*BITS_PER_UNIT; 713 : case E_V4DFmode: return 8*BITS_PER_UNIT; 714 : case E_V2TFmode: return 16*BITS_PER_UNIT; 715 : case E_V32BFmode: return 2*BITS_PER_UNIT; 716 : case E_V32HFmode: return 2*BITS_PER_UNIT; 717 : case E_V16SFmode: return 4*BITS_PER_UNIT; 718 : case E_V8DFmode: return 8*BITS_PER_UNIT; 719 : case E_V4TFmode: return 16*BITS_PER_UNIT; 720 : case E_V64BFmode: return 2*BITS_PER_UNIT; 721 : case E_V64HFmode: return 2*BITS_PER_UNIT; 722 : case E_V32SFmode: return 4*BITS_PER_UNIT; 723 : case E_V16DFmode: return 8*BITS_PER_UNIT; 724 : case E_V8TFmode: return 16*BITS_PER_UNIT; 725 : case E_V128BFmode: return 2*BITS_PER_UNIT; 726 : case E_V128HFmode: return 2*BITS_PER_UNIT; 727 : case E_V64SFmode: return 4*BITS_PER_UNIT; 728 : case E_V32DFmode: return 8*BITS_PER_UNIT; 729 : case E_V16TFmode: return 16*BITS_PER_UNIT; 730 : default: return mode_unit_precision[mode]; 731 : } 732 : } 733 : 734 : #endif /* GCC_VERSION >= 4001 */ 735 : 736 : #endif /* insn-modes-inline.h */