13ca95b02SDimitry Andric //===-- AMDGPUAsmUtils.cpp - AsmParser/InstPrinter common -----------------===//
23ca95b02SDimitry Andric //
33ca95b02SDimitry Andric //                     The LLVM Compiler Infrastructure
43ca95b02SDimitry Andric //
53ca95b02SDimitry Andric // This file is distributed under the University of Illinois Open Source
63ca95b02SDimitry Andric // License. See LICENSE.TXT for details.
73ca95b02SDimitry Andric //
83ca95b02SDimitry Andric //===----------------------------------------------------------------------===//
93ca95b02SDimitry Andric #include "AMDGPUAsmUtils.h"
103ca95b02SDimitry Andric 
113ca95b02SDimitry Andric namespace llvm {
123ca95b02SDimitry Andric namespace AMDGPU {
133ca95b02SDimitry Andric namespace SendMsg {
143ca95b02SDimitry Andric 
153ca95b02SDimitry Andric // This must be in sync with llvm::AMDGPU::SendMsg::Id enum members, see SIDefines.h.
163ca95b02SDimitry Andric const char* const IdSymbolic[] = {
173ca95b02SDimitry Andric   nullptr,
183ca95b02SDimitry Andric   "MSG_INTERRUPT",
193ca95b02SDimitry Andric   "MSG_GS",
203ca95b02SDimitry Andric   "MSG_GS_DONE",
213ca95b02SDimitry Andric   nullptr,
223ca95b02SDimitry Andric   nullptr,
233ca95b02SDimitry Andric   nullptr,
243ca95b02SDimitry Andric   nullptr,
253ca95b02SDimitry Andric   nullptr,
263ca95b02SDimitry Andric   nullptr,
273ca95b02SDimitry Andric   nullptr,
283ca95b02SDimitry Andric   nullptr,
293ca95b02SDimitry Andric   nullptr,
303ca95b02SDimitry Andric   nullptr,
313ca95b02SDimitry Andric   nullptr,
323ca95b02SDimitry Andric   "MSG_SYSMSG"
333ca95b02SDimitry Andric };
343ca95b02SDimitry Andric 
353ca95b02SDimitry Andric // These two must be in sync with llvm::AMDGPU::SendMsg::Op enum members, see SIDefines.h.
363ca95b02SDimitry Andric const char* const OpSysSymbolic[] = {
373ca95b02SDimitry Andric   nullptr,
383ca95b02SDimitry Andric   "SYSMSG_OP_ECC_ERR_INTERRUPT",
393ca95b02SDimitry Andric   "SYSMSG_OP_REG_RD",
403ca95b02SDimitry Andric   "SYSMSG_OP_HOST_TRAP_ACK",
413ca95b02SDimitry Andric   "SYSMSG_OP_TTRACE_PC"
423ca95b02SDimitry Andric };
433ca95b02SDimitry Andric 
443ca95b02SDimitry Andric const char* const OpGsSymbolic[] = {
453ca95b02SDimitry Andric   "GS_OP_NOP",
463ca95b02SDimitry Andric   "GS_OP_CUT",
473ca95b02SDimitry Andric   "GS_OP_EMIT",
483ca95b02SDimitry Andric   "GS_OP_EMIT_CUT"
493ca95b02SDimitry Andric };
503ca95b02SDimitry Andric 
513ca95b02SDimitry Andric } // namespace SendMsg
523ca95b02SDimitry Andric 
533ca95b02SDimitry Andric namespace Hwreg {
543ca95b02SDimitry Andric 
553ca95b02SDimitry Andric // This must be in sync with llvm::AMDGPU::Hwreg::ID_SYMBOLIC_FIRST_/LAST_, see SIDefines.h.
563ca95b02SDimitry Andric const char* const IdSymbolic[] = {
573ca95b02SDimitry Andric   nullptr,
583ca95b02SDimitry Andric   "HW_REG_MODE",
593ca95b02SDimitry Andric   "HW_REG_STATUS",
603ca95b02SDimitry Andric   "HW_REG_TRAPSTS",
613ca95b02SDimitry Andric   "HW_REG_HW_ID",
623ca95b02SDimitry Andric   "HW_REG_GPR_ALLOC",
633ca95b02SDimitry Andric   "HW_REG_LDS_ALLOC",
64*4ba319b5SDimitry Andric   "HW_REG_IB_STS",
65*4ba319b5SDimitry Andric   nullptr,
66*4ba319b5SDimitry Andric   nullptr,
67*4ba319b5SDimitry Andric   nullptr,
68*4ba319b5SDimitry Andric   nullptr,
69*4ba319b5SDimitry Andric   nullptr,
70*4ba319b5SDimitry Andric   nullptr,
71*4ba319b5SDimitry Andric   nullptr,
72*4ba319b5SDimitry Andric   "HW_REG_SH_MEM_BASES"
733ca95b02SDimitry Andric };
743ca95b02SDimitry Andric 
753ca95b02SDimitry Andric } // namespace Hwreg
76f9448bf3SDimitry Andric 
77f9448bf3SDimitry Andric namespace Swizzle {
78f9448bf3SDimitry Andric 
79f9448bf3SDimitry Andric // This must be in sync with llvm::AMDGPU::Swizzle::Id enum members, see SIDefines.h.
80f9448bf3SDimitry Andric const char* const IdSymbolic[] = {
81f9448bf3SDimitry Andric   "QUAD_PERM",
82f9448bf3SDimitry Andric   "BITMASK_PERM",
83f9448bf3SDimitry Andric   "SWAP",
84f9448bf3SDimitry Andric   "REVERSE",
85f9448bf3SDimitry Andric   "BROADCAST",
86f9448bf3SDimitry Andric };
87f9448bf3SDimitry Andric 
88f9448bf3SDimitry Andric } // namespace Swizzle
893ca95b02SDimitry Andric } // namespace AMDGPU
903ca95b02SDimitry Andric } // namespace llvm
91