|
gem5
v21.0.1.0
|
#include <instructions.hh>
Public Member Functions | |
| Inst_FLAT__FLAT_ATOMIC_CMPSWAP_X2 (InFmt_FLAT *) | |
| ~Inst_FLAT__FLAT_ATOMIC_CMPSWAP_X2 () | |
| 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_FLAT | |
| Inst_FLAT (InFmt_FLAT *, const std::string &opcode) | |
| ~Inst_FLAT () | |
| 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 | isSleep () 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_FLAT | |
| 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) |
| template<typename T > | |
| void | initAtomicAccess (GPUDynInstPtr gpuDynInst) |
| void | calcAddr (GPUDynInstPtr gpuDynInst, ConstVecOperandU64 &addr) |
Protected Member Functions inherited from Gcn3ISA::GCN3GPUStaticInst | |
| void | panicUnimplemented () const |
Protected Attributes inherited from Gcn3ISA::Inst_FLAT | |
| InFmt_FLAT | instData |
| InFmt_FLAT_1 | extData |
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 80858 of file instructions.hh.
| Gcn3ISA::Inst_FLAT__FLAT_ATOMIC_CMPSWAP_X2::Inst_FLAT__FLAT_ATOMIC_CMPSWAP_X2 | ( | InFmt_FLAT * | iFmt | ) |
Definition at line 41226 of file instructions.cc.
References Gcn3ISA::InFmt_FLAT::GLC, Gcn3ISA::Inst_FLAT::instData, and GPUStaticInst::setFlag().
| Gcn3ISA::Inst_FLAT__FLAT_ATOMIC_CMPSWAP_X2::~Inst_FLAT__FLAT_ATOMIC_CMPSWAP_X2 | ( | ) |
Definition at line 41239 of file instructions.cc.
|
overridevirtual |
Reimplemented from GPUStaticInst.
Definition at line 41323 of file instructions.cc.
References Gcn3ISA::Inst_FLAT::extData, GPUStaticInst::isAtomicRet(), Gcn3ISA::NumVecElemPerVecReg(), Gcn3ISA::InFmt_FLAT_1::VDST, and Gcn3ISA::VecOperand< DataType, Const, NumDwords >::write().
|
overridevirtual |
TODO: If you encounter this panic, just remove this panic and restart the simulation. It should just work fine but this is to warn user that this path is never tested although all the necessary logic is implemented
Implements GPUStaticInst.
Definition at line 41249 of file instructions.cc.
References X86ISA::addr, Gcn3ISA::InFmt_FLAT_1::ADDR, Gcn3ISA::Inst_FLAT::calcAddr(), Wavefront::computeUnit, data, Gcn3ISA::InFmt_FLAT_1::DATA, Wavefront::decLGKMInstsIssued(), Wavefront::decVMemInstsIssued(), Wavefront::execMask(), Wavefront::execUnitId, Gcn3ISA::Inst_FLAT::extData, fatal, Gcn3ISA::InFmt_FLAT::GLC, Gcn3ISA::Inst_FLAT::instData, Gcn3ISA::NumVecElemPerVecReg(), Wavefront::outstandingReqsRdGm, Wavefront::outstandingReqsWrGm, panic_if, Wavefront::rdGmReqsInPipe, Wavefront::rdLmReqsInPipe, Gcn3ISA::VecOperand< DataType, Const, NumDwords >::read(), Wavefront::simdId, ComputeUnit::vrf, Wavefront::wrGmReqsInPipe, and Wavefront::wrLmReqsInPipe.
|
inlineoverridevirtual |
Implements GPUStaticInst.
Definition at line 80865 of file instructions.hh.
References numDstRegOperands(), and numSrcRegOperands().
|
inlineoverridevirtual |
Reimplemented from Gcn3ISA::GCN3GPUStaticInst.
Definition at line 80874 of file instructions.hh.
References fatal.
|
overridevirtual |
Reimplemented from GPUStaticInst.
Definition at line 41317 of file instructions.cc.
|
inlineoverridevirtual |
Reimplemented from Gcn3ISA::GCN3GPUStaticInst.
Definition at line 80906 of file instructions.hh.
References fatal.
|
inlineoverridevirtual |
Reimplemented from Gcn3ISA::GCN3GPUStaticInst.
Definition at line 80890 of file instructions.hh.
References fatal.
|
inlineoverridevirtual |
Implements GPUStaticInst.
Definition at line 80870 of file instructions.hh.
Referenced by getNumOperands().
|
inlineoverridevirtual |
Implements GPUStaticInst.
Definition at line 80871 of file instructions.hh.
Referenced by getNumOperands().