CLRX  1
An unofficial OpenCL extensions designed for Radeon GPUs
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Classes | Public Member Functions | List of all members
CLRX::GCNAssembler Class Reference

GCN arch assembler. More...

#include <Assembler.h>

Inheritance diagram for CLRX::GCNAssembler:
CLRX::ISAAssembler CLRX::NonCopyableAndNonMovable

Classes

struct  Regs
 register pool numbers More...
 

Public Member Functions

 GCNAssembler (Assembler &assembler)
 constructor
 
 ~GCNAssembler ()
 destructor
 
void assemble (const CString &mnemonic, const char *mnemPlace, const char *linePtr, const char *lineEnd, std::vector< cxbyte > &output)
 assemble single line
 
bool resolveCode (const AsmSourcePos &sourcePos, cxuint targetSectionId, cxbyte *sectionData, size_t offset, AsmExprTargetType targetType, cxuint sectionId, uint64_t value)
 resolve code with location, target and value
 
bool checkMnemonic (const CString &mnemonic) const
 check if name is mnemonic
 
void setAllocatedRegisters (const cxuint *regs, Flags regFlags)
 set allocated registers (if regs is null then reset them)
 
const cxuint * getAllocatedRegisters (size_t &regTypesNum, Flags &regFlags) const
 get allocated register numbers after assemblying
 
void fillAlignment (size_t size, cxbyte *output)
 fill alignment when value is not given
 
bool parseRegisterRange (const char *&linePtr, cxuint &regStart, cxuint &regEnd)
 parse register range
 
bool relocationIsFit (cxuint bits, AsmExprTargetType tgtType)
 return true if expresion of target fit to value with specified bits
 
- Public Member Functions inherited from CLRX::ISAAssembler
virtual ~ISAAssembler ()
 destructor
 
- Public Member Functions inherited from CLRX::NonCopyableAndNonMovable
 NonCopyableAndNonMovable ()
 constructor
 
 NonCopyableAndNonMovable (const NonCopyableAndNonMovable &)=delete
 copy-constructor
 
 NonCopyableAndNonMovable (NonCopyableAndNonMovable &&)=delete
 move-constructor
 
NonCopyableAndNonMovableoperator= (const NonCopyableAndNonMovable &)=delete
 copy-assignment
 
NonCopyableAndNonMovableoperator= (NonCopyableAndNonMovable &&)=delete
 move-asignment
 

Additional Inherited Members

- Protected Member Functions inherited from CLRX::ISAAssembler
void printWarning (const char *linePtr, const char *message)
 print warning for position pointed by line pointer
 
void printError (const char *linePtr, const char *message)
 print error for position pointed by line pointer
 
void printWarning (const AsmSourcePos &sourcePos, const char *message)
 print warning for source position
 
void printError (const AsmSourcePos &sourcePos, const char *message)
 print error for source position
 
void printWarningForRange (cxuint bits, uint64_t value, const AsmSourcePos &pos, cxbyte signess=WS_BOTH)
 print warning about integer out of range
 
 ISAAssembler (Assembler &assembler)
 constructor
 
- Protected Attributes inherited from CLRX::ISAAssembler
Assemblerassembler
 assembler
 

Detailed Description

GCN arch assembler.


The documentation for this class was generated from the following file: