gem5
v20.1.0.0
|
Go to the source code of this file.
Namespaces | |
Gcn3ISA | |
classes that represnt vector/scalar operands in GCN3 ISA. | |
Enumerations | |
enum | SDWASelVals : int { SDWA_BYTE_0 = 0, SDWA_BYTE_1 = 1, SDWA_BYTE_2 = 2, SDWA_BYTE_3 = 3, SDWA_WORD_0 = 4, SDWA_WORD_1 = 5, SDWA_DWORD = 6 } |
enum | SDWADstVals : int { SDWA_UNUSED_PAD = 0, SDWA_UNUSED_SEXT = 1, SDWA_UNUSED_PRESERVE = 2 } |
enum | SqDPPVals : int { SQ_DPP_QUAD_PERM_MAX = 0xFF, SQ_DPP_RESERVED = 0x100, SQ_DPP_ROW_SL1 = 0x101, SQ_DPP_ROW_SL15 = 0x10F, SQ_DPP_ROW_SR1 = 0x111, SQ_DPP_ROW_SR15 = 0x11F, SQ_DPP_ROW_RR1 = 0x121, SQ_DPP_ROW_RR15 = 0x12F, SQ_DPP_WF_SL1 = 0x130, SQ_DPP_WF_RL1 = 0x134, SQ_DPP_WF_SR1 = 0x138, SQ_DPP_WF_RR1 = 0x13C, SQ_DPP_ROW_MIRROR = 0x140, SQ_DPP_ROW_HALF_MIRROR = 0x141, SQ_DPP_ROW_BCAST15 = 0x142, SQ_DPP_ROW_BCAST31 = 0x143 } |
Functions | |
template<typename T > | |
T | Gcn3ISA::wholeQuadMode (T val) |
template<typename T > | |
T | Gcn3ISA::quadMask (T val) |
template<typename T > | |
ScalarRegI32 | Gcn3ISA::countZeroBits (T val) |
template<typename T > | |
ScalarRegI32 | Gcn3ISA::findFirstZero (T val) |
template<typename T > | |
ScalarRegI32 | Gcn3ISA::findFirstOne (T val) |
template<typename T > | |
ScalarRegI32 | Gcn3ISA::findFirstOneMsb (T val) |
template<typename T > | |
ScalarRegI32 | Gcn3ISA::countZeroBitsMsb (T val) |
ScalarRegI32 | Gcn3ISA::firstOppositeSignBit (ScalarRegI32 val) |
ScalarRegI32 | Gcn3ISA::firstOppositeSignBit (ScalarRegI64 val) |
template<typename T > | |
T | Gcn3ISA::median (T val_0, T val_1, T val_2) |
template<typename T > | |
T | Gcn3ISA::roundNearestEven (T val) |
VecElemU32 | Gcn3ISA::muladd (VecElemU64 &dst, VecElemU32 val_0, VecElemU32 val_1, VecElemU64 val_2) |
VecElemU32 | Gcn3ISA::muladd (VecElemI64 &dst, VecElemI32 val_0, VecElemI32 val_1, VecElemI64 val_2) |
int | Gcn3ISA::dppInstImpl (SqDPPVals dppCtrl, int currLane, int rowNum, int rowOffset, bool &outOfBounds) |
dppInstImpl is a helper function that performs the inputted operation on the inputted vector register lane. More... | |
template<typename T > | |
void | Gcn3ISA::processDPP (GPUDynInstPtr gpuDynInst, InFmt_VOP_DPP dppInst, T &src0) |
processDPP is a helper function for implementing Data Parallel Primitive instructions. More... | |
template<typename T > | |
void | Gcn3ISA::processDPP (GPUDynInstPtr gpuDynInst, InFmt_VOP_DPP dppInst, T &src0, T &src1) |
processDPP is a helper function for implementing Data Parallel Primitive instructions. More... | |
template<typename T > | |
T | Gcn3ISA::sdwaInstSrcImpl_helper (T currOperVal, const T origOperVal, const SDWASelVals sel, const bool signExt) |
sdwaInstSrcImpl_helper contains the per-lane code for selecting the appropriate bytes/words of the lane and doing the appropriate masking/padding/sign extending. More... | |
template<typename T > | |
void | Gcn3ISA::sdwaInstSrcImpl (T &currOper, T &origCurrOper, const SDWASelVals sel, const bool signExt) |
sdwaInstSrcImpl is a helper function that selects the appropriate bits/bytes for each lane of the inputted source operand of an SDWA instruction, does the appropriate masking/padding/sign extending for the non-selected bits/bytes, and updates the operands values with the resultant value. More... | |
template<typename T > | |
T | Gcn3ISA::sdwaInstDstImpl_helper (T currDstVal, const T origDstVal, const bool clamp, const SDWASelVals sel, const SDWADstVals unusedBits_format) |
sdwaInstDstImpl_helper contains the per-lane code for selecting the appropriate bytes/words of the lane and doing the appropriate masking/padding/sign extending. More... | |
template<typename T > | |
void | Gcn3ISA::sdwaInstDstImpl (T &dstOper, T &origDstOper, const bool clamp, const SDWASelVals sel, const SDWADstVals unusedBits_format) |
sdwaInstDestImpl is a helper function that selects the appropriate bits/bytes for the inputted dest operand of an SDWA instruction, does the appropriate masking/padding/sign extending for the non-selected bits/bytes, and updates the operands values with the resultant value. More... | |
template<typename T > | |
void | Gcn3ISA::processSDWA_src_helper (T &currSrc, T &origCurrSrc, const SDWASelVals src_sel, const bool src_signExt, const bool src_abs, const bool src_neg) |
processSDWA_srcHelper is a helper function for implementing sub d-word addressing instructions for the src operands. More... | |
template<typename T > | |
void | Gcn3ISA::processSDWA_src (InFmt_VOP_SDWA sdwaInst, T &src0, T &origSrc0) |
processSDWA_src is a helper function for implementing sub d-word addressing instructions for the src operands. More... | |
template<typename T > | |
void | Gcn3ISA::processSDWA_src (InFmt_VOP_SDWA sdwaInst, T &src0, T &origSrc0, T &src1, T &origSrc1) |
processSDWA_src is a helper function for implementing sub d-word addressing instructions. More... | |
template<typename T > | |
void | Gcn3ISA::processSDWA_dst (InFmt_VOP_SDWA sdwaInst, T &dst, T &origDst) |
processSDWA_dst is a helper function for implementing sub d-word addressing instructions for the dst operand. More... | |
Variables | |
static const int | ROW_SIZE = 16 |
static const int | NUM_BANKS = 4 |
enum SDWADstVals : int |
Enumerator | |
---|---|
SDWA_UNUSED_PAD | |
SDWA_UNUSED_SEXT | |
SDWA_UNUSED_PRESERVE |
Definition at line 56 of file inst_util.hh.
enum SDWASelVals : int |
Enumerator | |
---|---|
SDWA_BYTE_0 | |
SDWA_BYTE_1 | |
SDWA_BYTE_2 | |
SDWA_BYTE_3 | |
SDWA_WORD_0 | |
SDWA_WORD_1 | |
SDWA_DWORD |
Definition at line 44 of file inst_util.hh.
enum SqDPPVals : int |
Definition at line 64 of file inst_util.hh.
|
static |
Definition at line 84 of file inst_util.hh.
Referenced by Gcn3ISA::processDPP().
|
static |
Definition at line 83 of file inst_util.hh.
Referenced by Gcn3ISA::dppInstImpl(), and Gcn3ISA::processDPP().