/*===------ llvm/Config/TargetMCAs.def - LLVM Target MCAs -------*- C++ -*-===*\
|*                                                                            *|
|* Part of the LLVM Project, under the Apache License v2.0 with LLVM          *|
|* Exceptions.                                                                *|
|* See https://llvm.org/LICENSE.txt for license information.                  *|
|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception                    *|
|*                                                                            *|
|*===----------------------------------------------------------------------===*|
|*                                                                            *|
|* This file enumerates all of the target MCAs                  *|
|* supported by this build of LLVM. Clients of this file should define        *|
|* the LLVM_TARGETMCA macro to be a function-like macro with a             *|
|* single parameter (the name of the target whose assembly can be             *|
|* generated); including this file will then enumerate all of the             *|
|* targets with target MCAs.                                             *|
|*                                                                            *|
|* The set of targets supported by LLVM is generated at configuration         *|
|* time, at which point this header is generated. Do not modify this          *|
|* header directly.                                                           *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

#ifndef LLVM_TARGETMCA
#  error Please define the macro LLVM_TARGETMCA(TargetName)
#endif

#if defined(__i386__) || defined(__x86_64__)
LLVM_TARGETMCA(X86)
#endif
#if defined(__riscv)
LLVM_TARGETMCA(RISCV)
#endif


#undef LLVM_TARGETMCA
