47 reg_sym =
"s[" + std::to_string(idx) +
":" +
48 std::to_string(idx + numRegs - 1) +
"]";
50 reg_sym =
"s" + std::to_string(idx);
54 reg_sym =
"v[" + std::to_string(idx -
REG_VGPR_MIN) +
":" +
66 reg_sym = std::to_string(inline_val);
72 reg_sym =
"flat_scratch_lo";
75 reg_sym =
"flat_scratch_hi";
96 reg_sym =
"src_shared_base";
99 reg_sym =
"src_shared_limit";
102 reg_sym =
"src_private_base";
105 reg_sym =
"src_private_limit";
132 fatal(
"VEGA ISA instruction has unknown register index %u\n", idx);
160 regIdx = numScalarRegs - 2;
162 regIdx = numScalarRegs - 1;
176 regIdx = numScalarRegs - 4;
178 regIdx = numScalarRegs - 3;
199 return is_pos_const_val;
208 return is_neg_const_val;
#define fatal(...)
This implements a cprintf based fatal() function.
classes that represnt vector/scalar operands in VEGA ISA.
bool isVectorReg(int opIdx)
bool isNegConstVal(int opIdx)
int opSelectorToRegIdx(int idx, int numScalarRegs)
bool isConstVal(int opIdx)
bool isLiteral(int opIdx)
bool isScalarReg(int opIdx)
std::string opSelectorToRegSym(int idx, int numRegs)
bool isFlatScratchReg(int opIdx)
bool isPosConstVal(int opIdx)
bool isExecMask(int opIdx)
Copyright (c) 2024 Arm Limited All rights reserved.