xref: /freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.h (revision ec0ea6efa1ad229d75c394c1a9b9cac33af2b1d3)
1 //===-- AMDGPUAsmUtils.h - AsmParser/InstPrinter common ---------*- 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 #ifndef LLVM_LIB_TARGET_AMDGPU_UTILS_AMDGPUASMUTILS_H
10 #define LLVM_LIB_TARGET_AMDGPU_UTILS_AMDGPUASMUTILS_H
11 
12 #include "SIDefines.h"
13 
14 namespace llvm {
15 
16 class StringLiteral;
17 
18 namespace AMDGPU {
19 
20 namespace SendMsg { // Symbolic names for the sendmsg(...) syntax.
21 
22 extern const char *const IdSymbolic[ID_GAPS_LAST_];
23 extern const char *const OpSysSymbolic[OP_SYS_LAST_];
24 extern const char *const OpGsSymbolic[OP_GS_LAST_];
25 
26 } // namespace SendMsg
27 
28 namespace Hwreg { // Symbolic names for the hwreg(...) syntax.
29 
30 extern const char* const IdSymbolic[];
31 
32 } // namespace Hwreg
33 
34 namespace MTBUFFormat {
35 
36 extern StringLiteral const DfmtSymbolic[];
37 extern StringLiteral const NfmtSymbolicGFX10[];
38 extern StringLiteral const NfmtSymbolicSICI[];
39 extern StringLiteral const NfmtSymbolicVI[];
40 extern StringLiteral const UfmtSymbolic[];
41 extern unsigned const DfmtNfmt2UFmt[];
42 
43 } // namespace MTBUFFormat
44 
45 namespace Swizzle { // Symbolic names for the swizzle(...) syntax.
46 
47 extern const char* const IdSymbolic[];
48 
49 } // namespace Swizzle
50 
51 namespace VGPRIndexMode { // Symbolic names for the gpr_idx(...) syntax.
52 
53 extern const char* const IdSymbolic[];
54 
55 } // namespace VGPRIndexMode
56 
57 } // namespace AMDGPU
58 } // namespace llvm
59 
60 #endif
61