1//===-- ARMArchName.def - List of the ARM arch names ------------*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file contains the list of the supported ARM architecture names,
11// i.e. the supported value for -march= option.
12//
13//===----------------------------------------------------------------------===//
14
15// NOTE: NO INCLUDE GUARD DESIRED!
16
17#ifndef ARM_ARCH_NAME
18#error "You must define ARM_ARCH_NAME before including ARMArchName.def"
19#endif
20
21// ARM_ARCH_NAME(NAME, ID, DEFAULT_CPU_NAME, DEFAULT_CPU_ARCH)
22ARM_ARCH_NAME("armv2",   ARMV2,   "2",       v4)
23ARM_ARCH_NAME("armv2a",  ARMV2A,  "2A",      v4)
24ARM_ARCH_NAME("armv3",   ARMV3,   "3",       v4)
25ARM_ARCH_NAME("armv3m",  ARMV3M,  "3M",      v4)
26ARM_ARCH_NAME("armv4",   ARMV4,   "4",       v4)
27ARM_ARCH_NAME("armv4t",  ARMV4T,  "4T",      v4T)
28ARM_ARCH_NAME("armv5",   ARMV5,   "5",       v5T)
29ARM_ARCH_NAME("armv5t",  ARMV5T,  "5T",      v5T)
30ARM_ARCH_NAME("armv5te", ARMV5TE, "5TE",     v5TE)
31ARM_ARCH_NAME("armv6",   ARMV6,   "6",       v6)
32ARM_ARCH_NAME("armv6j",  ARMV6J,  "6J",      v6)
33ARM_ARCH_NAME("armv6k",  ARMV6K,  "6K",      v6K)
34ARM_ARCH_NAME("armv6t2", ARMV6T2, "6T2",     v6T2)
35ARM_ARCH_NAME("armv6z",  ARMV6Z,  "6Z",      v6KZ)
36ARM_ARCH_NAME("armv6zk", ARMV6ZK, "6ZK",     v6KZ)
37ARM_ARCH_NAME("armv6-m", ARMV6M,  "6-M",     v6_M)
38ARM_ARCH_NAME("armv7",   ARMV7,   "7",       v7)
39ARM_ARCH_NAME("armv7-a", ARMV7A,  "7-A",     v7)
40ARM_ARCH_ALIAS("armv7a", ARMV7A)
41ARM_ARCH_NAME("armv7-r", ARMV7R,  "7-R",     v7)
42ARM_ARCH_ALIAS("armv7r", ARMV7R)
43ARM_ARCH_NAME("armv7-m", ARMV7M,  "7-M",     v7)
44ARM_ARCH_ALIAS("armv7m", ARMV7M)
45ARM_ARCH_NAME("armv8-a", ARMV8A,  "8-A",     v8)
46ARM_ARCH_ALIAS("armv8a", ARMV8A)
47ARM_ARCH_NAME("armv8.1-a", ARMV8_1A, "8.1-A", v8)
48ARM_ARCH_ALIAS("armv8.1a", ARMV8_1A)
49ARM_ARCH_NAME("iwmmxt",  IWMMXT,  "iwmmxt",  v5TE)
50ARM_ARCH_NAME("iwmmxt2", IWMMXT2, "iwmmxt2", v5TE)
51
52#undef ARM_ARCH_NAME
53#undef ARM_ARCH_ALIAS
54