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