1 /* This file is automatically generated. DO NOT EDIT! */ 2 /* Generated from: NetBSD: mknative-gcc,v 1.108 2020/09/05 10:58:08 mrg Exp */ 3 /* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp */ 4 5 /* -*- buffer-read-only: t -*- 6 Generated automatically by parsecpu.awk from arm-cpus.in. 7 Do not edit. 8 9 Copyright (C) 2011-2019 Free Software Foundation, Inc. 10 11 This file is part of GCC. 12 13 GCC is free software; you can redistribute it and/or modify 14 it under the terms of the GNU General Public License as 15 published by the Free Software Foundation; either version 3, 16 or (at your option) any later version. 17 18 GCC is distributed in the hope that it will be useful, 19 but WITHOUT ANY WARRANTY; without even the implied warranty of 20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 GNU General Public License for more details. 22 23 You should have received a copy of the GNU General Public 24 License along with GCC; see the file COPYING3. If not see 25 <http://www.gnu.org/licenses/>. */ 26 27 enum isa_feature { 28 isa_nobit = 0, 29 isa_bit_vfpv2, 30 isa_bit_adiv, 31 isa_bit_vfpv3, 32 isa_bit_vfpv4, 33 isa_bit_smallmul, 34 isa_bit_iwmmxt, 35 isa_bit_armv5te, 36 isa_bit_fp16fml, 37 isa_bit_xscale, 38 isa_bit_sb, 39 isa_bit_thumb, 40 isa_bit_quirk_cm3_ldrd, 41 isa_bit_be8, 42 isa_bit_armv5t, 43 isa_bit_dotprod, 44 isa_bit_lpae, 45 isa_bit_armv4, 46 isa_bit_quirk_armv6kz, 47 isa_bit_neon, 48 isa_bit_armv6, 49 isa_bit_crc32, 50 isa_bit_armv7, 51 isa_bit_armv7em, 52 isa_bit_cmse, 53 isa_bit_armv8, 54 isa_bit_fpv5, 55 isa_bit_tdiv, 56 isa_bit_quirk_no_volatile_ce, 57 isa_bit_fp_d32, 58 isa_bit_thumb2, 59 isa_bit_iwmmxt2, 60 isa_bit_notm, 61 isa_bit_fp16, 62 isa_bit_armv8_1, 63 isa_bit_fp16conv, 64 isa_bit_armv8_2, 65 isa_bit_armv6k, 66 isa_bit_armv8_3, 67 isa_bit_armv8_4, 68 isa_bit_mp, 69 isa_bit_armv8_5, 70 isa_bit_crypto, 71 isa_bit_fp_dbl, 72 isa_bit_sec, 73 isa_bit_predres, 74 isa_num_bits 75 }; 76 77 #define ISA_CRYPTO \ 78 isa_bit_crypto, \ 79 isa_bit_fp_d32, \ 80 isa_bit_neon, \ 81 isa_bit_fp_dbl 82 83 #define ISA_ARMv8_1a \ 84 isa_bit_crc32, \ 85 isa_bit_armv5te, \ 86 isa_bit_be8, \ 87 isa_bit_mp, \ 88 isa_bit_armv4, \ 89 isa_bit_armv6, \ 90 isa_bit_armv7, \ 91 isa_bit_armv8, \ 92 isa_bit_lpae, \ 93 isa_bit_armv5t, \ 94 isa_bit_thumb, \ 95 isa_bit_notm, \ 96 isa_bit_armv6k, \ 97 isa_bit_adiv, \ 98 isa_bit_tdiv, \ 99 isa_bit_thumb2, \ 100 isa_bit_armv8_1, \ 101 isa_bit_sec 102 103 #define ISA_ARMv5t \ 104 isa_bit_thumb, \ 105 isa_bit_notm, \ 106 isa_bit_armv5t, \ 107 isa_bit_armv4 108 109 #define ISA_ALL_CRYPTO \ 110 isa_bit_crypto 111 112 #define ISA_DOTPROD \ 113 isa_bit_fp_dbl, \ 114 isa_bit_neon, \ 115 isa_bit_fp_d32, \ 116 isa_bit_dotprod 117 118 #define ISA_ARMv7m \ 119 isa_bit_thumb, \ 120 isa_bit_thumb2, \ 121 isa_bit_be8, \ 122 isa_bit_tdiv, \ 123 isa_bit_armv5t, \ 124 isa_bit_armv5te, \ 125 isa_bit_armv4, \ 126 isa_bit_armv6, \ 127 isa_bit_armv7 128 129 #define ISA_ARMv8m_main \ 130 isa_bit_thumb2, \ 131 isa_bit_armv5te, \ 132 isa_bit_armv4, \ 133 isa_bit_armv6, \ 134 isa_bit_armv7, \ 135 isa_bit_armv8, \ 136 isa_bit_cmse, \ 137 isa_bit_thumb, \ 138 isa_bit_armv5t, \ 139 isa_bit_tdiv, \ 140 isa_bit_be8 141 142 #define ISA_ARMv8m_base \ 143 isa_bit_be8, \ 144 isa_bit_tdiv, \ 145 isa_bit_armv5t, \ 146 isa_bit_armv4, \ 147 isa_bit_armv6, \ 148 isa_bit_armv8, \ 149 isa_bit_armv5te, \ 150 isa_bit_cmse, \ 151 isa_bit_thumb 152 153 #define ISA_FPv5 \ 154 isa_bit_fp16conv, \ 155 isa_bit_vfpv2, \ 156 isa_bit_vfpv3, \ 157 isa_bit_vfpv4, \ 158 isa_bit_fpv5 159 160 #define ISA_ARMv7r \ 161 isa_bit_tdiv, \ 162 isa_bit_armv5te, \ 163 isa_bit_be8, \ 164 isa_bit_armv4, \ 165 isa_bit_armv6, \ 166 isa_bit_armv7, \ 167 isa_bit_thumb2, \ 168 isa_bit_thumb, \ 169 isa_bit_armv5t, \ 170 isa_bit_armv6k, \ 171 isa_bit_notm 172 173 #define ISA_ARMv8_3a \ 174 isa_bit_thumb2, \ 175 isa_bit_armv4, \ 176 isa_bit_armv6, \ 177 isa_bit_armv7, \ 178 isa_bit_armv8, \ 179 isa_bit_lpae, \ 180 isa_bit_notm, \ 181 isa_bit_thumb, \ 182 isa_bit_adiv, \ 183 isa_bit_sec, \ 184 isa_bit_mp, \ 185 isa_bit_tdiv, \ 186 isa_bit_be8, \ 187 isa_bit_armv5t, \ 188 isa_bit_armv8_1, \ 189 isa_bit_armv8_2, \ 190 isa_bit_armv6k, \ 191 isa_bit_armv8_3, \ 192 isa_bit_crc32, \ 193 isa_bit_armv5te 194 195 #define ISA_VFPv2 \ 196 isa_bit_vfpv2 197 198 #define ISA_FP_DBL \ 199 isa_bit_fp_dbl 200 201 #define ISA_VFPv3 \ 202 isa_bit_vfpv2, \ 203 isa_bit_vfpv3 204 205 #define ISA_VFPv4 \ 206 isa_bit_vfpv2, \ 207 isa_bit_vfpv3, \ 208 isa_bit_vfpv4, \ 209 isa_bit_fp16conv 210 211 #define ISA_ARMv7ve \ 212 isa_bit_thumb2, \ 213 isa_bit_armv5te, \ 214 isa_bit_armv5t, \ 215 isa_bit_armv6k, \ 216 isa_bit_sec, \ 217 isa_bit_mp, \ 218 isa_bit_lpae, \ 219 isa_bit_be8, \ 220 isa_bit_notm, \ 221 isa_bit_armv4, \ 222 isa_bit_armv6, \ 223 isa_bit_armv7, \ 224 isa_bit_adiv, \ 225 isa_bit_tdiv, \ 226 isa_bit_thumb 227 228 #define ISA_ARMv4t \ 229 isa_bit_notm, \ 230 isa_bit_armv4, \ 231 isa_bit_thumb 232 233 #define ISA_ARMv6j \ 234 isa_bit_notm, \ 235 isa_bit_armv4, \ 236 isa_bit_armv6, \ 237 isa_bit_armv5t, \ 238 isa_bit_be8, \ 239 isa_bit_thumb, \ 240 isa_bit_armv5te 241 242 #define ISA_ALL_FP \ 243 isa_bit_fp_d32, \ 244 isa_bit_neon, \ 245 isa_bit_fpv5, \ 246 isa_bit_fp16conv, \ 247 isa_bit_fp16, \ 248 isa_bit_fp_dbl, \ 249 isa_bit_vfpv2, \ 250 isa_bit_vfpv3, \ 251 isa_bit_vfpv4, \ 252 isa_bit_crypto 253 254 #define ISA_ARMv6k \ 255 isa_bit_thumb, \ 256 isa_bit_notm, \ 257 isa_bit_armv5t, \ 258 isa_bit_be8, \ 259 isa_bit_armv6k, \ 260 isa_bit_armv5te, \ 261 isa_bit_armv4, \ 262 isa_bit_armv6 263 264 #define ISA_FP_D32 \ 265 isa_bit_fp_d32, \ 266 isa_bit_fp_dbl 267 268 #define ISA_ALL_QUIRKS \ 269 isa_bit_xscale, \ 270 isa_bit_quirk_cm3_ldrd, \ 271 isa_bit_quirk_armv6kz, \ 272 isa_bit_quirk_no_volatile_ce 273 274 #define ISA_ARMv8_5a \ 275 isa_bit_lpae, \ 276 isa_bit_be8, \ 277 isa_bit_notm, \ 278 isa_bit_adiv, \ 279 isa_bit_crc32, \ 280 isa_bit_tdiv, \ 281 isa_bit_predres, \ 282 isa_bit_armv4, \ 283 isa_bit_armv6, \ 284 isa_bit_armv7, \ 285 isa_bit_armv8, \ 286 isa_bit_sb, \ 287 isa_bit_armv5t, \ 288 isa_bit_mp, \ 289 isa_bit_thumb, \ 290 isa_bit_armv6k, \ 291 isa_bit_armv8_1, \ 292 isa_bit_armv8_2, \ 293 isa_bit_armv8_3, \ 294 isa_bit_armv8_4, \ 295 isa_bit_armv8_5, \ 296 isa_bit_armv5te, \ 297 isa_bit_sec, \ 298 isa_bit_thumb2 299 300 #define ISA_ARMv8a \ 301 isa_bit_mp, \ 302 isa_bit_armv5t, \ 303 isa_bit_lpae, \ 304 isa_bit_armv6k, \ 305 isa_bit_notm, \ 306 isa_bit_adiv, \ 307 isa_bit_thumb2, \ 308 isa_bit_tdiv, \ 309 isa_bit_sec, \ 310 isa_bit_armv4, \ 311 isa_bit_armv6, \ 312 isa_bit_armv7, \ 313 isa_bit_armv8, \ 314 isa_bit_armv5te, \ 315 isa_bit_be8, \ 316 isa_bit_thumb 317 318 #define ISA_ARMv6m \ 319 isa_bit_armv5t, \ 320 isa_bit_armv4, \ 321 isa_bit_armv6, \ 322 isa_bit_armv5te, \ 323 isa_bit_thumb, \ 324 isa_bit_be8 325 326 #define ISA_ALL_FPU_INTERNAL \ 327 isa_bit_fp16conv, \ 328 isa_bit_neon, \ 329 isa_bit_fpv5, \ 330 isa_bit_fp_dbl, \ 331 isa_bit_crypto, \ 332 isa_bit_fp_d32, \ 333 isa_bit_vfpv2, \ 334 isa_bit_vfpv3, \ 335 isa_bit_vfpv4 336 337 #define ISA_ARMv5tej \ 338 isa_bit_armv5t, \ 339 isa_bit_armv4, \ 340 isa_bit_thumb, \ 341 isa_bit_armv5te, \ 342 isa_bit_notm 343 344 #define ISA_ALL_SIMD \ 345 isa_bit_fp_d32, \ 346 isa_bit_fp16fml, \ 347 isa_bit_neon, \ 348 isa_bit_dotprod, \ 349 isa_bit_crypto 350 351 #define ISA_ARMv8_2a \ 352 isa_bit_armv5t, \ 353 isa_bit_tdiv, \ 354 isa_bit_thumb, \ 355 isa_bit_armv6k, \ 356 isa_bit_armv8_1, \ 357 isa_bit_armv8_2, \ 358 isa_bit_thumb2, \ 359 isa_bit_armv5te, \ 360 isa_bit_sec, \ 361 isa_bit_crc32, \ 362 isa_bit_be8, \ 363 isa_bit_lpae, \ 364 isa_bit_mp, \ 365 isa_bit_notm, \ 366 isa_bit_armv4, \ 367 isa_bit_armv6, \ 368 isa_bit_armv7, \ 369 isa_bit_armv8, \ 370 isa_bit_adiv 371 372 #define ISA_NEON \ 373 isa_bit_neon, \ 374 isa_bit_fp_dbl, \ 375 isa_bit_fp_d32 376 377 #define ISA_ARMv5te \ 378 isa_bit_thumb, \ 379 isa_bit_armv5te, \ 380 isa_bit_armv5t, \ 381 isa_bit_notm, \ 382 isa_bit_armv4 383 384 #define ISA_ARMv4 \ 385 isa_bit_armv4, \ 386 isa_bit_notm 387 388 #define ISA_ARMv6 \ 389 isa_bit_thumb, \ 390 isa_bit_armv5te, \ 391 isa_bit_armv5t, \ 392 isa_bit_notm, \ 393 isa_bit_be8, \ 394 isa_bit_armv4, \ 395 isa_bit_armv6 396 397 #define ISA_ARMv7 \ 398 isa_bit_thumb, \ 399 isa_bit_thumb2, \ 400 isa_bit_be8, \ 401 isa_bit_armv5t, \ 402 isa_bit_armv4, \ 403 isa_bit_armv6, \ 404 isa_bit_armv7, \ 405 isa_bit_armv5te 406 407 #define ISA_ARMv6zk \ 408 isa_bit_armv5t, \ 409 isa_bit_armv6k, \ 410 isa_bit_notm, \ 411 isa_bit_armv4, \ 412 isa_bit_armv6, \ 413 isa_bit_be8, \ 414 isa_bit_thumb, \ 415 isa_bit_armv5te 416 417 #define ISA_ARMv6kz \ 418 isa_bit_armv4, \ 419 isa_bit_armv6, \ 420 isa_bit_thumb, \ 421 isa_bit_notm, \ 422 isa_bit_quirk_armv6kz, \ 423 isa_bit_be8, \ 424 isa_bit_armv5t, \ 425 isa_bit_armv6k, \ 426 isa_bit_armv5te 427 428 #define ISA_ARMv6z \ 429 isa_bit_be8, \ 430 isa_bit_notm, \ 431 isa_bit_armv4, \ 432 isa_bit_armv6, \ 433 isa_bit_armv5t, \ 434 isa_bit_armv5te, \ 435 isa_bit_thumb 436 437 #define ISA_ARMv8r \ 438 isa_bit_armv4, \ 439 isa_bit_armv6, \ 440 isa_bit_armv7, \ 441 isa_bit_armv8, \ 442 isa_bit_lpae, \ 443 isa_bit_notm, \ 444 isa_bit_thumb, \ 445 isa_bit_adiv, \ 446 isa_bit_mp, \ 447 isa_bit_armv5t, \ 448 isa_bit_tdiv, \ 449 isa_bit_armv6k, \ 450 isa_bit_armv5te, \ 451 isa_bit_thumb2, \ 452 isa_bit_sec, \ 453 isa_bit_be8 454 455 #define ISA_FP_ARMv8 \ 456 isa_bit_fp_d32, \ 457 isa_bit_vfpv2, \ 458 isa_bit_vfpv3, \ 459 isa_bit_vfpv4, \ 460 isa_bit_fpv5, \ 461 isa_bit_fp16conv, \ 462 isa_bit_fp_dbl 463 464 #define ISA_ALL_SIMD_INTERNAL \ 465 isa_bit_crypto, \ 466 isa_bit_fp_d32, \ 467 isa_bit_neon 468 469 #define ISA_ARMv8_4a \ 470 isa_bit_thumb, \ 471 isa_bit_armv6k, \ 472 isa_bit_mp, \ 473 isa_bit_sec, \ 474 isa_bit_thumb2, \ 475 isa_bit_be8, \ 476 isa_bit_armv8_1, \ 477 isa_bit_armv8_2, \ 478 isa_bit_armv8_3, \ 479 isa_bit_armv8_4, \ 480 isa_bit_armv5te, \ 481 isa_bit_crc32, \ 482 isa_bit_lpae, \ 483 isa_bit_notm, \ 484 isa_bit_adiv, \ 485 isa_bit_armv4, \ 486 isa_bit_armv6, \ 487 isa_bit_armv7, \ 488 isa_bit_armv8, \ 489 isa_bit_tdiv, \ 490 isa_bit_armv5t 491 492 #define ISA_ARMv7a \ 493 isa_bit_armv5t, \ 494 isa_bit_thumb, \ 495 isa_bit_armv5te, \ 496 isa_bit_armv6k, \ 497 isa_bit_thumb2, \ 498 isa_bit_armv4, \ 499 isa_bit_armv6, \ 500 isa_bit_armv7, \ 501 isa_bit_be8, \ 502 isa_bit_notm 503 504 #define ISA_ARMv6t2 \ 505 isa_bit_armv5t, \ 506 isa_bit_notm, \ 507 isa_bit_armv4, \ 508 isa_bit_armv6, \ 509 isa_bit_thumb2, \ 510 isa_bit_thumb, \ 511 isa_bit_armv5te, \ 512 isa_bit_be8 513 514 #define ISA_ARMv7em \ 515 isa_bit_thumb2, \ 516 isa_bit_armv4, \ 517 isa_bit_armv6, \ 518 isa_bit_armv7, \ 519 isa_bit_tdiv, \ 520 isa_bit_armv5te, \ 521 isa_bit_thumb, \ 522 isa_bit_be8, \ 523 isa_bit_armv5t, \ 524 isa_bit_armv7em 525 526