gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Typedefs | Enumerations | Functions
HsailISA Namespace Reference

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
 

Typedefs

typedef uint64_t MiscReg
 
typedef uint32_t RawMachInst
 
typedef HsailOperandType
< CRegOperand,
CRegOrImmOperand
CRegOperandType
 
typedef HsailOperandType
< SRegOperand,
SRegOrImmOperand
SRegOperandType
 
typedef HsailOperandType
< DRegOperand,
DRegOrImmOperand
DRegOperandType
 
typedef HsailDataType
< CRegOperandType, bool,
Enums::M_U8, VT_32, 1 > 
B1
 
typedef HsailDataType
< SRegOperandType, uint8_t,
Enums::M_U8, VT_32, 1 > 
B8
 
typedef HsailDataType
< SRegOperandType, uint16_t,
Enums::M_U16, VT_32, 1 > 
B16
 
typedef HsailDataType
< SRegOperandType, uint32_t,
Enums::M_U32, VT_32, 1 > 
B32
 
typedef HsailDataType
< DRegOperandType, uint64_t,
Enums::M_U64, VT_64, 1 > 
B64
 
typedef HsailDataType
< SRegOperandType, int8_t,
Enums::M_S8, VT_32
S8
 
typedef HsailDataType
< SRegOperandType, int16_t,
Enums::M_S16, VT_32
S16
 
typedef HsailDataType
< SRegOperandType, int32_t,
Enums::M_S32, VT_32
S32
 
typedef HsailDataType
< DRegOperandType, int64_t,
Enums::M_S64, VT_64
S64
 
typedef HsailDataType
< SRegOperandType, uint8_t,
Enums::M_U8, VT_32
U8
 
typedef HsailDataType
< SRegOperandType, uint16_t,
Enums::M_U16, VT_32
U16
 
typedef HsailDataType
< SRegOperandType, uint32_t,
Enums::M_U32, VT_32
U32
 
typedef HsailDataType
< DRegOperandType, uint64_t,
Enums::M_U64, VT_64
U64
 
typedef HsailDataType
< SRegOperandType, float,
Enums::M_F32, VT_32
F32
 
typedef HsailDataType
< DRegOperandType, double,
Enums::M_F64, VT_64
F64
 

Enumerations

enum  {
  MAGIC_PRINT_WF_32 = 0, MAGIC_PRINT_WF_64, MAGIC_PRINT_LANE, MAGIC_PRINT_LANE_64,
  MAGIC_PRINT_WF_FLOAT, MAGIC_SIM_BREAK, MAGIC_PREF_SUM, MAGIC_REDUCTION,
  MAGIC_MASKLANE_LOWER, MAGIC_MASKLANE_UPPER, MAGIC_JOIN_WF_BAR, MAGIC_WAIT_WF_BAR,
  MAGIC_PANIC, MAGIC_ATOMIC_NR_ADD_GLOBAL_U32_REG, MAGIC_ATOMIC_NR_ADD_GROUP_U32_REG, MAGIC_LOAD_GLOBAL_U32_REG,
  MAGIC_XACT_CAS_LD, MAGIC_MOST_SIG_THD, MAGIC_MOST_SIG_BROADCAST, MAGIC_PRINT_WFID_32,
  MAGIC_PRINT_WFID_64
}
 

Functions

GPUStaticInstdecodeBrn (const Brig::BrigInstBase *ib, const BrigObject *obj)
 
GPUStaticInstdecodeCbr (const Brig::BrigInstBase *ib, const BrigObject *obj)
 
