//===-- ARMArchName.def - List of the ARM arch names ------------*- C++ -*-===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file contains the list of the supported ARM architecture names,
// i.e. the supported value for -march= option.
//
//===----------------------------------------------------------------------===//

// NOTE: NO INCLUDE GUARD DESIRED!

#ifndef ARM_ARCH_NAME
#error "You must define ARM_ARCH_NAME before including ARMArchName.def"
#endif

// ARM_ARCH_NAME(NAME, ID, DEFAULT_CPU_NAME, DEFAULT_CPU_ARCH)
ARM_ARCH_NAME("armv2",   ARMV2,   "2",       v4)
ARM_ARCH_NAME("armv2a",  ARMV2A,  "2A",      v4)
ARM_ARCH_NAME("armv3",   ARMV3,   "3",       v4)
ARM_ARCH_NAME("armv3m",  ARMV3M,  "3M",      v4)
ARM_ARCH_NAME("armv4",   ARMV4,   "4",       v4)
ARM_ARCH_NAME("armv4t",  ARMV4T,  "4T",      v4T)
ARM_ARCH_NAME("armv5",   ARMV5,   "5",       v5T)
ARM_ARCH_NAME("armv5t",  ARMV5T,  "5T",      v5T)
ARM_ARCH_NAME("armv5te", ARMV5TE, "5TE",     v5TE)
ARM_ARCH_NAME("armv6",   ARMV6,   "6",       v6)
ARM_ARCH_NAME("armv6j",  ARMV6J,  "6J",      v6)
ARM_ARCH_NAME("armv6t2", ARMV6T2, "6T2",     v6T2)
ARM_ARCH_NAME("armv6z",  ARMV6Z,  "6Z",      v6KZ)
ARM_ARCH_NAME("armv6zk", ARMV6ZK, "6ZK",     v6KZ)
ARM_ARCH_NAME("armv6-m", ARMV6M,  "6-M",     v6_M)
ARM_ARCH_NAME("armv7",   ARMV7,   "7",       v7)
ARM_ARCH_NAME("armv7-a", ARMV7A,  "7-A",     v7)
ARM_ARCH_ALIAS("armv7a", ARMV7A)
ARM_ARCH_NAME("armv7-r", ARMV7R,  "7-R",     v7)
ARM_ARCH_ALIAS("armv7r", ARMV7R)
ARM_ARCH_NAME("armv7-m", ARMV7M,  "7-M",     v7)
ARM_ARCH_ALIAS("armv7m", ARMV7M)
ARM_ARCH_NAME("armv8-a", ARMV8A,  "8-A",     v8)
ARM_ARCH_ALIAS("armv8a", ARMV8A)
ARM_ARCH_NAME("iwmmxt",  IWMMXT,  "iwmmxt",  v5TE)
ARM_ARCH_NAME("iwmmxt2", IWMMXT2, "iwmmxt2", v5TE)

#undef ARM_ARCH_NAME
#undef ARM_ARCH_ALIAS
