gem5
|
Classes | |
class | Decoder |
class | GPUISA |
struct | MachInst |
class | BrnInstBase |
class | BrnDirectInst |
class | BrnIndirectInst |
class | CbrInstBase |
class | CbrDirectInst |
class | CbrIndirectInst |
class | BrInstBase |
class | BrDirectInst |
class | BrIndirectInst |
class | HsailOperandType |
class | HsailDataType |
class | CommonInstBase |
class | ArithInst |
class | ThreeNonUniformSourceInstBase |
class | ThreeNonUniformSourceInst |
class | CmovInst |
class | ExtractInsertInst |
class | TwoNonUniformSourceInstBase |
class | TwoNonUniformSourceInst |
class | ClassInst |
class | ShiftInst |
class | CmpInstBase |
class | CmpInst |
class | CvtInst |
class | PopcountInst |
class | Stub |
class | SpecialInstNoSrcNoDest |
class | SpecialInstNoSrcBase |
class | SpecialInstNoSrc |
class | SpecialInst1SrcBase |
class | SpecialInst1Src |
class | Ret |
class | Barrier |
class | MemFence |
class | Call |
class | HsailGPUStaticInst |
class | MemInst |
class | LdaInstBase |
class | LdaInst |
class | LdInstBase |
class | LdInst |
class | StInstBase |
class | StInst |
class | AtomicInstBase |
class | AtomicInst |
Functions | |
GPUStaticInst * | decodeBrn (const Brig::BrigInstBase *ib, const BrigObject *obj) |
GPUStaticInst * | decodeCbr (const Brig::BrigInstBase *ib, const BrigObject *obj) |
GPUStaticInst * | decodeBr (const Brig::BrigInstBase *ib, const BrigObject *obj) |
template<typename T > | |
bool | fpclassify (T src0, uint32_t src1) |
template<typename T > | |
bool | compare (T src0, T src1, Brig::BrigCompareOperation cmpOp) |
template<typename T > | |
int32_t | firstbit (T src0) |
const char * | cmpOpToString (Brig::BrigCompareOperation cmpOp) |
template<typename T > | |
T | heynot (T arg) |
template<> | |
bool | heynot< bool > (bool arg) |
const char * | atomicOpToString (BrigAtomicOperation brigOp) |
template<typename DataType > | |
GPUStaticInst * | decodeLda (const Brig::BrigInstBase *ib, const BrigObject *obj) |
template<typename MemDT , typename DestDT > | |
GPUStaticInst * | decodeLd2 (const Brig::BrigInstBase *ib, const BrigObject *obj) |
template<typename MemDT > | |
GPUStaticInst * | decodeLd (const Brig::BrigInstBase *ib, const BrigObject *obj) |
template<typename DataType , typename SrcDataType > | |
GPUStaticInst * | decodeSt (const Brig::BrigInstBase *ib, const BrigObject *obj) |
template<typename DataType , typename AddrOperandType , int NumSrcOperands> | |
GPUStaticInst * | constructAtomic (const Brig::BrigInstBase *ib, const BrigObject *obj) |
template<typename DataType , int NumSrcOperands> | |
GPUStaticInst * | decodeAtomicHelper (const Brig::BrigInstBase *ib, const BrigObject *obj) |
template<typename DataType > | |
GPUStaticInst * | decodeAtomic (const Brig::BrigInstBase *ib, const BrigObject *obj) |
template<typename DataType > | |
GPUStaticInst * | decodeAtomicNoRet (const Brig::BrigInstBase *ib, const BrigObject *obj) |
static Addr | calcPrivAddr (Addr addr, Wavefront *w, int lane, GPUStaticInst *i) |
typedef HsailDataType<CRegOperandType, bool, Enums::M_U8, VT_32, 1> HsailISA::B1 |
typedef HsailDataType<SRegOperandType, uint16_t, Enums::M_U16, VT_32, 1> HsailISA::B16 |
typedef HsailDataType<SRegOperandType, uint32_t, Enums::M_U32, VT_32, 1> HsailISA::B32 |
typedef HsailDataType<DRegOperandType, uint64_t, Enums::M_U64, VT_64, 1> HsailISA::B64 |
typedef HsailDataType<SRegOperandType, uint8_t, Enums::M_U8, VT_32, 1> HsailISA::B8 |
typedef HsailDataType<SRegOperandType, float, Enums::M_F32, VT_32> HsailISA::F32 |
typedef HsailDataType<DRegOperandType, double, Enums::M_F64, VT_64> HsailISA::F64 |
typedef uint64_t HsailISA::MiscReg |
Definition at line 47 of file gpu_isa.hh.
typedef uint32_t HsailISA::RawMachInst |
Definition at line 54 of file gpu_types.hh.
typedef HsailDataType<SRegOperandType, int16_t, Enums::M_S16, VT_32> HsailISA::S16 |
typedef HsailDataType<SRegOperandType, int32_t, Enums::M_S32, VT_32> HsailISA::S32 |
typedef HsailDataType<DRegOperandType, int64_t, Enums::M_S64, VT_64> HsailISA::S64 |
typedef HsailDataType<SRegOperandType, int8_t, Enums::M_S8, VT_32> HsailISA::S8 |
typedef HsailDataType<SRegOperandType, uint16_t, Enums::M_U16, VT_32> HsailISA::U16 |
typedef HsailDataType<SRegOperandType, uint32_t, Enums::M_U32, VT_32> HsailISA::U32 |
typedef HsailDataType<DRegOperandType, uint64_t, Enums::M_U64, VT_64> HsailISA::U64 |
typedef HsailDataType<SRegOperandType, uint8_t, Enums::M_U8, VT_32> HsailISA::U8 |
anonymous enum |
Definition at line 54 of file pseudo_inst.cc.
const char * HsailISA::atomicOpToString | ( | BrigAtomicOperation | brigOp | ) |
Definition at line 47 of file mem.cc.
References Brig::BRIG_ATOMIC_ADD, Brig::BRIG_ATOMIC_AND, Brig::BRIG_ATOMIC_CAS, Brig::BRIG_ATOMIC_EXCH, Brig::BRIG_ATOMIC_MAX, Brig::BRIG_ATOMIC_MIN, Brig::BRIG_ATOMIC_OR, Brig::BRIG_ATOMIC_SUB, Brig::BRIG_ATOMIC_WRAPDEC, Brig::BRIG_ATOMIC_WRAPINC, and Brig::BRIG_ATOMIC_XOR.
Referenced by HsailISA::AtomicInst< MemDataType, AddrOperandType, NumSrcOperands, HasDst >::generateDisassembly().
|
static |
Definition at line 123 of file mem_impl.hh.
References Wavefront::computeUnit, Wavefront::privBase, Wavefront::privSizePerItem, and ComputeUnit::wfSize().
Referenced by HsailISA::LdInst< MemDataType, DestDataType, AddrOperandType >::execute(), and HsailISA::StInst< MemDataType, SrcDataType, AddrOperandType >::execute().
const char * HsailISA::cmpOpToString | ( | Brig::BrigCompareOperation | cmpOp | ) |
Definition at line 63 of file main.cc.
References Brig::BRIG_COMPARE_EQ, Brig::BRIG_COMPARE_EQU, Brig::BRIG_COMPARE_GE, Brig::BRIG_COMPARE_GEU, Brig::BRIG_COMPARE_GT, Brig::BRIG_COMPARE_GTU, Brig::BRIG_COMPARE_LE, Brig::BRIG_COMPARE_LEU, Brig::BRIG_COMPARE_LT, Brig::BRIG_COMPARE_LTU, Brig::BRIG_COMPARE_NAN, Brig::BRIG_COMPARE_NE, Brig::BRIG_COMPARE_NEU, Brig::BRIG_COMPARE_NUM, Brig::BRIG_COMPARE_SEQ, Brig::BRIG_COMPARE_SEQU, Brig::BRIG_COMPARE_SGE, Brig::BRIG_COMPARE_SGEU, Brig::BRIG_COMPARE_SGT, Brig::BRIG_COMPARE_SGTU, Brig::BRIG_COMPARE_SLE, Brig::BRIG_COMPARE_SLEU, Brig::BRIG_COMPARE_SLT, Brig::BRIG_COMPARE_SLTU, Brig::BRIG_COMPARE_SNAN, Brig::BRIG_COMPARE_SNE, Brig::BRIG_COMPARE_SNEU, and Brig::BRIG_COMPARE_SNUM.
Referenced by HsailISA::CmpInst< DestDataType, SrcDataType >::opcode_suffix().
bool HsailISA::compare | ( | T | src0, |
T | src1, | ||
Brig::BrigCompareOperation | cmpOp | ||
) |
Definition at line 592 of file decl.hh.
References Brig::BRIG_COMPARE_EQ, Brig::BRIG_COMPARE_EQU, Brig::BRIG_COMPARE_GE, Brig::BRIG_COMPARE_GEU, Brig::BRIG_COMPARE_GT, Brig::BRIG_COMPARE_GTU, Brig::BRIG_COMPARE_LE, Brig::BRIG_COMPARE_LEU, Brig::BRIG_COMPARE_LT, Brig::BRIG_COMPARE_LTU, Brig::BRIG_COMPARE_NAN, Brig::BRIG_COMPARE_NE, Brig::BRIG_COMPARE_NEU, Brig::BRIG_COMPARE_NUM, Brig::BRIG_COMPARE_SEQ, Brig::BRIG_COMPARE_SEQU, Brig::BRIG_COMPARE_SGE, Brig::BRIG_COMPARE_SGEU, Brig::BRIG_COMPARE_SGT, Brig::BRIG_COMPARE_SGTU, Brig::BRIG_COMPARE_SLE, Brig::BRIG_COMPARE_SLEU, Brig::BRIG_COMPARE_SLT, Brig::BRIG_COMPARE_SLTU, Brig::BRIG_COMPARE_SNAN, Brig::BRIG_COMPARE_SNE, Brig::BRIG_COMPARE_SNEU, Brig::BRIG_COMPARE_SNUM, and fatal.
Referenced by MipsISA::Interrupts::onCpuTimerInterrupt().
GPUStaticInst* HsailISA::constructAtomic | ( | const Brig::BrigInstBase * | ib, |
const BrigObject * | obj | ||
) |
Definition at line 1690 of file mem.hh.
References MipsISA::at, Brig::BrigInstAtomic::atomicOperation, Brig::BRIG_ATOMIC_LD, Brig::BRIG_ATOMIC_ST, Brig::BRIG_OPCODE_ATOMICNORET, Brig::BRIG_TYPE_B16, Brig::BRIG_TYPE_B32, Brig::BRIG_TYPE_B64, Brig::BRIG_TYPE_B8, fatal, Brig::BrigInstBase::opcode, and Brig::BrigInstBase::type.
Referenced by decodeAtomicHelper().
GPUStaticInst* HsailISA::decodeAtomic | ( | const Brig::BrigInstBase * | ib, |
const BrigObject * | obj | ||
) |
Definition at line 1752 of file mem.hh.
References MipsISA::at, Brig::BrigInstAtomic::atomicOperation, and Brig::BRIG_ATOMIC_CAS.
GPUStaticInst* HsailISA::decodeAtomicHelper | ( | const Brig::BrigInstBase * | ib, |
const BrigObject * | obj | ||
) |
Definition at line 1720 of file mem.hh.
References Brig::BRIG_KIND_OPERAND_ADDRESS, Brig::BRIG_KIND_OPERAND_REGISTER, Brig::BRIG_OPCODE_ATOMICNORET, Brig::BRIG_REGISTER_KIND_DOUBLE, Brig::BRIG_REGISTER_KIND_SINGLE, constructAtomic(), fatal, findRegDataType(), BrigObject::getOperandPtr(), BrigRegOperandInfo::kind, Brig::BrigInstBase::opcode, Brig::BrigInstBase::operands, BrigRegOperandInfo::regKind, and BrigRegOperandInfo::type.
GPUStaticInst* HsailISA::decodeAtomicNoRet | ( | const Brig::BrigInstBase * | ib, |
const BrigObject * | obj | ||
) |
Definition at line 1765 of file mem.hh.
References MipsISA::at, Brig::BrigInstAtomic::atomicOperation, and Brig::BRIG_ATOMIC_CAS.
GPUStaticInst * HsailISA::decodeBr | ( | const Brig::BrigInstBase * | ib, |
const BrigObject * | obj | ||
) |
Definition at line 73 of file branch.cc.
References Brig::BRIG_KIND_OPERAND_REGISTER, BrigObject::getOperand(), BrigObject::getOperandPtr(), Brig::BrigBase::kind, Brig::BrigInstBase::operands, and X86ISA::reg.
GPUStaticInst * HsailISA::decodeBrn | ( | const Brig::BrigInstBase * | ib, |
const BrigObject * | obj | ||
) |
Definition at line 43 of file branch.cc.
References Brig::BRIG_KIND_OPERAND_REGISTER, BrigObject::getOperand(), BrigObject::getOperandPtr(), Brig::BrigBase::kind, Brig::BrigInstBase::operands, and X86ISA::reg.
GPUStaticInst * HsailISA::decodeCbr | ( | const Brig::BrigInstBase * | ib, |
const BrigObject * | obj | ||
) |
Definition at line 58 of file branch.cc.
References Brig::BRIG_KIND_OPERAND_REGISTER, BrigObject::getOperand(), BrigObject::getOperandPtr(), Brig::BrigBase::kind, Brig::BrigInstBase::operands, and X86ISA::reg.
GPUStaticInst* HsailISA::decodeLd | ( | const Brig::BrigInstBase * | ib, |
const BrigObject * | obj | ||
) |
Definition at line 728 of file mem.hh.
References Brig::BRIG_KIND_OPERAND_OPERAND_LIST, Brig::BRIG_KIND_OPERAND_REGISTER, Brig::BRIG_REGISTER_KIND_DOUBLE, Brig::BRIG_REGISTER_KIND_SINGLE, Brig::BRIG_TYPE_B16, Brig::BRIG_TYPE_B32, Brig::BRIG_TYPE_B64, Brig::BRIG_TYPE_B8, Brig::BRIG_TYPE_F16, Brig::BRIG_TYPE_F32, Brig::BRIG_TYPE_F64, Brig::BRIG_TYPE_S16, Brig::BRIG_TYPE_S32, Brig::BRIG_TYPE_S64, Brig::BRIG_TYPE_S8, Brig::BRIG_TYPE_U16, Brig::BRIG_TYPE_U32, Brig::BRIG_TYPE_U64, Brig::BRIG_TYPE_U8, HsailISA::LdaInstBase< DestOperandType, AddrOperandType >::dest, fatal, findRegDataType(), BrigObject::getOperandPtr(), BrigRegOperandInfo::kind, Brig::BrigInstBase::operands, BrigRegOperandInfo::regKind, and Brig::BrigInstBase::type.
GPUStaticInst* HsailISA::decodeLd2 | ( | const Brig::BrigInstBase * | ib, |
const BrigObject * | obj | ||
) |
Definition at line 702 of file mem.hh.
References Brig::BRIG_KIND_OPERAND_ADDRESS, Brig::BRIG_KIND_OPERAND_OPERAND_LIST, Brig::BRIG_KIND_OPERAND_REGISTER, Brig::BRIG_REGISTER_KIND_DOUBLE, Brig::BRIG_REGISTER_KIND_SINGLE, fatal, findRegDataType(), BrigObject::getOperandPtr(), BrigRegOperandInfo::kind, Brig::BrigInstBase::operands, and BrigRegOperandInfo::regKind.
GPUStaticInst* HsailISA::decodeLda | ( | const Brig::BrigInstBase * | ib, |
const BrigObject * | obj | ||
) |
Definition at line 185 of file mem.hh.
References Brig::BRIG_KIND_OPERAND_ADDRESS, Brig::BRIG_KIND_OPERAND_REGISTER, Brig::BRIG_REGISTER_KIND_DOUBLE, Brig::BRIG_REGISTER_KIND_SINGLE, fatal, findRegDataType(), BrigObject::getOperandPtr(), BrigRegOperandInfo::kind, Brig::BrigInstBase::operands, BrigRegOperandInfo::regKind, and BrigRegOperandInfo::type.
GPUStaticInst* HsailISA::decodeSt | ( | const Brig::BrigInstBase * | ib, |
const BrigObject * | obj | ||
) |
Definition at line 1177 of file mem.hh.
References Brig::BRIG_KIND_OPERAND_ADDRESS, Brig::BRIG_KIND_OPERAND_REGISTER, Brig::BRIG_OPCODE_ATOMIC, Brig::BRIG_OPCODE_ATOMICNORET, Brig::BRIG_REGISTER_KIND_DOUBLE, Brig::BRIG_REGISTER_KIND_SINGLE, fatal, findRegDataType(), BrigObject::getOperandPtr(), BrigRegOperandInfo::kind, Brig::BrigInstBase::opcode, Brig::BrigInstBase::operands, BrigRegOperandInfo::regKind, and BrigRegOperandInfo::type.
bool HsailISA::fpclassify | ( | T | src0, |
uint32_t | src1 | ||
) |
Definition at line 537 of file decl.hh.
Referenced by ArmISA::fixDest(), ArmISA::flushToZero(), ArmISA::fpMulX(), ArmISA::fpRecipEstimate(), ArmISA::fpRecps(), ArmISA::fpRecpsS(), ArmISA::fprSqrtEstimate(), ArmISA::fpRSqrts(), ArmISA::fpRSqrtsS(), ArmISA::FpOp::ternaryOp(), and ArmISA::vfpFpToFixed().
|
inline |