gem5
v20.1.0.0
|
#include <instructions.hh>
Public Member Functions | |
Inst_MUBUF__BUFFER_WBINVL1_VOL (InFmt_MUBUF *) | |
~Inst_MUBUF__BUFFER_WBINVL1_VOL () | |
int | getNumOperands () override |
int | numDstRegOperands () override |
int | numSrcRegOperands () override |
int | getOperandSize (int opIdx) override |
bool | isSrcOperand (int opIdx) override |
bool | isDstOperand (int opIdx) override |
void | execute (GPUDynInstPtr) override |
void | initiateAcc (GPUDynInstPtr) override |
void | completeAcc (GPUDynInstPtr) override |
Public Member Functions inherited from Gcn3ISA::Inst_MUBUF | |
Inst_MUBUF (InFmt_MUBUF *, const std::string &opcode) | |
~Inst_MUBUF () | |
int | instSize () const override |
void | generateDisassembly () override |
bool | isScalarRegister (int opIdx) override |
bool | isVectorRegister (int opIdx) override |
int | getRegisterIndex (int opIdx, GPUDynInstPtr gpuDynInst) override |
Public Member Functions inherited from Gcn3ISA::GCN3GPUStaticInst | |
GCN3GPUStaticInst (const std::string &opcode) | |
~GCN3GPUStaticInst () | |
bool | isFlatScratchRegister (int opIdx) override |
bool | isExecMaskRegister (int opIdx) override |
int | coalescerTokenCount () const override |
Return the number of tokens needed by the coalescer. More... | |
ScalarRegU32 | srcLiteral () const override |
Public Member Functions inherited from GPUStaticInst | |
GPUStaticInst (const std::string &opcode) | |
virtual | ~GPUStaticInst () |
void | instAddr (int inst_addr) |
int | instAddr () const |
int | nextInstAddr () const |
void | instNum (int num) |
int | instNum () |
void | ipdInstNum (int num) |
int | ipdInstNum () const |
const std::string & | disassemble () |
int | numDstVecOperands () |
int | numSrcVecOperands () |
int | numDstVecDWORDs () |
int | numSrcVecDWORDs () |
int | numOpdDWORDs (int operandIdx) |
bool | isALU () const |
bool | isBranch () const |
bool | isCondBranch () const |
bool | isNop () const |
bool | isReturn () const |
bool | isEndOfKernel () const |
bool | isKernelLaunch () const |
bool | isSDWAInst () const |
bool | isDPPInst () const |
bool | isUnconditionalJump () const |
bool | isSpecialOp () const |
bool | isWaitcnt () const |
bool | isBarrier () const |
bool | isMemSync () const |
bool | isMemRef () const |
bool | isFlat () const |
bool | isLoad () const |
bool | isStore () const |
bool | isAtomic () const |
bool | isAtomicNoRet () const |
bool | isAtomicRet () const |
bool | isScalar () const |
bool | readsSCC () const |
bool | writesSCC () const |
bool | readsVCC () const |
bool | writesVCC () const |
bool | readsEXEC () const |
bool | writesEXEC () const |
bool | readsMode () const |
bool | writesMode () const |
bool | ignoreExec () const |
bool | isAtomicAnd () const |
bool | isAtomicOr () const |
bool | isAtomicXor () const |
bool | isAtomicCAS () const |
bool | isAtomicExch () const |
bool | isAtomicAdd () const |
bool | isAtomicSub () const |
bool | isAtomicInc () const |
bool | isAtomicDec () const |
bool | isAtomicMax () const |
bool | isAtomicMin () const |
bool | isArgLoad () const |
bool | isGlobalMem () const |
bool | isLocalMem () const |
bool | isArgSeg () const |
bool | isGlobalSeg () const |
bool | isGroupSeg () const |
bool | isKernArgSeg () const |
bool | isPrivateSeg () const |
bool | isReadOnlySeg () const |
bool | isSpillSeg () const |
bool | isGloballyCoherent () const |
Coherence domain of a memory instruction. More... | |
bool | isSystemCoherent () const |
bool | isF16 () const |
bool | isF32 () const |
bool | isF64 () const |
bool | isFMA () const |
bool | isMAC () const |
bool | isMAD () const |
virtual uint32_t | getTargetPc () |
void | setFlag (Flags flag) |
const std::string & | opcode () const |
Additional Inherited Members | |
Public Attributes inherited from GPUStaticInst | |
Enums::StorageClassType | executed_as |
Static Public Attributes inherited from GPUStaticInst | |
static uint64_t | dynamic_id_count |
Protected Member Functions inherited from Gcn3ISA::Inst_MUBUF | |
template<typename T > | |
void | initMemRead (GPUDynInstPtr gpuDynInst) |
template<int N> | |
void | initMemRead (GPUDynInstPtr gpuDynInst) |
template<typename T > | |
void | initMemWrite (GPUDynInstPtr gpuDynInst) |
template<int N> | |
void | initMemWrite (GPUDynInstPtr gpuDynInst) |
void | injectGlobalMemFence (GPUDynInstPtr gpuDynInst) |
template<typename VOFF , typename VIDX , typename SRSRC , typename SOFF > | |
void | calcAddr (GPUDynInstPtr gpuDynInst, VOFF v_off, VIDX v_idx, SRSRC s_rsrc_desc, SOFF s_offset, int inst_offset) |
MUBUF insructions calculate their addresses as follows: More... | |
Protected Member Functions inherited from Gcn3ISA::GCN3GPUStaticInst | |
void | panicUnimplemented () const |
Protected Attributes inherited from Gcn3ISA::Inst_MUBUF | |
InFmt_MUBUF | instData |
InFmt_MUBUF_1 | extData |
VectorMask | oobMask |
Protected Attributes inherited from Gcn3ISA::GCN3GPUStaticInst | |
ScalarRegU32 | _srcLiteral |
if the instruction has a src literal - an immediate value that is part of the instruction stream - we store that here More... | |
Protected Attributes inherited from GPUStaticInst | |
const std::string | _opcode |
std::string | disassembly |
int | _instNum |
int | _instAddr |
int | srcVecOperands |
int | dstVecOperands |
int | srcVecDWORDs |
int | dstVecDWORDs |
int | _ipdInstNum |
Identifier of the immediate post-dominator instruction. More... | |
std::bitset< Num_Flags > | _flags |
Definition at line 69588 of file instructions.hh.
Gcn3ISA::Inst_MUBUF__BUFFER_WBINVL1_VOL::Inst_MUBUF__BUFFER_WBINVL1_VOL | ( | InFmt_MUBUF * | iFmt | ) |
This instruction is same as buffer_wbinvl1 instruction except this instruction only invalidate L1 shader line with MTYPE for system or group coherence. Since L1 do not differentiate between its cache lines, this instruction currently behaves (and implemented ) exactly like buffer_wbinvl1 instruction.
Definition at line 36362 of file instructions.cc.
Gcn3ISA::Inst_MUBUF__BUFFER_WBINVL1_VOL::~Inst_MUBUF__BUFFER_WBINVL1_VOL | ( | ) |
Definition at line 36377 of file instructions.cc.
|
overridevirtual |
Reimplemented from GPUStaticInst.
Definition at line 36413 of file instructions.cc.
|
overridevirtual |
Implements GPUStaticInst.
Definition at line 36384 of file instructions.cc.
References Wavefront::execMask(), Wavefront::execUnitId, fatal, Wavefront::outstandingReqs, Wavefront::outstandingReqsRdGm, Wavefront::outstandingReqsWrGm, Wavefront::rdGmReqsInPipe, Wavefront::validateRequestCounters(), and Wavefront::wrGmReqsInPipe.
|
inlineoverridevirtual |
Implements GPUStaticInst.
Definition at line 69595 of file instructions.hh.
References numDstRegOperands(), and numSrcRegOperands().
|
inlineoverridevirtual |
Reimplemented from Gcn3ISA::GCN3GPUStaticInst.
Definition at line 69604 of file instructions.hh.
References fatal.
|
overridevirtual |
Reimplemented from GPUStaticInst.
Definition at line 36408 of file instructions.cc.
References Gcn3ISA::Inst_MUBUF::injectGlobalMemFence().
|
inlineoverridevirtual |
Reimplemented from Gcn3ISA::GCN3GPUStaticInst.
Definition at line 69624 of file instructions.hh.
References fatal.
|
inlineoverridevirtual |
Reimplemented from Gcn3ISA::GCN3GPUStaticInst.
Definition at line 69614 of file instructions.hh.
References fatal.
|
inlineoverridevirtual |
Implements GPUStaticInst.
Definition at line 69600 of file instructions.hh.
Referenced by getNumOperands().
|
inlineoverridevirtual |
Implements GPUStaticInst.
Definition at line 69601 of file instructions.hh.
Referenced by getNumOperands().