LLVM 22.0.0git
AArch64CPUFeatures.inc
Go to the documentation of this file.
1//===- AArch64CPUFeatures.inc - AArch64 CPU Features enum -------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file defines the CPUFeatures enum for AArch64 to facilitate better
10// testing of this code between LLVM and compiler-rt, primarily that the files
11// are an exact match.
12//
13// This file has two identical copies. The primary copy lives in LLVM and
14// the other one sits in compiler-rt/lib/builtins/cpu_model directory. To make
15// changes in this file, first modify the primary copy and copy it over to
16// compiler-rt. compiler-rt tests will fail if the two files are not synced up.
17//
18//===----------------------------------------------------------------------===//
19
20#ifndef AARCH64_CPU_FEATURS_INC_H
21#define AARCH64_CPU_FEATURS_INC_H
22
23// Function Multi Versioning CPU features.
24enum CPUFeatures {
33 FEAT_FP,
39 RESERVED_FEAT_AES, // previously used and now ABI legacy
50 RESERVED_FEAT_DGH, // previously used and now ABI legacy
53 RESERVED_FEAT_EBF16, // previously used and now ABI legacy
54 RESERVED_FEAT_RPRES, // previously used and now ABI legacy
56 RESERVED_FEAT_SVE_BF16, // previously used and now ABI legacy
57 RESERVED_FEAT_SVE_EBF16, // previously used and now ABI legacy
58 RESERVED_FEAT_SVE_I8MM, // previously used and now ABI legacy
62 RESERVED_FEAT_SVE_AES, // previously used and now ABI legacy
68 RESERVED_FEAT_MEMTAG, // previously used and now ABI legacy
70 RESERVED_FEAT_MEMTAG3, // previously used and now ABI legacy
71 FEAT_SB,
72 RESERVED_FEAT_PREDRES, // previously used and now ABI legacy
73 RESERVED_FEAT_SSBS, // previously used and now ABI legacy
76 RESERVED_FEAT_LS64, // previously used and now ABI legacy
77 RESERVED_FEAT_LS64_V, // previously used and now ABI legacy
78 RESERVED_FEAT_LS64_ACCDATA, // previously used and now ABI legacy
86 FEAT_EXT = 62, // Reserved to indicate presence of additional features field
87 // in __aarch64_cpu_features
88 FEAT_INIT // Used as flag of features initialization completion
89};
90
91#endif