xref: /netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp (revision 82d56013d7b633d116a93943de88e08335357a7c)
17330f729Sjoerg //===-- AMDGPUAsmUtils.cpp - AsmParser/InstPrinter common -----------------===//
27330f729Sjoerg //
37330f729Sjoerg // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
47330f729Sjoerg // See https://llvm.org/LICENSE.txt for license information.
57330f729Sjoerg // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
67330f729Sjoerg //
77330f729Sjoerg //===----------------------------------------------------------------------===//
87330f729Sjoerg #include "AMDGPUAsmUtils.h"
9*82d56013Sjoerg #include "SIDefines.h"
10*82d56013Sjoerg 
11*82d56013Sjoerg #include "llvm/ADT/StringRef.h"
127330f729Sjoerg 
137330f729Sjoerg namespace llvm {
147330f729Sjoerg namespace AMDGPU {
157330f729Sjoerg namespace SendMsg {
167330f729Sjoerg 
177330f729Sjoerg // This must be in sync with llvm::AMDGPU::SendMsg::Id enum members, see SIDefines.h.
18*82d56013Sjoerg const char *const IdSymbolic[ID_GAPS_LAST_] = {
197330f729Sjoerg   nullptr,
207330f729Sjoerg   "MSG_INTERRUPT",
217330f729Sjoerg   "MSG_GS",
227330f729Sjoerg   "MSG_GS_DONE",
23*82d56013Sjoerg   "MSG_SAVEWAVE",
24*82d56013Sjoerg   "MSG_STALL_WAVE_GEN",
25*82d56013Sjoerg   "MSG_HALT_WAVES",
26*82d56013Sjoerg   "MSG_ORDERED_PS_DONE",
27*82d56013Sjoerg   "MSG_EARLY_PRIM_DEALLOC",
287330f729Sjoerg   "MSG_GS_ALLOC_REQ",
297330f729Sjoerg   "MSG_GET_DOORBELL",
30*82d56013Sjoerg   "MSG_GET_DDID",
317330f729Sjoerg   nullptr,
327330f729Sjoerg   nullptr,
337330f729Sjoerg   nullptr,
347330f729Sjoerg   "MSG_SYSMSG"
357330f729Sjoerg };
367330f729Sjoerg 
377330f729Sjoerg // These two must be in sync with llvm::AMDGPU::SendMsg::Op enum members, see SIDefines.h.
38*82d56013Sjoerg const char *const OpSysSymbolic[OP_SYS_LAST_] = {
397330f729Sjoerg   nullptr,
407330f729Sjoerg   "SYSMSG_OP_ECC_ERR_INTERRUPT",
417330f729Sjoerg   "SYSMSG_OP_REG_RD",
427330f729Sjoerg   "SYSMSG_OP_HOST_TRAP_ACK",
437330f729Sjoerg   "SYSMSG_OP_TTRACE_PC"
447330f729Sjoerg };
457330f729Sjoerg 
46*82d56013Sjoerg const char *const OpGsSymbolic[OP_GS_LAST_] = {
477330f729Sjoerg   "GS_OP_NOP",
487330f729Sjoerg   "GS_OP_CUT",
497330f729Sjoerg   "GS_OP_EMIT",
507330f729Sjoerg   "GS_OP_EMIT_CUT"
517330f729Sjoerg };
527330f729Sjoerg 
537330f729Sjoerg } // namespace SendMsg
547330f729Sjoerg 
557330f729Sjoerg namespace Hwreg {
567330f729Sjoerg 
577330f729Sjoerg // This must be in sync with llvm::AMDGPU::Hwreg::ID_SYMBOLIC_FIRST_/LAST_, see SIDefines.h.
587330f729Sjoerg const char* const IdSymbolic[] = {
597330f729Sjoerg   nullptr,
607330f729Sjoerg   "HW_REG_MODE",
617330f729Sjoerg   "HW_REG_STATUS",
627330f729Sjoerg   "HW_REG_TRAPSTS",
637330f729Sjoerg   "HW_REG_HW_ID",
647330f729Sjoerg   "HW_REG_GPR_ALLOC",
657330f729Sjoerg   "HW_REG_LDS_ALLOC",
667330f729Sjoerg   "HW_REG_IB_STS",
677330f729Sjoerg   nullptr,
687330f729Sjoerg   nullptr,
697330f729Sjoerg   nullptr,
707330f729Sjoerg   nullptr,
717330f729Sjoerg   nullptr,
727330f729Sjoerg   nullptr,
737330f729Sjoerg   nullptr,
747330f729Sjoerg   "HW_REG_SH_MEM_BASES",
757330f729Sjoerg   "HW_REG_TBA_LO",
767330f729Sjoerg   "HW_REG_TBA_HI",
777330f729Sjoerg   "HW_REG_TMA_LO",
787330f729Sjoerg   "HW_REG_TMA_HI",
797330f729Sjoerg   "HW_REG_FLAT_SCR_LO",
807330f729Sjoerg   "HW_REG_FLAT_SCR_HI",
817330f729Sjoerg   "HW_REG_XNACK_MASK",
827330f729Sjoerg   nullptr, // HW_ID1, no predictable values
837330f729Sjoerg   nullptr, // HW_ID2, no predictable values
84*82d56013Sjoerg   "HW_REG_POPS_PACKER",
85*82d56013Sjoerg   nullptr,
86*82d56013Sjoerg   nullptr,
87*82d56013Sjoerg   nullptr,
88*82d56013Sjoerg   "HW_REG_SHADER_CYCLES"
897330f729Sjoerg };
907330f729Sjoerg 
917330f729Sjoerg } // namespace Hwreg
927330f729Sjoerg 
93*82d56013Sjoerg namespace MTBUFFormat {
94*82d56013Sjoerg 
95*82d56013Sjoerg StringLiteral const DfmtSymbolic[] = {
96*82d56013Sjoerg   "BUF_DATA_FORMAT_INVALID",
97*82d56013Sjoerg   "BUF_DATA_FORMAT_8",
98*82d56013Sjoerg   "BUF_DATA_FORMAT_16",
99*82d56013Sjoerg   "BUF_DATA_FORMAT_8_8",
100*82d56013Sjoerg   "BUF_DATA_FORMAT_32",
101*82d56013Sjoerg   "BUF_DATA_FORMAT_16_16",
102*82d56013Sjoerg   "BUF_DATA_FORMAT_10_11_11",
103*82d56013Sjoerg   "BUF_DATA_FORMAT_11_11_10",
104*82d56013Sjoerg   "BUF_DATA_FORMAT_10_10_10_2",
105*82d56013Sjoerg   "BUF_DATA_FORMAT_2_10_10_10",
106*82d56013Sjoerg   "BUF_DATA_FORMAT_8_8_8_8",
107*82d56013Sjoerg   "BUF_DATA_FORMAT_32_32",
108*82d56013Sjoerg   "BUF_DATA_FORMAT_16_16_16_16",
109*82d56013Sjoerg   "BUF_DATA_FORMAT_32_32_32",
110*82d56013Sjoerg   "BUF_DATA_FORMAT_32_32_32_32",
111*82d56013Sjoerg   "BUF_DATA_FORMAT_RESERVED_15"
112*82d56013Sjoerg };
113*82d56013Sjoerg 
114*82d56013Sjoerg StringLiteral const NfmtSymbolicGFX10[] = {
115*82d56013Sjoerg   "BUF_NUM_FORMAT_UNORM",
116*82d56013Sjoerg   "BUF_NUM_FORMAT_SNORM",
117*82d56013Sjoerg   "BUF_NUM_FORMAT_USCALED",
118*82d56013Sjoerg   "BUF_NUM_FORMAT_SSCALED",
119*82d56013Sjoerg   "BUF_NUM_FORMAT_UINT",
120*82d56013Sjoerg   "BUF_NUM_FORMAT_SINT",
121*82d56013Sjoerg   "",
122*82d56013Sjoerg   "BUF_NUM_FORMAT_FLOAT"
123*82d56013Sjoerg };
124*82d56013Sjoerg 
125*82d56013Sjoerg StringLiteral const NfmtSymbolicSICI[] = {
126*82d56013Sjoerg   "BUF_NUM_FORMAT_UNORM",
127*82d56013Sjoerg   "BUF_NUM_FORMAT_SNORM",
128*82d56013Sjoerg   "BUF_NUM_FORMAT_USCALED",
129*82d56013Sjoerg   "BUF_NUM_FORMAT_SSCALED",
130*82d56013Sjoerg   "BUF_NUM_FORMAT_UINT",
131*82d56013Sjoerg   "BUF_NUM_FORMAT_SINT",
132*82d56013Sjoerg   "BUF_NUM_FORMAT_SNORM_OGL",
133*82d56013Sjoerg   "BUF_NUM_FORMAT_FLOAT"
134*82d56013Sjoerg };
135*82d56013Sjoerg 
136*82d56013Sjoerg StringLiteral const NfmtSymbolicVI[] = {    // VI and GFX9
137*82d56013Sjoerg   "BUF_NUM_FORMAT_UNORM",
138*82d56013Sjoerg   "BUF_NUM_FORMAT_SNORM",
139*82d56013Sjoerg   "BUF_NUM_FORMAT_USCALED",
140*82d56013Sjoerg   "BUF_NUM_FORMAT_SSCALED",
141*82d56013Sjoerg   "BUF_NUM_FORMAT_UINT",
142*82d56013Sjoerg   "BUF_NUM_FORMAT_SINT",
143*82d56013Sjoerg   "BUF_NUM_FORMAT_RESERVED_6",
144*82d56013Sjoerg   "BUF_NUM_FORMAT_FLOAT"
145*82d56013Sjoerg };
146*82d56013Sjoerg 
147*82d56013Sjoerg StringLiteral const UfmtSymbolic[] = {
148*82d56013Sjoerg   "BUF_FMT_INVALID",
149*82d56013Sjoerg 
150*82d56013Sjoerg   "BUF_FMT_8_UNORM",
151*82d56013Sjoerg   "BUF_FMT_8_SNORM",
152*82d56013Sjoerg   "BUF_FMT_8_USCALED",
153*82d56013Sjoerg   "BUF_FMT_8_SSCALED",
154*82d56013Sjoerg   "BUF_FMT_8_UINT",
155*82d56013Sjoerg   "BUF_FMT_8_SINT",
156*82d56013Sjoerg 
157*82d56013Sjoerg   "BUF_FMT_16_UNORM",
158*82d56013Sjoerg   "BUF_FMT_16_SNORM",
159*82d56013Sjoerg   "BUF_FMT_16_USCALED",
160*82d56013Sjoerg   "BUF_FMT_16_SSCALED",
161*82d56013Sjoerg   "BUF_FMT_16_UINT",
162*82d56013Sjoerg   "BUF_FMT_16_SINT",
163*82d56013Sjoerg   "BUF_FMT_16_FLOAT",
164*82d56013Sjoerg 
165*82d56013Sjoerg   "BUF_FMT_8_8_UNORM",
166*82d56013Sjoerg   "BUF_FMT_8_8_SNORM",
167*82d56013Sjoerg   "BUF_FMT_8_8_USCALED",
168*82d56013Sjoerg   "BUF_FMT_8_8_SSCALED",
169*82d56013Sjoerg   "BUF_FMT_8_8_UINT",
170*82d56013Sjoerg   "BUF_FMT_8_8_SINT",
171*82d56013Sjoerg 
172*82d56013Sjoerg   "BUF_FMT_32_UINT",
173*82d56013Sjoerg   "BUF_FMT_32_SINT",
174*82d56013Sjoerg   "BUF_FMT_32_FLOAT",
175*82d56013Sjoerg 
176*82d56013Sjoerg   "BUF_FMT_16_16_UNORM",
177*82d56013Sjoerg   "BUF_FMT_16_16_SNORM",
178*82d56013Sjoerg   "BUF_FMT_16_16_USCALED",
179*82d56013Sjoerg   "BUF_FMT_16_16_SSCALED",
180*82d56013Sjoerg   "BUF_FMT_16_16_UINT",
181*82d56013Sjoerg   "BUF_FMT_16_16_SINT",
182*82d56013Sjoerg   "BUF_FMT_16_16_FLOAT",
183*82d56013Sjoerg 
184*82d56013Sjoerg   "BUF_FMT_10_11_11_UNORM",
185*82d56013Sjoerg   "BUF_FMT_10_11_11_SNORM",
186*82d56013Sjoerg   "BUF_FMT_10_11_11_USCALED",
187*82d56013Sjoerg   "BUF_FMT_10_11_11_SSCALED",
188*82d56013Sjoerg   "BUF_FMT_10_11_11_UINT",
189*82d56013Sjoerg   "BUF_FMT_10_11_11_SINT",
190*82d56013Sjoerg   "BUF_FMT_10_11_11_FLOAT",
191*82d56013Sjoerg 
192*82d56013Sjoerg   "BUF_FMT_11_11_10_UNORM",
193*82d56013Sjoerg   "BUF_FMT_11_11_10_SNORM",
194*82d56013Sjoerg   "BUF_FMT_11_11_10_USCALED",
195*82d56013Sjoerg   "BUF_FMT_11_11_10_SSCALED",
196*82d56013Sjoerg   "BUF_FMT_11_11_10_UINT",
197*82d56013Sjoerg   "BUF_FMT_11_11_10_SINT",
198*82d56013Sjoerg   "BUF_FMT_11_11_10_FLOAT",
199*82d56013Sjoerg 
200*82d56013Sjoerg   "BUF_FMT_10_10_10_2_UNORM",
201*82d56013Sjoerg   "BUF_FMT_10_10_10_2_SNORM",
202*82d56013Sjoerg   "BUF_FMT_10_10_10_2_USCALED",
203*82d56013Sjoerg   "BUF_FMT_10_10_10_2_SSCALED",
204*82d56013Sjoerg   "BUF_FMT_10_10_10_2_UINT",
205*82d56013Sjoerg   "BUF_FMT_10_10_10_2_SINT",
206*82d56013Sjoerg 
207*82d56013Sjoerg   "BUF_FMT_2_10_10_10_UNORM",
208*82d56013Sjoerg   "BUF_FMT_2_10_10_10_SNORM",
209*82d56013Sjoerg   "BUF_FMT_2_10_10_10_USCALED",
210*82d56013Sjoerg   "BUF_FMT_2_10_10_10_SSCALED",
211*82d56013Sjoerg   "BUF_FMT_2_10_10_10_UINT",
212*82d56013Sjoerg   "BUF_FMT_2_10_10_10_SINT",
213*82d56013Sjoerg 
214*82d56013Sjoerg   "BUF_FMT_8_8_8_8_UNORM",
215*82d56013Sjoerg   "BUF_FMT_8_8_8_8_SNORM",
216*82d56013Sjoerg   "BUF_FMT_8_8_8_8_USCALED",
217*82d56013Sjoerg   "BUF_FMT_8_8_8_8_SSCALED",
218*82d56013Sjoerg   "BUF_FMT_8_8_8_8_UINT",
219*82d56013Sjoerg   "BUF_FMT_8_8_8_8_SINT",
220*82d56013Sjoerg 
221*82d56013Sjoerg   "BUF_FMT_32_32_UINT",
222*82d56013Sjoerg   "BUF_FMT_32_32_SINT",
223*82d56013Sjoerg   "BUF_FMT_32_32_FLOAT",
224*82d56013Sjoerg 
225*82d56013Sjoerg   "BUF_FMT_16_16_16_16_UNORM",
226*82d56013Sjoerg   "BUF_FMT_16_16_16_16_SNORM",
227*82d56013Sjoerg   "BUF_FMT_16_16_16_16_USCALED",
228*82d56013Sjoerg   "BUF_FMT_16_16_16_16_SSCALED",
229*82d56013Sjoerg   "BUF_FMT_16_16_16_16_UINT",
230*82d56013Sjoerg   "BUF_FMT_16_16_16_16_SINT",
231*82d56013Sjoerg   "BUF_FMT_16_16_16_16_FLOAT",
232*82d56013Sjoerg 
233*82d56013Sjoerg   "BUF_FMT_32_32_32_UINT",
234*82d56013Sjoerg   "BUF_FMT_32_32_32_SINT",
235*82d56013Sjoerg   "BUF_FMT_32_32_32_FLOAT",
236*82d56013Sjoerg   "BUF_FMT_32_32_32_32_UINT",
237*82d56013Sjoerg   "BUF_FMT_32_32_32_32_SINT",
238*82d56013Sjoerg   "BUF_FMT_32_32_32_32_FLOAT"
239*82d56013Sjoerg };
240*82d56013Sjoerg 
241*82d56013Sjoerg unsigned const DfmtNfmt2UFmt[] = {
242*82d56013Sjoerg   DFMT_INVALID     | (NFMT_UNORM   << NFMT_SHIFT),
243*82d56013Sjoerg 
244*82d56013Sjoerg   DFMT_8           | (NFMT_UNORM   << NFMT_SHIFT),
245*82d56013Sjoerg   DFMT_8           | (NFMT_SNORM   << NFMT_SHIFT),
246*82d56013Sjoerg   DFMT_8           | (NFMT_USCALED << NFMT_SHIFT),
247*82d56013Sjoerg   DFMT_8           | (NFMT_SSCALED << NFMT_SHIFT),
248*82d56013Sjoerg   DFMT_8           | (NFMT_UINT    << NFMT_SHIFT),
249*82d56013Sjoerg   DFMT_8           | (NFMT_SINT    << NFMT_SHIFT),
250*82d56013Sjoerg 
251*82d56013Sjoerg   DFMT_16          | (NFMT_UNORM   << NFMT_SHIFT),
252*82d56013Sjoerg   DFMT_16          | (NFMT_SNORM   << NFMT_SHIFT),
253*82d56013Sjoerg   DFMT_16          | (NFMT_USCALED << NFMT_SHIFT),
254*82d56013Sjoerg   DFMT_16          | (NFMT_SSCALED << NFMT_SHIFT),
255*82d56013Sjoerg   DFMT_16          | (NFMT_UINT    << NFMT_SHIFT),
256*82d56013Sjoerg   DFMT_16          | (NFMT_SINT    << NFMT_SHIFT),
257*82d56013Sjoerg   DFMT_16          | (NFMT_FLOAT   << NFMT_SHIFT),
258*82d56013Sjoerg 
259*82d56013Sjoerg   DFMT_8_8         | (NFMT_UNORM   << NFMT_SHIFT),
260*82d56013Sjoerg   DFMT_8_8         | (NFMT_SNORM   << NFMT_SHIFT),
261*82d56013Sjoerg   DFMT_8_8         | (NFMT_USCALED << NFMT_SHIFT),
262*82d56013Sjoerg   DFMT_8_8         | (NFMT_SSCALED << NFMT_SHIFT),
263*82d56013Sjoerg   DFMT_8_8         | (NFMT_UINT    << NFMT_SHIFT),
264*82d56013Sjoerg   DFMT_8_8         | (NFMT_SINT    << NFMT_SHIFT),
265*82d56013Sjoerg 
266*82d56013Sjoerg   DFMT_32          | (NFMT_UINT    << NFMT_SHIFT),
267*82d56013Sjoerg   DFMT_32          | (NFMT_SINT    << NFMT_SHIFT),
268*82d56013Sjoerg   DFMT_32          | (NFMT_FLOAT   << NFMT_SHIFT),
269*82d56013Sjoerg 
270*82d56013Sjoerg   DFMT_16_16       | (NFMT_UNORM   << NFMT_SHIFT),
271*82d56013Sjoerg   DFMT_16_16       | (NFMT_SNORM   << NFMT_SHIFT),
272*82d56013Sjoerg   DFMT_16_16       | (NFMT_USCALED << NFMT_SHIFT),
273*82d56013Sjoerg   DFMT_16_16       | (NFMT_SSCALED << NFMT_SHIFT),
274*82d56013Sjoerg   DFMT_16_16       | (NFMT_UINT    << NFMT_SHIFT),
275*82d56013Sjoerg   DFMT_16_16       | (NFMT_SINT    << NFMT_SHIFT),
276*82d56013Sjoerg   DFMT_16_16       | (NFMT_FLOAT   << NFMT_SHIFT),
277*82d56013Sjoerg 
278*82d56013Sjoerg   DFMT_10_11_11    | (NFMT_UNORM   << NFMT_SHIFT),
279*82d56013Sjoerg   DFMT_10_11_11    | (NFMT_SNORM   << NFMT_SHIFT),
280*82d56013Sjoerg   DFMT_10_11_11    | (NFMT_USCALED << NFMT_SHIFT),
281*82d56013Sjoerg   DFMT_10_11_11    | (NFMT_SSCALED << NFMT_SHIFT),
282*82d56013Sjoerg   DFMT_10_11_11    | (NFMT_UINT    << NFMT_SHIFT),
283*82d56013Sjoerg   DFMT_10_11_11    | (NFMT_SINT    << NFMT_SHIFT),
284*82d56013Sjoerg   DFMT_10_11_11    | (NFMT_FLOAT   << NFMT_SHIFT),
285*82d56013Sjoerg 
286*82d56013Sjoerg   DFMT_11_11_10    | (NFMT_UNORM   << NFMT_SHIFT),
287*82d56013Sjoerg   DFMT_11_11_10    | (NFMT_SNORM   << NFMT_SHIFT),
288*82d56013Sjoerg   DFMT_11_11_10    | (NFMT_USCALED << NFMT_SHIFT),
289*82d56013Sjoerg   DFMT_11_11_10    | (NFMT_SSCALED << NFMT_SHIFT),
290*82d56013Sjoerg   DFMT_11_11_10    | (NFMT_UINT    << NFMT_SHIFT),
291*82d56013Sjoerg   DFMT_11_11_10    | (NFMT_SINT    << NFMT_SHIFT),
292*82d56013Sjoerg   DFMT_11_11_10    | (NFMT_FLOAT   << NFMT_SHIFT),
293*82d56013Sjoerg 
294*82d56013Sjoerg   DFMT_10_10_10_2  | (NFMT_UNORM   << NFMT_SHIFT),
295*82d56013Sjoerg   DFMT_10_10_10_2  | (NFMT_SNORM   << NFMT_SHIFT),
296*82d56013Sjoerg   DFMT_10_10_10_2  | (NFMT_USCALED << NFMT_SHIFT),
297*82d56013Sjoerg   DFMT_10_10_10_2  | (NFMT_SSCALED << NFMT_SHIFT),
298*82d56013Sjoerg   DFMT_10_10_10_2  | (NFMT_UINT    << NFMT_SHIFT),
299*82d56013Sjoerg   DFMT_10_10_10_2  | (NFMT_SINT    << NFMT_SHIFT),
300*82d56013Sjoerg 
301*82d56013Sjoerg   DFMT_2_10_10_10  | (NFMT_UNORM   << NFMT_SHIFT),
302*82d56013Sjoerg   DFMT_2_10_10_10  | (NFMT_SNORM   << NFMT_SHIFT),
303*82d56013Sjoerg   DFMT_2_10_10_10  | (NFMT_USCALED << NFMT_SHIFT),
304*82d56013Sjoerg   DFMT_2_10_10_10  | (NFMT_SSCALED << NFMT_SHIFT),
305*82d56013Sjoerg   DFMT_2_10_10_10  | (NFMT_UINT    << NFMT_SHIFT),
306*82d56013Sjoerg   DFMT_2_10_10_10  | (NFMT_SINT    << NFMT_SHIFT),
307*82d56013Sjoerg 
308*82d56013Sjoerg   DFMT_8_8_8_8     | (NFMT_UNORM   << NFMT_SHIFT),
309*82d56013Sjoerg   DFMT_8_8_8_8     | (NFMT_SNORM   << NFMT_SHIFT),
310*82d56013Sjoerg   DFMT_8_8_8_8     | (NFMT_USCALED << NFMT_SHIFT),
311*82d56013Sjoerg   DFMT_8_8_8_8     | (NFMT_SSCALED << NFMT_SHIFT),
312*82d56013Sjoerg   DFMT_8_8_8_8     | (NFMT_UINT    << NFMT_SHIFT),
313*82d56013Sjoerg   DFMT_8_8_8_8     | (NFMT_SINT    << NFMT_SHIFT),
314*82d56013Sjoerg 
315*82d56013Sjoerg   DFMT_32_32       | (NFMT_UINT    << NFMT_SHIFT),
316*82d56013Sjoerg   DFMT_32_32       | (NFMT_SINT    << NFMT_SHIFT),
317*82d56013Sjoerg   DFMT_32_32       | (NFMT_FLOAT   << NFMT_SHIFT),
318*82d56013Sjoerg 
319*82d56013Sjoerg   DFMT_16_16_16_16 | (NFMT_UNORM   << NFMT_SHIFT),
320*82d56013Sjoerg   DFMT_16_16_16_16 | (NFMT_SNORM   << NFMT_SHIFT),
321*82d56013Sjoerg   DFMT_16_16_16_16 | (NFMT_USCALED << NFMT_SHIFT),
322*82d56013Sjoerg   DFMT_16_16_16_16 | (NFMT_SSCALED << NFMT_SHIFT),
323*82d56013Sjoerg   DFMT_16_16_16_16 | (NFMT_UINT    << NFMT_SHIFT),
324*82d56013Sjoerg   DFMT_16_16_16_16 | (NFMT_SINT    << NFMT_SHIFT),
325*82d56013Sjoerg   DFMT_16_16_16_16 | (NFMT_FLOAT   << NFMT_SHIFT),
326*82d56013Sjoerg 
327*82d56013Sjoerg   DFMT_32_32_32    | (NFMT_UINT    << NFMT_SHIFT),
328*82d56013Sjoerg   DFMT_32_32_32    | (NFMT_SINT    << NFMT_SHIFT),
329*82d56013Sjoerg   DFMT_32_32_32    | (NFMT_FLOAT   << NFMT_SHIFT),
330*82d56013Sjoerg   DFMT_32_32_32_32 | (NFMT_UINT    << NFMT_SHIFT),
331*82d56013Sjoerg   DFMT_32_32_32_32 | (NFMT_SINT    << NFMT_SHIFT),
332*82d56013Sjoerg   DFMT_32_32_32_32 | (NFMT_FLOAT   << NFMT_SHIFT)
333*82d56013Sjoerg };
334*82d56013Sjoerg 
335*82d56013Sjoerg } // namespace MTBUFFormat
336*82d56013Sjoerg 
3377330f729Sjoerg namespace Swizzle {
3387330f729Sjoerg 
3397330f729Sjoerg // This must be in sync with llvm::AMDGPU::Swizzle::Id enum members, see SIDefines.h.
3407330f729Sjoerg const char* const IdSymbolic[] = {
3417330f729Sjoerg   "QUAD_PERM",
3427330f729Sjoerg   "BITMASK_PERM",
3437330f729Sjoerg   "SWAP",
3447330f729Sjoerg   "REVERSE",
3457330f729Sjoerg   "BROADCAST",
3467330f729Sjoerg };
3477330f729Sjoerg 
3487330f729Sjoerg } // namespace Swizzle
3497330f729Sjoerg 
3507330f729Sjoerg namespace VGPRIndexMode {
3517330f729Sjoerg 
3527330f729Sjoerg // This must be in sync with llvm::AMDGPU::VGPRIndexMode::Id enum members, see SIDefines.h.
3537330f729Sjoerg const char* const IdSymbolic[] = {
3547330f729Sjoerg   "SRC0",
3557330f729Sjoerg   "SRC1",
3567330f729Sjoerg   "SRC2",
3577330f729Sjoerg   "DST",
3587330f729Sjoerg };
3597330f729Sjoerg 
3607330f729Sjoerg } // namespace VGPRIndexMode
3617330f729Sjoerg 
3627330f729Sjoerg } // namespace AMDGPU
3637330f729Sjoerg } // namespace llvm
364