GPUOcelot
Public Types | Public Member Functions | Public Attributes

ir::ILOperand Class Reference

A class for a basic IL Operand. More...

#include <ILOperand.h>

List of all members.

Public Types

enum  AddressMode {
  Register, Immediate, Literal, ConstantBuffer,
  Special, Invalid
}
 

Addressing modes of operand.

More...
enum  DataType { I32, F32, InvalidDataType }
 

Type specifier.

More...
enum  SpecialRegister {
  vTidInGrpX, vTidInGrpY, vTidInGrpZ, vNTidInGrpX,
  vNTidInGrpY, vNTidInGrpZ, vThreadGrpIdX, vThreadGrpIdY,
  vThreadGrpIdZ, vNThreadGrpIdX, vNThreadGrpIdY, vNThreadGrpIdZ,
  SpecialRegister_invalid
}
 

Special register names.

More...
enum  ComponentSelect {
  CompSel_0, CompSel_1, CompSel_X, CompSel_Y,
  CompSel_Z, CompSel_W, CompSel_NoWrite, CompSel_Invalid
}
 

Component selection for source modifiers.

More...

Public Member Functions

 ILOperand ()
 Default constructor.
std::string toString () const
std::string toString (ComponentSelect c) const
std::string toString (SpecialRegister sr) const
std::string toStringRegister () const
ILOperand neg () const
 Negate.
Swizzles

Returns a copy of the operand.

ILOperand x () const
ILOperand y () const
ILOperand z () const
ILOperand w () const
ILOperand xy () const
ILOperand xxxx () const
ILOperand x___ () const
ILOperand _y__ () const
ILOperand __z_ () const
ILOperand ___w () const

Public Attributes

AddressMode addressMode
 Addressing mode of operand.
DataType type
 Data type.
SpecialRegister special
 Value of operand.
std::string identifier
 Identifier of operand.
union {
   int   imm_int
   float   imm_float
}; 
Source modifiers
ComponentSelect swizzle_x
 Swizzle.
ComponentSelect swizzle_y
ComponentSelect swizzle_z
ComponentSelect swizzle_w
bool negate_x
 Negate.
bool negate_y
bool negate_z
bool negate_w

Detailed Description

A class for a basic IL Operand.


Member Enumeration Documentation

Addressing modes of operand.

Enumerator:
Register 
Immediate 
Literal 
ConstantBuffer 
Special 
Invalid 

Component selection for source modifiers.

Enumerator:
CompSel_0 
CompSel_1 
CompSel_X 
CompSel_Y 
CompSel_Z 
CompSel_W 
CompSel_NoWrite 
CompSel_Invalid 

Type specifier.

Enumerator:
I32 
F32 
InvalidDataType 

Special register names.

Enumerator:
vTidInGrpX 
vTidInGrpY 
vTidInGrpZ 
vNTidInGrpX 
vNTidInGrpY 
vNTidInGrpZ 
vThreadGrpIdX 
vThreadGrpIdY 
vThreadGrpIdZ 
vNThreadGrpIdX 
vNThreadGrpIdY 
vNThreadGrpIdZ 
SpecialRegister_invalid 

Constructor & Destructor Documentation

ir::ILOperand::ILOperand ( )

Default constructor.


Member Function Documentation

ILOperand ir::ILOperand::___w ( ) const
ILOperand ir::ILOperand::__z_ ( ) const
ILOperand ir::ILOperand::_y__ ( ) const
ILOperand ir::ILOperand::neg ( ) const

Negate.

std::string ir::ILOperand::toString ( ComponentSelect  c) const
std::string ir::ILOperand::toString ( SpecialRegister  sr) const
std::string ir::ILOperand::toString ( ) const
std::string ir::ILOperand::toStringRegister ( ) const
ILOperand ir::ILOperand::w ( ) const
ILOperand ir::ILOperand::x ( ) const
ILOperand ir::ILOperand::x___ ( ) const
ILOperand ir::ILOperand::xxxx ( ) const
ILOperand ir::ILOperand::xy ( ) const
ILOperand ir::ILOperand::y ( ) const
ILOperand ir::ILOperand::z ( ) const

Member Data Documentation

union { ... }

Addressing mode of operand.

Identifier of operand.

Negate.

Value of operand.

Swizzle.

Data type.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines