10b57cec5SDimitry Andric //===-- AMDGPUAsmUtils.cpp - AsmParser/InstPrinter common -----------------===// 20b57cec5SDimitry Andric // 30b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 40b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 50b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 60b57cec5SDimitry Andric // 70b57cec5SDimitry Andric //===----------------------------------------------------------------------===// 80b57cec5SDimitry Andric #include "AMDGPUAsmUtils.h" 9af732203SDimitry Andric #include "SIDefines.h" 10af732203SDimitry Andric 11af732203SDimitry Andric #include "llvm/ADT/StringRef.h" 120b57cec5SDimitry Andric 130b57cec5SDimitry Andric namespace llvm { 140b57cec5SDimitry Andric namespace AMDGPU { 150b57cec5SDimitry Andric namespace SendMsg { 160b57cec5SDimitry Andric 170b57cec5SDimitry Andric // This must be in sync with llvm::AMDGPU::SendMsg::Id enum members, see SIDefines.h. 18*5f7ddb14SDimitry Andric const char *const IdSymbolic[ID_GAPS_LAST_] = { 190b57cec5SDimitry Andric nullptr, 200b57cec5SDimitry Andric "MSG_INTERRUPT", 210b57cec5SDimitry Andric "MSG_GS", 220b57cec5SDimitry Andric "MSG_GS_DONE", 23*5f7ddb14SDimitry Andric "MSG_SAVEWAVE", 24*5f7ddb14SDimitry Andric "MSG_STALL_WAVE_GEN", 25*5f7ddb14SDimitry Andric "MSG_HALT_WAVES", 26*5f7ddb14SDimitry Andric "MSG_ORDERED_PS_DONE", 27*5f7ddb14SDimitry Andric "MSG_EARLY_PRIM_DEALLOC", 280b57cec5SDimitry Andric "MSG_GS_ALLOC_REQ", 290b57cec5SDimitry Andric "MSG_GET_DOORBELL", 30*5f7ddb14SDimitry Andric "MSG_GET_DDID", 310b57cec5SDimitry Andric nullptr, 320b57cec5SDimitry Andric nullptr, 330b57cec5SDimitry Andric nullptr, 340b57cec5SDimitry Andric "MSG_SYSMSG" 350b57cec5SDimitry Andric }; 360b57cec5SDimitry Andric 370b57cec5SDimitry Andric // These two must be in sync with llvm::AMDGPU::SendMsg::Op enum members, see SIDefines.h. 38*5f7ddb14SDimitry Andric const char *const OpSysSymbolic[OP_SYS_LAST_] = { 390b57cec5SDimitry Andric nullptr, 400b57cec5SDimitry Andric "SYSMSG_OP_ECC_ERR_INTERRUPT", 410b57cec5SDimitry Andric "SYSMSG_OP_REG_RD", 420b57cec5SDimitry Andric "SYSMSG_OP_HOST_TRAP_ACK", 430b57cec5SDimitry Andric "SYSMSG_OP_TTRACE_PC" 440b57cec5SDimitry Andric }; 450b57cec5SDimitry Andric 46*5f7ddb14SDimitry Andric const char *const OpGsSymbolic[OP_GS_LAST_] = { 470b57cec5SDimitry Andric "GS_OP_NOP", 480b57cec5SDimitry Andric "GS_OP_CUT", 490b57cec5SDimitry Andric "GS_OP_EMIT", 500b57cec5SDimitry Andric "GS_OP_EMIT_CUT" 510b57cec5SDimitry Andric }; 520b57cec5SDimitry Andric 530b57cec5SDimitry Andric } // namespace SendMsg 540b57cec5SDimitry Andric 550b57cec5SDimitry Andric namespace Hwreg { 560b57cec5SDimitry Andric 570b57cec5SDimitry Andric // This must be in sync with llvm::AMDGPU::Hwreg::ID_SYMBOLIC_FIRST_/LAST_, see SIDefines.h. 580b57cec5SDimitry Andric const char* const IdSymbolic[] = { 590b57cec5SDimitry Andric nullptr, 600b57cec5SDimitry Andric "HW_REG_MODE", 610b57cec5SDimitry Andric "HW_REG_STATUS", 620b57cec5SDimitry Andric "HW_REG_TRAPSTS", 630b57cec5SDimitry Andric "HW_REG_HW_ID", 640b57cec5SDimitry Andric "HW_REG_GPR_ALLOC", 650b57cec5SDimitry Andric "HW_REG_LDS_ALLOC", 660b57cec5SDimitry Andric "HW_REG_IB_STS", 670b57cec5SDimitry Andric nullptr, 680b57cec5SDimitry Andric nullptr, 690b57cec5SDimitry Andric nullptr, 700b57cec5SDimitry Andric nullptr, 710b57cec5SDimitry Andric nullptr, 720b57cec5SDimitry Andric nullptr, 730b57cec5SDimitry Andric nullptr, 740b57cec5SDimitry Andric "HW_REG_SH_MEM_BASES", 750b57cec5SDimitry Andric "HW_REG_TBA_LO", 760b57cec5SDimitry Andric "HW_REG_TBA_HI", 770b57cec5SDimitry Andric "HW_REG_TMA_LO", 780b57cec5SDimitry Andric "HW_REG_TMA_HI", 790b57cec5SDimitry Andric "HW_REG_FLAT_SCR_LO", 800b57cec5SDimitry Andric "HW_REG_FLAT_SCR_HI", 810b57cec5SDimitry Andric "HW_REG_XNACK_MASK", 820b57cec5SDimitry Andric nullptr, // HW_ID1, no predictable values 830b57cec5SDimitry Andric nullptr, // HW_ID2, no predictable values 845ffd83dbSDimitry Andric "HW_REG_POPS_PACKER", 855ffd83dbSDimitry Andric nullptr, 865ffd83dbSDimitry Andric nullptr, 875ffd83dbSDimitry Andric nullptr, 885ffd83dbSDimitry Andric "HW_REG_SHADER_CYCLES" 890b57cec5SDimitry Andric }; 900b57cec5SDimitry Andric 910b57cec5SDimitry Andric } // namespace Hwreg 920b57cec5SDimitry Andric 93af732203SDimitry Andric namespace MTBUFFormat { 94af732203SDimitry Andric 95af732203SDimitry Andric StringLiteral const DfmtSymbolic[] = { 96af732203SDimitry Andric "BUF_DATA_FORMAT_INVALID", 97af732203SDimitry Andric "BUF_DATA_FORMAT_8", 98af732203SDimitry Andric "BUF_DATA_FORMAT_16", 99af732203SDimitry Andric "BUF_DATA_FORMAT_8_8", 100af732203SDimitry Andric "BUF_DATA_FORMAT_32", 101af732203SDimitry Andric "BUF_DATA_FORMAT_16_16", 102af732203SDimitry Andric "BUF_DATA_FORMAT_10_11_11", 103af732203SDimitry Andric "BUF_DATA_FORMAT_11_11_10", 104af732203SDimitry Andric "BUF_DATA_FORMAT_10_10_10_2", 105af732203SDimitry Andric "BUF_DATA_FORMAT_2_10_10_10", 106af732203SDimitry Andric "BUF_DATA_FORMAT_8_8_8_8", 107af732203SDimitry Andric "BUF_DATA_FORMAT_32_32", 108af732203SDimitry Andric "BUF_DATA_FORMAT_16_16_16_16", 109af732203SDimitry Andric "BUF_DATA_FORMAT_32_32_32", 110af732203SDimitry Andric "BUF_DATA_FORMAT_32_32_32_32", 111af732203SDimitry Andric "BUF_DATA_FORMAT_RESERVED_15" 112af732203SDimitry Andric }; 113af732203SDimitry Andric 114af732203SDimitry Andric StringLiteral const NfmtSymbolicGFX10[] = { 115af732203SDimitry Andric "BUF_NUM_FORMAT_UNORM", 116af732203SDimitry Andric "BUF_NUM_FORMAT_SNORM", 117af732203SDimitry Andric "BUF_NUM_FORMAT_USCALED", 118af732203SDimitry Andric "BUF_NUM_FORMAT_SSCALED", 119af732203SDimitry Andric "BUF_NUM_FORMAT_UINT", 120af732203SDimitry Andric "BUF_NUM_FORMAT_SINT", 121af732203SDimitry Andric "", 122af732203SDimitry Andric "BUF_NUM_FORMAT_FLOAT" 123af732203SDimitry Andric }; 124af732203SDimitry Andric 125af732203SDimitry Andric StringLiteral const NfmtSymbolicSICI[] = { 126af732203SDimitry Andric "BUF_NUM_FORMAT_UNORM", 127af732203SDimitry Andric "BUF_NUM_FORMAT_SNORM", 128af732203SDimitry Andric "BUF_NUM_FORMAT_USCALED", 129af732203SDimitry Andric "BUF_NUM_FORMAT_SSCALED", 130af732203SDimitry Andric "BUF_NUM_FORMAT_UINT", 131af732203SDimitry Andric "BUF_NUM_FORMAT_SINT", 132af732203SDimitry Andric "BUF_NUM_FORMAT_SNORM_OGL", 133af732203SDimitry Andric "BUF_NUM_FORMAT_FLOAT" 134af732203SDimitry Andric }; 135af732203SDimitry Andric 136af732203SDimitry Andric StringLiteral const NfmtSymbolicVI[] = { // VI and GFX9 137af732203SDimitry Andric "BUF_NUM_FORMAT_UNORM", 138af732203SDimitry Andric "BUF_NUM_FORMAT_SNORM", 139af732203SDimitry Andric "BUF_NUM_FORMAT_USCALED", 140af732203SDimitry Andric "BUF_NUM_FORMAT_SSCALED", 141af732203SDimitry Andric "BUF_NUM_FORMAT_UINT", 142af732203SDimitry Andric "BUF_NUM_FORMAT_SINT", 143af732203SDimitry Andric "BUF_NUM_FORMAT_RESERVED_6", 144af732203SDimitry Andric "BUF_NUM_FORMAT_FLOAT" 145af732203SDimitry Andric }; 146af732203SDimitry Andric 147af732203SDimitry Andric StringLiteral const UfmtSymbolic[] = { 148af732203SDimitry Andric "BUF_FMT_INVALID", 149af732203SDimitry Andric 150af732203SDimitry Andric "BUF_FMT_8_UNORM", 151af732203SDimitry Andric "BUF_FMT_8_SNORM", 152af732203SDimitry Andric "BUF_FMT_8_USCALED", 153af732203SDimitry Andric "BUF_FMT_8_SSCALED", 154af732203SDimitry Andric "BUF_FMT_8_UINT", 155af732203SDimitry Andric "BUF_FMT_8_SINT", 156af732203SDimitry Andric 157af732203SDimitry Andric "BUF_FMT_16_UNORM", 158af732203SDimitry Andric "BUF_FMT_16_SNORM", 159af732203SDimitry Andric "BUF_FMT_16_USCALED", 160af732203SDimitry Andric "BUF_FMT_16_SSCALED", 161af732203SDimitry Andric "BUF_FMT_16_UINT", 162af732203SDimitry Andric "BUF_FMT_16_SINT", 163af732203SDimitry Andric "BUF_FMT_16_FLOAT", 164af732203SDimitry Andric 165af732203SDimitry Andric "BUF_FMT_8_8_UNORM", 166af732203SDimitry Andric "BUF_FMT_8_8_SNORM", 167af732203SDimitry Andric "BUF_FMT_8_8_USCALED", 168af732203SDimitry Andric "BUF_FMT_8_8_SSCALED", 169af732203SDimitry Andric "BUF_FMT_8_8_UINT", 170af732203SDimitry Andric "BUF_FMT_8_8_SINT", 171af732203SDimitry Andric 172af732203SDimitry Andric "BUF_FMT_32_UINT", 173af732203SDimitry Andric "BUF_FMT_32_SINT", 174af732203SDimitry Andric "BUF_FMT_32_FLOAT", 175af732203SDimitry Andric 176af732203SDimitry Andric "BUF_FMT_16_16_UNORM", 177af732203SDimitry Andric "BUF_FMT_16_16_SNORM", 178af732203SDimitry Andric "BUF_FMT_16_16_USCALED", 179af732203SDimitry Andric "BUF_FMT_16_16_SSCALED", 180af732203SDimitry Andric "BUF_FMT_16_16_UINT", 181af732203SDimitry Andric "BUF_FMT_16_16_SINT", 182af732203SDimitry Andric "BUF_FMT_16_16_FLOAT", 183af732203SDimitry Andric 184af732203SDimitry Andric "BUF_FMT_10_11_11_UNORM", 185af732203SDimitry Andric "BUF_FMT_10_11_11_SNORM", 186af732203SDimitry Andric "BUF_FMT_10_11_11_USCALED", 187af732203SDimitry Andric "BUF_FMT_10_11_11_SSCALED", 188af732203SDimitry Andric "BUF_FMT_10_11_11_UINT", 189af732203SDimitry Andric "BUF_FMT_10_11_11_SINT", 190af732203SDimitry Andric "BUF_FMT_10_11_11_FLOAT", 191af732203SDimitry Andric 192af732203SDimitry Andric "BUF_FMT_11_11_10_UNORM", 193af732203SDimitry Andric "BUF_FMT_11_11_10_SNORM", 194af732203SDimitry Andric "BUF_FMT_11_11_10_USCALED", 195af732203SDimitry Andric "BUF_FMT_11_11_10_SSCALED", 196af732203SDimitry Andric "BUF_FMT_11_11_10_UINT", 197af732203SDimitry Andric "BUF_FMT_11_11_10_SINT", 198af732203SDimitry Andric "BUF_FMT_11_11_10_FLOAT", 199af732203SDimitry Andric 200af732203SDimitry Andric "BUF_FMT_10_10_10_2_UNORM", 201af732203SDimitry Andric "BUF_FMT_10_10_10_2_SNORM", 202af732203SDimitry Andric "BUF_FMT_10_10_10_2_USCALED", 203af732203SDimitry Andric "BUF_FMT_10_10_10_2_SSCALED", 204af732203SDimitry Andric "BUF_FMT_10_10_10_2_UINT", 205af732203SDimitry Andric "BUF_FMT_10_10_10_2_SINT", 206af732203SDimitry Andric 207af732203SDimitry Andric "BUF_FMT_2_10_10_10_UNORM", 208af732203SDimitry Andric "BUF_FMT_2_10_10_10_SNORM", 209af732203SDimitry Andric "BUF_FMT_2_10_10_10_USCALED", 210af732203SDimitry Andric "BUF_FMT_2_10_10_10_SSCALED", 211af732203SDimitry Andric "BUF_FMT_2_10_10_10_UINT", 212af732203SDimitry Andric "BUF_FMT_2_10_10_10_SINT", 213af732203SDimitry Andric 214af732203SDimitry Andric "BUF_FMT_8_8_8_8_UNORM", 215af732203SDimitry Andric "BUF_FMT_8_8_8_8_SNORM", 216af732203SDimitry Andric "BUF_FMT_8_8_8_8_USCALED", 217af732203SDimitry Andric "BUF_FMT_8_8_8_8_SSCALED", 218af732203SDimitry Andric "BUF_FMT_8_8_8_8_UINT", 219af732203SDimitry Andric "BUF_FMT_8_8_8_8_SINT", 220af732203SDimitry Andric 221af732203SDimitry Andric "BUF_FMT_32_32_UINT", 222af732203SDimitry Andric "BUF_FMT_32_32_SINT", 223af732203SDimitry Andric "BUF_FMT_32_32_FLOAT", 224af732203SDimitry Andric 225af732203SDimitry Andric "BUF_FMT_16_16_16_16_UNORM", 226af732203SDimitry Andric "BUF_FMT_16_16_16_16_SNORM", 227af732203SDimitry Andric "BUF_FMT_16_16_16_16_USCALED", 228af732203SDimitry Andric "BUF_FMT_16_16_16_16_SSCALED", 229af732203SDimitry Andric "BUF_FMT_16_16_16_16_UINT", 230af732203SDimitry Andric "BUF_FMT_16_16_16_16_SINT", 231af732203SDimitry Andric "BUF_FMT_16_16_16_16_FLOAT", 232af732203SDimitry Andric 233af732203SDimitry Andric "BUF_FMT_32_32_32_UINT", 234af732203SDimitry Andric "BUF_FMT_32_32_32_SINT", 235af732203SDimitry Andric "BUF_FMT_32_32_32_FLOAT", 236af732203SDimitry Andric "BUF_FMT_32_32_32_32_UINT", 237af732203SDimitry Andric "BUF_FMT_32_32_32_32_SINT", 238af732203SDimitry Andric "BUF_FMT_32_32_32_32_FLOAT" 239af732203SDimitry Andric }; 240af732203SDimitry Andric 241af732203SDimitry Andric unsigned const DfmtNfmt2UFmt[] = { 242af732203SDimitry Andric DFMT_INVALID | (NFMT_UNORM << NFMT_SHIFT), 243af732203SDimitry Andric 244af732203SDimitry Andric DFMT_8 | (NFMT_UNORM << NFMT_SHIFT), 245af732203SDimitry Andric DFMT_8 | (NFMT_SNORM << NFMT_SHIFT), 246af732203SDimitry Andric DFMT_8 | (NFMT_USCALED << NFMT_SHIFT), 247af732203SDimitry Andric DFMT_8 | (NFMT_SSCALED << NFMT_SHIFT), 248af732203SDimitry Andric DFMT_8 | (NFMT_UINT << NFMT_SHIFT), 249af732203SDimitry Andric DFMT_8 | (NFMT_SINT << NFMT_SHIFT), 250af732203SDimitry Andric 251af732203SDimitry Andric DFMT_16 | (NFMT_UNORM << NFMT_SHIFT), 252af732203SDimitry Andric DFMT_16 | (NFMT_SNORM << NFMT_SHIFT), 253af732203SDimitry Andric DFMT_16 | (NFMT_USCALED << NFMT_SHIFT), 254af732203SDimitry Andric DFMT_16 | (NFMT_SSCALED << NFMT_SHIFT), 255af732203SDimitry Andric DFMT_16 | (NFMT_UINT << NFMT_SHIFT), 256af732203SDimitry Andric DFMT_16 | (NFMT_SINT << NFMT_SHIFT), 257af732203SDimitry Andric DFMT_16 | (NFMT_FLOAT << NFMT_SHIFT), 258af732203SDimitry Andric 259af732203SDimitry Andric DFMT_8_8 | (NFMT_UNORM << NFMT_SHIFT), 260af732203SDimitry Andric DFMT_8_8 | (NFMT_SNORM << NFMT_SHIFT), 261af732203SDimitry Andric DFMT_8_8 | (NFMT_USCALED << NFMT_SHIFT), 262af732203SDimitry Andric DFMT_8_8 | (NFMT_SSCALED << NFMT_SHIFT), 263af732203SDimitry Andric DFMT_8_8 | (NFMT_UINT << NFMT_SHIFT), 264af732203SDimitry Andric DFMT_8_8 | (NFMT_SINT << NFMT_SHIFT), 265af732203SDimitry Andric 266af732203SDimitry Andric DFMT_32 | (NFMT_UINT << NFMT_SHIFT), 267af732203SDimitry Andric DFMT_32 | (NFMT_SINT << NFMT_SHIFT), 268af732203SDimitry Andric DFMT_32 | (NFMT_FLOAT << NFMT_SHIFT), 269af732203SDimitry Andric 270af732203SDimitry Andric DFMT_16_16 | (NFMT_UNORM << NFMT_SHIFT), 271af732203SDimitry Andric DFMT_16_16 | (NFMT_SNORM << NFMT_SHIFT), 272af732203SDimitry Andric DFMT_16_16 | (NFMT_USCALED << NFMT_SHIFT), 273af732203SDimitry Andric DFMT_16_16 | (NFMT_SSCALED << NFMT_SHIFT), 274af732203SDimitry Andric DFMT_16_16 | (NFMT_UINT << NFMT_SHIFT), 275af732203SDimitry Andric DFMT_16_16 | (NFMT_SINT << NFMT_SHIFT), 276af732203SDimitry Andric DFMT_16_16 | (NFMT_FLOAT << NFMT_SHIFT), 277af732203SDimitry Andric 278af732203SDimitry Andric DFMT_10_11_11 | (NFMT_UNORM << NFMT_SHIFT), 279af732203SDimitry Andric DFMT_10_11_11 | (NFMT_SNORM << NFMT_SHIFT), 280af732203SDimitry Andric DFMT_10_11_11 | (NFMT_USCALED << NFMT_SHIFT), 281af732203SDimitry Andric DFMT_10_11_11 | (NFMT_SSCALED << NFMT_SHIFT), 282af732203SDimitry Andric DFMT_10_11_11 | (NFMT_UINT << NFMT_SHIFT), 283af732203SDimitry Andric DFMT_10_11_11 | (NFMT_SINT << NFMT_SHIFT), 284af732203SDimitry Andric DFMT_10_11_11 | (NFMT_FLOAT << NFMT_SHIFT), 285af732203SDimitry Andric 286af732203SDimitry Andric DFMT_11_11_10 | (NFMT_UNORM << NFMT_SHIFT), 287af732203SDimitry Andric DFMT_11_11_10 | (NFMT_SNORM << NFMT_SHIFT), 288af732203SDimitry Andric DFMT_11_11_10 | (NFMT_USCALED << NFMT_SHIFT), 289af732203SDimitry Andric DFMT_11_11_10 | (NFMT_SSCALED << NFMT_SHIFT), 290af732203SDimitry Andric DFMT_11_11_10 | (NFMT_UINT << NFMT_SHIFT), 291af732203SDimitry Andric DFMT_11_11_10 | (NFMT_SINT << NFMT_SHIFT), 292af732203SDimitry Andric DFMT_11_11_10 | (NFMT_FLOAT << NFMT_SHIFT), 293af732203SDimitry Andric 294af732203SDimitry Andric DFMT_10_10_10_2 | (NFMT_UNORM << NFMT_SHIFT), 295af732203SDimitry Andric DFMT_10_10_10_2 | (NFMT_SNORM << NFMT_SHIFT), 296af732203SDimitry Andric DFMT_10_10_10_2 | (NFMT_USCALED << NFMT_SHIFT), 297af732203SDimitry Andric DFMT_10_10_10_2 | (NFMT_SSCALED << NFMT_SHIFT), 298af732203SDimitry Andric DFMT_10_10_10_2 | (NFMT_UINT << NFMT_SHIFT), 299af732203SDimitry Andric DFMT_10_10_10_2 | (NFMT_SINT << NFMT_SHIFT), 300af732203SDimitry Andric 301af732203SDimitry Andric DFMT_2_10_10_10 | (NFMT_UNORM << NFMT_SHIFT), 302af732203SDimitry Andric DFMT_2_10_10_10 | (NFMT_SNORM << NFMT_SHIFT), 303af732203SDimitry Andric DFMT_2_10_10_10 | (NFMT_USCALED << NFMT_SHIFT), 304af732203SDimitry Andric DFMT_2_10_10_10 | (NFMT_SSCALED << NFMT_SHIFT), 305af732203SDimitry Andric DFMT_2_10_10_10 | (NFMT_UINT << NFMT_SHIFT), 306af732203SDimitry Andric DFMT_2_10_10_10 | (NFMT_SINT << NFMT_SHIFT), 307af732203SDimitry Andric 308af732203SDimitry Andric DFMT_8_8_8_8 | (NFMT_UNORM << NFMT_SHIFT), 309af732203SDimitry Andric DFMT_8_8_8_8 | (NFMT_SNORM << NFMT_SHIFT), 310af732203SDimitry Andric DFMT_8_8_8_8 | (NFMT_USCALED << NFMT_SHIFT), 311af732203SDimitry Andric DFMT_8_8_8_8 | (NFMT_SSCALED << NFMT_SHIFT), 312af732203SDimitry Andric DFMT_8_8_8_8 | (NFMT_UINT << NFMT_SHIFT), 313af732203SDimitry Andric DFMT_8_8_8_8 | (NFMT_SINT << NFMT_SHIFT), 314af732203SDimitry Andric 315af732203SDimitry Andric DFMT_32_32 | (NFMT_UINT << NFMT_SHIFT), 316af732203SDimitry Andric DFMT_32_32 | (NFMT_SINT << NFMT_SHIFT), 317af732203SDimitry Andric DFMT_32_32 | (NFMT_FLOAT << NFMT_SHIFT), 318af732203SDimitry Andric 319af732203SDimitry Andric DFMT_16_16_16_16 | (NFMT_UNORM << NFMT_SHIFT), 320af732203SDimitry Andric DFMT_16_16_16_16 | (NFMT_SNORM << NFMT_SHIFT), 321af732203SDimitry Andric DFMT_16_16_16_16 | (NFMT_USCALED << NFMT_SHIFT), 322af732203SDimitry Andric DFMT_16_16_16_16 | (NFMT_SSCALED << NFMT_SHIFT), 323af732203SDimitry Andric DFMT_16_16_16_16 | (NFMT_UINT << NFMT_SHIFT), 324af732203SDimitry Andric DFMT_16_16_16_16 | (NFMT_SINT << NFMT_SHIFT), 325af732203SDimitry Andric DFMT_16_16_16_16 | (NFMT_FLOAT << NFMT_SHIFT), 326af732203SDimitry Andric 327af732203SDimitry Andric DFMT_32_32_32 | (NFMT_UINT << NFMT_SHIFT), 328af732203SDimitry Andric DFMT_32_32_32 | (NFMT_SINT << NFMT_SHIFT), 329af732203SDimitry Andric DFMT_32_32_32 | (NFMT_FLOAT << NFMT_SHIFT), 330af732203SDimitry Andric DFMT_32_32_32_32 | (NFMT_UINT << NFMT_SHIFT), 331af732203SDimitry Andric DFMT_32_32_32_32 | (NFMT_SINT << NFMT_SHIFT), 332af732203SDimitry Andric DFMT_32_32_32_32 | (NFMT_FLOAT << NFMT_SHIFT) 333af732203SDimitry Andric }; 334af732203SDimitry Andric 335af732203SDimitry Andric } // namespace MTBUFFormat 336af732203SDimitry Andric 3370b57cec5SDimitry Andric namespace Swizzle { 3380b57cec5SDimitry Andric 3390b57cec5SDimitry Andric // This must be in sync with llvm::AMDGPU::Swizzle::Id enum members, see SIDefines.h. 3400b57cec5SDimitry Andric const char* const IdSymbolic[] = { 3410b57cec5SDimitry Andric "QUAD_PERM", 3420b57cec5SDimitry Andric "BITMASK_PERM", 3430b57cec5SDimitry Andric "SWAP", 3440b57cec5SDimitry Andric "REVERSE", 3450b57cec5SDimitry Andric "BROADCAST", 3460b57cec5SDimitry Andric }; 3470b57cec5SDimitry Andric 3480b57cec5SDimitry Andric } // namespace Swizzle 3490b57cec5SDimitry Andric 3500b57cec5SDimitry Andric namespace VGPRIndexMode { 3510b57cec5SDimitry Andric 3520b57cec5SDimitry Andric // This must be in sync with llvm::AMDGPU::VGPRIndexMode::Id enum members, see SIDefines.h. 3530b57cec5SDimitry Andric const char* const IdSymbolic[] = { 3540b57cec5SDimitry Andric "SRC0", 3550b57cec5SDimitry Andric "SRC1", 3560b57cec5SDimitry Andric "SRC2", 3570b57cec5SDimitry Andric "DST", 3580b57cec5SDimitry Andric }; 3590b57cec5SDimitry Andric 3600b57cec5SDimitry Andric } // namespace VGPRIndexMode 3610b57cec5SDimitry Andric 3620b57cec5SDimitry Andric } // namespace AMDGPU 3630b57cec5SDimitry Andric } // namespace llvm 364