GPUStaticInstdecodeBr (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 >
heynot (T arg)
 
template<>
bool heynot< bool > (bool arg)
 
const char * atomicOpToString (BrigAtomicOperation brigOp)
 
template<typename DataType >
GPUStaticInstdecodeLda (const Brig::BrigInstBase *ib, const BrigObject *obj)
 
template<typename MemDT , typename DestDT >
GPUStaticInstdecodeLd2 (const Brig::BrigInstBase *ib, const BrigObject *obj)
 
template<typename MemDT >
GPUStaticInstdecodeLd (const Brig::BrigInstBase *ib, const BrigObject *obj)
 
template<typename DataType , typename SrcDataType >
GPUStaticInstdecodeSt (const Brig::BrigInstBase *ib, const BrigObject *obj)
 
template<typename DataType , typename AddrOperandType , int NumSrcOperands>
GPUStaticInstconstructAtomic (const Brig::BrigInstBase *ib, const BrigObject *obj)
 
template<typename DataType , int NumSrcOperands>
GPUStaticInstdecodeAtomicHelper (const Brig::BrigInstBase *ib, const BrigObject *obj)
 
template<typename DataType >
GPUStaticInstdecodeAtomic (const Brig::BrigInstBase *ib, const BrigObject *obj)
 
template<typename DataType >
GPUStaticInstdecodeAtomicNoRet (const Brig::BrigInstBase *ib, const BrigObject *obj)
 
static Addr calcPrivAddr (Addr addr, Wavefront *w, int lane, GPUStaticInst *i)
 

Typedef Documentation

typedef HsailDataType<CRegOperandType, bool, Enums::M_U8, VT_32, 1> HsailISA::B1

Definition at line 76 of file decl.hh.

typedef HsailDataType<SRegOperandType, uint16_t, Enums::M_U16, VT_32, 1> HsailISA::B16

Definition at line 80 of file decl.hh.

typedef HsailDataType<SRegOperandType, uint32_t, Enums::M_U32, VT_32, 1> HsailISA::B32

Definition at line 83 of file decl.hh.

typedef HsailDataType<DRegOperandType, uint64_t, Enums::M_U64, VT_64, 1> HsailISA::B64

Definition at line 86 of file decl.hh.

typedef HsailDataType<SRegOperandType, uint8_t, Enums::M_U8, VT_32, 1> HsailISA::B8

Definition at line 77 of file decl.hh.

Definition at line 57 of file decl.hh.

Definition at line 59 of file decl.hh.

typedef HsailDataType<SRegOperandType, float, Enums::M_F32, VT_32> HsailISA::F32

Definition at line 98 of file decl.hh.

typedef HsailDataType<DRegOperandType, double, Enums::M_F64, VT_64> HsailISA::F64

Definition at line 99 of file decl.hh.

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

Definition at line 89 of file decl.hh.

typedef HsailDataType<SRegOperandType, int32_t, Enums::M_S32, VT_32> HsailISA::S32

Definition at line 90 of file decl.hh.

typedef HsailDataType<DRegOperandType, int64_t, Enums::M_S64, VT_64> HsailISA::S64

Definition at line 91 of file decl.hh.

typedef HsailDataType<SRegOperandType, int8_t, Enums::M_S8, VT_32> HsailISA::S8

Definition at line 88 of file decl.hh.

Definition at line 58 of file decl.hh.

typedef HsailDataType<SRegOperandType, uint16_t, Enums::M_U16, VT_32> HsailISA::U16

Definition at line 94 of file decl.hh.

typedef HsailDataType<SRegOperandType, uint32_t, Enums::M_U32, VT_32> HsailISA::U32

Definition at line 95 of file decl.hh.

typedef HsailDataType<DRegOperandType, uint64_t, Enums::M_U64, VT_64> HsailISA::U64

Definition at line 96 of file decl.hh.

typedef HsailDataType<SRegOperandType, uint8_t, Enums::M_U8, VT_32> HsailISA::U8

Definition at line 93 of file decl.hh.

Enumeration Type Documentation

anonymous enum
Enumerator
MAGIC_PRINT_WF_32 
MAGIC_PRINT_WF_64 
MAGIC_PRINT_LANE 
MAGIC_PRINT_LANE_64 
MAGIC_PRINT_WF_FLOAT 
MAGIC_SIM_BREAK 
MAGIC_PREF_SUM 
MAGIC_REDUCTION 
MAGIC_MASKLANE_LOWER 
MAGIC_MASKLANE_UPPER 
MAGIC_JOIN_WF_BAR 
MAGIC_WAIT_WF_BAR 
MAGIC_PANIC 
MAGIC_ATOMIC_NR_ADD_GLOBAL_U32_REG 
MAGIC_ATOMIC_NR_ADD_GROUP_U32_REG 
MAGIC_LOAD_GLOBAL_U32_REG 
MAGIC_XACT_CAS_LD 
MAGIC_MOST_SIG_THD 
MAGIC_MOST_SIG_BROADCAST 
MAGIC_PRINT_WFID_32 
MAGIC_PRINT_WFID_64 

Definition at line 54 of file pseudo_inst.cc.

Function Documentation

const char * HsailISA::atomicOpToString ( BrigAtomicOperation  brigOp)
static Addr HsailISA::calcPrivAddr ( Addr  addr,
Wavefront w,
int  lane,
GPUStaticInst i 
)
static
const char * HsailISA::cmpOpToString ( Brig::BrigCompareOperation  cmpOp)
template<typename T >
bool HsailISA::compare ( src0,
src1,
Brig::BrigCompareOperation  cmpOp 
)
template<typename DataType , typename AddrOperandType , int NumSrcOperands>
GPUStaticInst* HsailISA::constructAtomic ( const Brig::BrigInstBase ib,
const BrigObject obj 
)
template<typename DataType >
GPUStaticInst* HsailISA::decodeAtomic ( const Brig::BrigInstBase ib,
const BrigObject obj 
)
template<typename DataType , int NumSrcOperands>
GPUStaticInst* HsailISA::decodeAtomicHelper ( const Brig::BrigInstBase ib,
const BrigObject obj 
)
template<typename DataType >
GPUStaticInst* HsailISA::decodeAtomicNoRet ( const Brig::BrigInstBase ib,
const BrigObject obj 
)
GPUStaticInst * HsailISA::decodeBr ( const Brig::BrigInstBase ib,
const BrigObject obj 
)
GPUStaticInst * HsailISA::decodeBrn ( const Brig::BrigInstBase ib,
const BrigObject obj 
)
GPUStaticInst * HsailISA::decodeCbr ( const Brig::BrigInstBase ib,
const BrigObject obj 
)
template<typename MemDT >
GPUStaticInst* HsailISA::decodeLd ( const Brig::BrigInstBase ib,
const BrigObject obj 
)
template<typename MemDT , typename DestDT >
GPUStaticInst* HsailISA::decodeLd2 ( const Brig::BrigInstBase ib,
const BrigObject obj 
)
template<typename DataType >
GPUStaticInst* HsailISA::decodeLda ( const Brig::BrigInstBase ib,
const BrigObject obj 
)
template<typename DataType , typename SrcDataType >
GPUStaticInst* HsailISA::decodeSt ( const Brig::BrigInstBase ib,
const BrigObject obj 
)
template<typename T >
int32_t HsailISA::firstbit ( src0)

Definition at line 648 of file decl.hh.

template<typename T >
bool HsailISA::fpclassify ( src0,
uint32_t  src1 
)
template<typename T >
T HsailISA::heynot ( arg)

Definition at line 1273 of file decl.hh.

template<>
bool HsailISA::heynot< bool > ( bool  arg)
inline

Definition at line 1274 of file decl.hh.


Generated on Fri Jun 9 2017 13:04:31 for gem5 by doxygen 1.8.6