gem5  v20.1.0.0
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
Gcn3ISA::VecOperand< DataType, Const, NumDwords > Class Template Referencefinal

#include <operand.hh>

Inheritance diagram for Gcn3ISA::VecOperand< DataType, Const, NumDwords >:
Gcn3ISA::Operand

Public Member Functions

 VecOperand ()=delete
 
 VecOperand (GPUDynInstPtr gpuDynInst, int opIdx)
 
 ~VecOperand ()
 
void readSrc ()
 certain vector operands can read from the vrf/srf or constants. More...
 
void read () override
 read from the vrf. More...
 
void write () override
 write to the vrf. More...
 
void negModifier ()
 
void absModifier ()
 
template<bool Condition = (NumDwords == 1 || NumDwords == 2) && Const>
std::enable_if< Condition, const DataType >::type operator[] (size_t idx) const
 getter [] operator. More...
 
template<bool Condition = (NumDwords == 1 || NumDwords == 2) && !Const>
std::enable_if< Condition, DataType & >::type operator[] (size_t idx)
 setter [] operator. More...
 
- Public Member Functions inherited from Gcn3ISA::Operand
 Operand ()=delete
 
 Operand (GPUDynInstPtr gpuDynInst, int opIdx)
 

Private Types

using VecRegCont = typename std::conditional< NumDwords==2, VecRegContainerU64, typename std::conditional< sizeof(DataType)==sizeof(VecElemU16), VecRegContainerU16, typename std::conditional< sizeof(DataType)==sizeof(VecElemU8), VecRegContainerU8, VecRegContainerU32 >::type >::type >::type
 

Private Member Functions

void readScalar ()
 if we determine that this operand is a scalar (reg or constant) then we read the scalar data into the scalar operand data member. More...
 

Private Attributes

bool scalar
 whether this operand a scalar or not. More...
 
bool absMod
 absolute value and negative modifiers. More...
 
bool negMod
 
VecRegCont vecReg
 this holds all the operand data in a single vector register object (i.e., if an operand is 64b, this will hold the data from both registers the operand is using). More...
 
ScalarOperand< DataType, Const, NumDwords > scRegData
 for src operands that read scalars (i.e., scalar regs or a scalar constant). More...
 
std::array< VecRegContainerU32 *, NumDwords > vrfData
 pointers to the underlyding registers (i.e., the actual registers in the register file). More...
 

Additional Inherited Members

- Protected Attributes inherited from Gcn3ISA::Operand
GPUDynInstPtr _gpuDynInst
 instruction object that owns this operand More...
 
int _opIdx
 op selector value for this operand. More...
 

Detailed Description

template<typename DataType, bool Const, size_t NumDwords = sizeof(DataType) / sizeof(VecElemU32)>
class Gcn3ISA::VecOperand< DataType, Const, NumDwords >

Definition at line 102 of file operand.hh.

Member Typedef Documentation

◆ VecRegCont

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(VecElemU32)>
using Gcn3ISA::VecOperand< DataType, Const, NumDwords >::VecRegCont = typename std::conditional<NumDwords == 2, VecRegContainerU64, typename std::conditional<sizeof(DataType) == sizeof(VecElemU16), VecRegContainerU16, typename std::conditional<sizeof(DataType) == sizeof(VecElemU8), VecRegContainerU8, VecRegContainerU32>::type>::type>::type
private

Definition at line 336 of file operand.hh.

Constructor & Destructor Documentation

◆ VecOperand() [1/2]

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(VecElemU32)>
Gcn3ISA::VecOperand< DataType, Const, NumDwords >::VecOperand ( )
delete

◆ VecOperand() [2/2]

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(VecElemU32)>
Gcn3ISA::VecOperand< DataType, Const, NumDwords >::VecOperand ( GPUDynInstPtr  gpuDynInst,
int  opIdx 
)
inline

Definition at line 110 of file operand.hh.

◆ ~VecOperand()

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(VecElemU32)>
Gcn3ISA::VecOperand< DataType, Const, NumDwords >::~VecOperand ( )
inline

Definition at line 118 of file operand.hh.

Member Function Documentation

◆ absModifier()

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(VecElemU32)>
void Gcn3ISA::VecOperand< DataType, Const, NumDwords >::absModifier ( )
inline

Definition at line 256 of file operand.hh.

References Gcn3ISA::VecOperand< DataType, Const, NumDwords >::absMod.

Referenced by Gcn3ISA::Inst_VOP3__V_CMP_LT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_EQ_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LG_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_O_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_U_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NGE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NLG_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NGT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NLE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NEQ_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NLT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_EQ_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LG_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_O_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_U_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NGE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NLG_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NGT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NLE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NEQ_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NLT_F64::execute(), Gcn3ISA::Inst_VOP3__V_ADD_F32::execute(), Gcn3ISA::Inst_VOP3__V_SUB_F32::execute(), Gcn3ISA::Inst_VOP3__V_SUBREV_F32::execute(), Gcn3ISA::Inst_VOP3__V_MUL_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP3__V_MUL_F32::execute(), Gcn3ISA::Inst_VOP3__V_MIN_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAX_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAC_F32::execute(), Gcn3ISA::Inst_VOP3__V_LSHRREV_B16::execute(), Gcn3ISA::Inst_VOP3__V_MAX_U16::execute(), Gcn3ISA::Inst_VOP3__V_MAX_I16::execute(), Gcn3ISA::Inst_VOP3__V_MIN_U16::execute(), Gcn3ISA::Inst_VOP3__V_MIN_I16::execute(), Gcn3ISA::Inst_VOP3__V_CVT_I32_F64::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F64_I32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_U32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_U32_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_I32_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_RPI_I32_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_FLR_I32_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_F64::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F64_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_UBYTE0::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_UBYTE1::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_UBYTE2::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_UBYTE3::execute(), Gcn3ISA::Inst_VOP3__V_CVT_U32_F64::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F64_U32::execute(), Gcn3ISA::Inst_VOP3__V_TRUNC_F64::execute(), Gcn3ISA::Inst_VOP3__V_CEIL_F64::execute(), Gcn3ISA::Inst_VOP3__V_RNDNE_F64::execute(), Gcn3ISA::Inst_VOP3__V_FLOOR_F64::execute(), Gcn3ISA::Inst_VOP3__V_FRACT_F32::execute(), Gcn3ISA::Inst_VOP3__V_TRUNC_F32::execute(), Gcn3ISA::Inst_VOP3__V_CEIL_F32::execute(), Gcn3ISA::Inst_VOP3__V_RNDNE_F32::execute(), Gcn3ISA::Inst_VOP3__V_FLOOR_F32::execute(), Gcn3ISA::Inst_VOP3__V_EXP_F32::execute(), Gcn3ISA::Inst_VOP3__V_LOG_F32::execute(), Gcn3ISA::Inst_VOP3__V_RCP_F32::execute(), Gcn3ISA::Inst_VOP3__V_RCP_IFLAG_F32::execute(), Gcn3ISA::Inst_VOP3__V_RSQ_F32::execute(), Gcn3ISA::Inst_VOP3__V_RCP_F64::execute(), Gcn3ISA::Inst_VOP3__V_RSQ_F64::execute(), Gcn3ISA::Inst_VOP3__V_SQRT_F32::execute(), Gcn3ISA::Inst_VOP3__V_SQRT_F64::execute(), Gcn3ISA::Inst_VOP3__V_SIN_F32::execute(), Gcn3ISA::Inst_VOP3__V_COS_F32::execute(), Gcn3ISA::Inst_VOP3__V_FFBH_U32::execute(), Gcn3ISA::Inst_VOP3__V_FFBL_B32::execute(), Gcn3ISA::Inst_VOP3__V_FFBH_I32::execute(), Gcn3ISA::Inst_VOP3__V_FREXP_EXP_I32_F64::execute(), Gcn3ISA::Inst_VOP3__V_FREXP_MANT_F64::execute(), Gcn3ISA::Inst_VOP3__V_FRACT_F64::execute(), Gcn3ISA::Inst_VOP3__V_FREXP_EXP_I32_F32::execute(), Gcn3ISA::Inst_VOP3__V_FREXP_MANT_F32::execute(), Gcn3ISA::Inst_VOP3__V_EXP_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAD_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAD_F32::execute(), Gcn3ISA::Inst_VOP3__V_FMA_F32::execute(), Gcn3ISA::Inst_VOP3__V_FMA_F64::execute(), Gcn3ISA::Inst_VOP3__V_MIN3_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAX3_F32::execute(), Gcn3ISA::Inst_VOP3__V_MED3_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_PK_U8_F32::execute(), Gcn3ISA::Inst_VOP3__V_DIV_FIXUP_F32::execute(), Gcn3ISA::Inst_VOP3__V_DIV_FIXUP_F64::execute(), Gcn3ISA::Inst_VOP3__V_DIV_FMAS_F32::execute(), Gcn3ISA::Inst_VOP3__V_DIV_FMAS_F64::execute(), Gcn3ISA::Inst_VOP3__V_ADD_F64::execute(), Gcn3ISA::Inst_VOP3__V_MUL_F64::execute(), Gcn3ISA::Inst_VOP3__V_MIN_F64::execute(), Gcn3ISA::Inst_VOP3__V_MAX_F64::execute(), and Gcn3ISA::Inst_VOP3__V_LDEXP_F64::execute().

◆ negModifier()

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(VecElemU32)>
void Gcn3ISA::VecOperand< DataType, Const, NumDwords >::negModifier ( )
inline

Definition at line 250 of file operand.hh.

References Gcn3ISA::VecOperand< DataType, Const, NumDwords >::negMod.

Referenced by Gcn3ISA::Inst_VOP3__V_CMP_LT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_EQ_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LG_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_O_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_U_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NGE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NLG_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NGT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NLE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NEQ_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NLT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_EQ_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LG_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_O_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_U_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NGE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NLG_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NGT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NLE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NEQ_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NLT_F64::execute(), Gcn3ISA::Inst_VOP3__V_ADD_F32::execute(), Gcn3ISA::Inst_VOP3__V_SUB_F32::execute(), Gcn3ISA::Inst_VOP3__V_SUBREV_F32::execute(), Gcn3ISA::Inst_VOP3__V_MUL_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP3__V_MUL_F32::execute(), Gcn3ISA::Inst_VOP3__V_MIN_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAX_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAC_F32::execute(), Gcn3ISA::Inst_VOP3__V_LSHRREV_B16::execute(), Gcn3ISA::Inst_VOP3__V_MAX_U16::execute(), Gcn3ISA::Inst_VOP3__V_MAX_I16::execute(), Gcn3ISA::Inst_VOP3__V_MIN_U16::execute(), Gcn3ISA::Inst_VOP3__V_MIN_I16::execute(), Gcn3ISA::Inst_VOP3__V_CVT_I32_F64::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F64_I32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_U32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_U32_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_I32_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_RPI_I32_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_FLR_I32_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_F64::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F64_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_UBYTE0::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_UBYTE1::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_UBYTE2::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_UBYTE3::execute(), Gcn3ISA::Inst_VOP3__V_CVT_U32_F64::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F64_U32::execute(), Gcn3ISA::Inst_VOP3__V_TRUNC_F64::execute(), Gcn3ISA::Inst_VOP3__V_CEIL_F64::execute(), Gcn3ISA::Inst_VOP3__V_RNDNE_F64::execute(), Gcn3ISA::Inst_VOP3__V_FLOOR_F64::execute(), Gcn3ISA::Inst_VOP3__V_FRACT_F32::execute(), Gcn3ISA::Inst_VOP3__V_TRUNC_F32::execute(), Gcn3ISA::Inst_VOP3__V_CEIL_F32::execute(), Gcn3ISA::Inst_VOP3__V_RNDNE_F32::execute(), Gcn3ISA::Inst_VOP3__V_FLOOR_F32::execute(), Gcn3ISA::Inst_VOP3__V_EXP_F32::execute(), Gcn3ISA::Inst_VOP3__V_LOG_F32::execute(), Gcn3ISA::Inst_VOP3__V_RCP_F32::execute(), Gcn3ISA::Inst_VOP3__V_RCP_IFLAG_F32::execute(), Gcn3ISA::Inst_VOP3__V_RSQ_F32::execute(), Gcn3ISA::Inst_VOP3__V_RCP_F64::execute(), Gcn3ISA::Inst_VOP3__V_RSQ_F64::execute(), Gcn3ISA::Inst_VOP3__V_SQRT_F32::execute(), Gcn3ISA::Inst_VOP3__V_SQRT_F64::execute(), Gcn3ISA::Inst_VOP3__V_SIN_F32::execute(), Gcn3ISA::Inst_VOP3__V_COS_F32::execute(), Gcn3ISA::Inst_VOP3__V_FFBH_U32::execute(), Gcn3ISA::Inst_VOP3__V_FFBL_B32::execute(), Gcn3ISA::Inst_VOP3__V_FFBH_I32::execute(), Gcn3ISA::Inst_VOP3__V_FREXP_EXP_I32_F64::execute(), Gcn3ISA::Inst_VOP3__V_FREXP_MANT_F64::execute(), Gcn3ISA::Inst_VOP3__V_FRACT_F64::execute(), Gcn3ISA::Inst_VOP3__V_FREXP_EXP_I32_F32::execute(), Gcn3ISA::Inst_VOP3__V_FREXP_MANT_F32::execute(), Gcn3ISA::Inst_VOP3__V_EXP_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAD_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAD_F32::execute(), Gcn3ISA::Inst_VOP3__V_FMA_F32::execute(), Gcn3ISA::Inst_VOP3__V_FMA_F64::execute(), Gcn3ISA::Inst_VOP3__V_MIN3_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAX3_F32::execute(), Gcn3ISA::Inst_VOP3__V_MED3_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_PK_U8_F32::execute(), Gcn3ISA::Inst_VOP3__V_DIV_FIXUP_F32::execute(), Gcn3ISA::Inst_VOP3__V_DIV_FIXUP_F64::execute(), Gcn3ISA::Inst_VOP3__V_DIV_SCALE_F32::execute(), Gcn3ISA::Inst_VOP3__V_DIV_SCALE_F64::execute(), Gcn3ISA::Inst_VOP3__V_DIV_FMAS_F32::execute(), Gcn3ISA::Inst_VOP3__V_DIV_FMAS_F64::execute(), Gcn3ISA::Inst_VOP3__V_ADD_F64::execute(), Gcn3ISA::Inst_VOP3__V_MUL_F64::execute(), Gcn3ISA::Inst_VOP3__V_MIN_F64::execute(), Gcn3ISA::Inst_VOP3__V_MAX_F64::execute(), and Gcn3ISA::Inst_VOP3__V_LDEXP_F64::execute().

◆ operator[]() [1/2]

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(VecElemU32)>
template<bool Condition = (NumDwords == 1 || NumDwords == 2) && !Const>
std::enable_if<Condition, DataType&>::type Gcn3ISA::VecOperand< DataType, Const, NumDwords >::operator[] ( size_t  idx)
inline

setter [] operator.

only enable if this operand is non-constant (i.e, a destination operand) and if it can be represented using primitive types (i.e., 8b to 64b primitives).

Definition at line 311 of file operand.hh.

References Gcn3ISA::NumVecElemPerVecReg(), Gcn3ISA::VecOperand< DataType, Const, NumDwords >::scalar, and Gcn3ISA::VecOperand< DataType, Const, NumDwords >::vecReg.

◆ operator[]() [2/2]

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(VecElemU32)>
template<bool Condition = (NumDwords == 1 || NumDwords == 2) && Const>
std::enable_if<Condition, const DataType>::type Gcn3ISA::VecOperand< DataType, Const, NumDwords >::operator[] ( size_t  idx) const
inline

getter [] operator.

only enable if this operand is constant (i.e, a source operand) and if it can be represented using primitive types (i.e., 8b to 64b primitives).

Definition at line 268 of file operand.hh.

References Gcn3ISA::VecOperand< DataType, Const, NumDwords >::absMod, Gcn3ISA::VecOperand< DataType, Const, NumDwords >::negMod, Gcn3ISA::NumVecElemPerVecReg(), Gcn3ISA::VecOperand< DataType, Const, NumDwords >::scalar, Gcn3ISA::VecOperand< DataType, Const, NumDwords >::scRegData, and Gcn3ISA::VecOperand< DataType, Const, NumDwords >::vecReg.

◆ read()

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(VecElemU32)>
void Gcn3ISA::VecOperand< DataType, Const, NumDwords >::read ( )
inlineoverridevirtual

read from the vrf.

this should only be used by vector inst source operands that are explicitly vector (i.e., VSRC).

Implements Gcn3ISA::Operand.

Definition at line 147 of file operand.hh.

References Gcn3ISA::Operand::_gpuDynInst, Gcn3ISA::Operand::_opIdx, DPRINTF, ArmISA::i, RegisterManager::mapVgpr(), Gcn3ISA::NumVecElemPerVecReg(), ComputeUnit::registerManager, Wavefront::simdId, Gcn3ISA::VecOperand< DataType, Const, NumDwords >::vecReg, ComputeUnit::vrf, and Gcn3ISA::VecOperand< DataType, Const, NumDwords >::vrfData.

Referenced by Gcn3ISA::Inst_VOP2__V_CNDMASK_B32::execute(), Gcn3ISA::Inst_VOP2__V_ADD_F32::execute(), Gcn3ISA::Inst_VOP2__V_SUB_F32::execute(), Gcn3ISA::Inst_VOP2__V_SUBREV_F32::execute(), Gcn3ISA::Inst_VOP2__V_MUL_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP2__V_MUL_F32::execute(), Gcn3ISA::Inst_VOP2__V_MUL_I32_I24::execute(), Gcn3ISA::Inst_VOP2__V_MUL_HI_I32_I24::execute(), Gcn3ISA::Inst_VOP2__V_MUL_U32_U24::execute(), Gcn3ISA::Inst_VOP2__V_MUL_HI_U32_U24::execute(), Gcn3ISA::Inst_VOP2__V_MIN_F32::execute(), Gcn3ISA::Inst_VOP2__V_MAX_F32::execute(), Gcn3ISA::Inst_VOP2__V_MIN_I32::execute(), Gcn3ISA::Inst_VOP2__V_MAX_I32::execute(), Gcn3ISA::Inst_VOP2__V_MIN_U32::execute(), Gcn3ISA::Inst_VOP2__V_MAX_U32::execute(), Gcn3ISA::Inst_VOP2__V_LSHRREV_B32::execute(), Gcn3ISA::Inst_VOP2__V_ASHRREV_I32::execute(), Gcn3ISA::Inst_VOP2__V_LSHLREV_B32::execute(), Gcn3ISA::Inst_VOP2__V_AND_B32::execute(), Gcn3ISA::Inst_VOP2__V_OR_B32::execute(), Gcn3ISA::Inst_VOP2__V_XOR_B32::execute(), Gcn3ISA::Inst_VOP2__V_MAC_F32::execute(), Gcn3ISA::Inst_VOP2__V_MADMK_F32::execute(), Gcn3ISA::Inst_VOP2__V_MADAK_F32::execute(), Gcn3ISA::Inst_VOP2__V_ADD_U32::execute(), Gcn3ISA::Inst_VOP2__V_SUB_U32::execute(), Gcn3ISA::Inst_VOP2__V_SUBREV_U32::execute(), Gcn3ISA::Inst_VOP2__V_ADDC_U32::execute(), Gcn3ISA::Inst_VOP2__V_SUBB_U32::execute(), Gcn3ISA::Inst_VOP2__V_SUBBREV_U32::execute(), Gcn3ISA::Inst_VOP2__V_ADD_U16::execute(), Gcn3ISA::Inst_VOP2__V_SUB_U16::execute(), Gcn3ISA::Inst_VOP2__V_SUBREV_U16::execute(), Gcn3ISA::Inst_VOP2__V_MUL_LO_U16::execute(), Gcn3ISA::Inst_VOP2__V_LSHLREV_B16::execute(), Gcn3ISA::Inst_VOP2__V_LSHRREV_B16::execute(), Gcn3ISA::Inst_VOP2__V_ASHRREV_I16::execute(), Gcn3ISA::Inst_VOP2__V_MAX_U16::execute(), Gcn3ISA::Inst_VOP2__V_MAX_I16::execute(), Gcn3ISA::Inst_VOP2__V_MIN_U16::execute(), Gcn3ISA::Inst_VOP2__V_MIN_I16::execute(), Gcn3ISA::Inst_VOP1__V_MOV_B32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_CLASS_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_CLASS_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_CLASS_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_CLASS_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LT_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_EQ_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LE_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GT_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LG_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GE_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_O_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_U_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NGE_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NLG_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NGT_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NLE_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NEQ_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NLT_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LT_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_EQ_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LE_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GT_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LG_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GE_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_O_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_U_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NGE_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NLG_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NGT_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NLE_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NEQ_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NLT_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LT_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_EQ_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LE_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GT_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LG_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GE_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_O_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_U_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NGE_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NLG_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NGT_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NLE_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NEQ_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NLT_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LT_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_EQ_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LE_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GT_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LG_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GE_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_O_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_U_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NGE_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NLG_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NGT_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NLE_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NEQ_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NLT_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LT_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_EQ_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LE_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GT_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NE_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GE_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LT_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_EQ_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LE_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GT_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NE_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GE_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LT_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_EQ_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LE_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GT_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NE_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GE_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LT_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_EQ_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LE_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GT_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NE_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GE_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LT_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_EQ_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LE_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GT_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NE_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GE_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LT_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_EQ_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LE_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GT_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NE_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GE_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LT_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_EQ_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LE_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GT_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NE_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GE_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LT_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_EQ_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LE_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GT_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NE_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GE_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LT_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_EQ_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LE_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GT_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NE_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GE_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LT_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_EQ_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LE_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GT_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NE_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GE_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LT_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_EQ_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LE_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GT_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NE_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GE_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LT_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_EQ_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LE_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GT_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NE_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GE_U64::execute(), Gcn3ISA::Inst_VOP3__V_MUL_I32_I24::execute(), Gcn3ISA::Inst_VOP3__V_MAC_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAD_U64_U32::execute(), Gcn3ISA::Inst_VOP3__V_WRITELANE_B32::execute(), Gcn3ISA::Inst_DS__DS_WRITE2_B32::execute(), Gcn3ISA::Inst_DS__DS_WRITE2ST64_B32::execute(), Gcn3ISA::Inst_DS__DS_WRITE2_B64::execute(), Gcn3ISA::Inst_MUBUF__BUFFER_LOAD_UBYTE::execute(), Gcn3ISA::Inst_MUBUF__BUFFER_LOAD_USHORT::execute(), Gcn3ISA::Inst_MUBUF__BUFFER_LOAD_DWORD::execute(), Gcn3ISA::Inst_MUBUF__BUFFER_LOAD_DWORDX2::execute(), Gcn3ISA::Inst_MUBUF__BUFFER_LOAD_DWORDX3::execute(), Gcn3ISA::Inst_MUBUF__BUFFER_LOAD_DWORDX4::execute(), Gcn3ISA::Inst_MUBUF__BUFFER_STORE_BYTE::execute(), Gcn3ISA::Inst_MUBUF__BUFFER_STORE_SHORT::execute(), Gcn3ISA::Inst_MUBUF__BUFFER_STORE_DWORD::execute(), Gcn3ISA::Inst_MUBUF__BUFFER_STORE_DWORDX2::execute(), Gcn3ISA::Inst_MUBUF__BUFFER_STORE_DWORDX3::execute(), Gcn3ISA::Inst_MUBUF__BUFFER_STORE_DWORDX4::execute(), Gcn3ISA::Inst_FLAT__FLAT_ATOMIC_CMPSWAP::execute(), Gcn3ISA::Inst_FLAT__FLAT_ATOMIC_CMPSWAP_X2::execute(), Gcn3ISA::Inst_FLAT__FLAT_STORE_DWORDX3::initiateAcc(), Gcn3ISA::Inst_FLAT__FLAT_STORE_DWORDX4::initiateAcc(), and Gcn3ISA::VecOperand< DataType, Const, NumDwords >::readSrc().

◆ readScalar()

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(VecElemU32)>
void Gcn3ISA::VecOperand< DataType, Const, NumDwords >::readScalar ( )
inlineprivate

if we determine that this operand is a scalar (reg or constant) then we read the scalar data into the scalar operand data member.

Definition at line 325 of file operand.hh.

References Gcn3ISA::VecOperand< DataType, Const, NumDwords >::scalar, and Gcn3ISA::VecOperand< DataType, Const, NumDwords >::scRegData.

Referenced by Gcn3ISA::VecOperand< DataType, Const, NumDwords >::readSrc().

◆ readSrc()

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(VecElemU32)>
void Gcn3ISA::VecOperand< DataType, Const, NumDwords >::readSrc ( )
inline

certain vector operands can read from the vrf/srf or constants.

we use this method to first determine the type of the operand, then we read from the appropriate source. if vector we read directly from the vrf. if scalar, we read in the data through the scalar operand component. this should only be used for VSRC operands.

Definition at line 131 of file operand.hh.

References Gcn3ISA::Operand::_gpuDynInst, Gcn3ISA::Operand::_opIdx, Gcn3ISA::isVectorReg(), Gcn3ISA::opSelectorToRegIdx(), Gcn3ISA::VecOperand< DataType, Const, NumDwords >::read(), and Gcn3ISA::VecOperand< DataType, Const, NumDwords >::readScalar().

Referenced by Gcn3ISA::Inst_VOP2__V_CNDMASK_B32::execute(), Gcn3ISA::Inst_VOP2__V_ADD_F32::execute(), Gcn3ISA::Inst_VOP2__V_SUB_F32::execute(), Gcn3ISA::Inst_VOP2__V_SUBREV_F32::execute(), Gcn3ISA::Inst_VOP2__V_MUL_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP2__V_MUL_F32::execute(), Gcn3ISA::Inst_VOP2__V_MUL_I32_I24::execute(), Gcn3ISA::Inst_VOP2__V_MUL_HI_I32_I24::execute(), Gcn3ISA::Inst_VOP2__V_MUL_U32_U24::execute(), Gcn3ISA::Inst_VOP2__V_MUL_HI_U32_U24::execute(), Gcn3ISA::Inst_VOP2__V_MIN_F32::execute(), Gcn3ISA::Inst_VOP2__V_MAX_F32::execute(), Gcn3ISA::Inst_VOP2__V_MIN_I32::execute(), Gcn3ISA::Inst_VOP2__V_MAX_I32::execute(), Gcn3ISA::Inst_VOP2__V_MIN_U32::execute(), Gcn3ISA::Inst_VOP2__V_MAX_U32::execute(), Gcn3ISA::Inst_VOP2__V_LSHRREV_B32::execute(), Gcn3ISA::Inst_VOP2__V_ASHRREV_I32::execute(), Gcn3ISA::Inst_VOP2__V_LSHLREV_B32::execute(), Gcn3ISA::Inst_VOP2__V_AND_B32::execute(), Gcn3ISA::Inst_VOP2__V_OR_B32::execute(), Gcn3ISA::Inst_VOP2__V_XOR_B32::execute(), Gcn3ISA::Inst_VOP2__V_MAC_F32::execute(), Gcn3ISA::Inst_VOP2__V_MADMK_F32::execute(), Gcn3ISA::Inst_VOP2__V_MADAK_F32::execute(), Gcn3ISA::Inst_VOP2__V_ADD_U32::execute(), Gcn3ISA::Inst_VOP2__V_SUB_U32::execute(), Gcn3ISA::Inst_VOP2__V_SUBREV_U32::execute(), Gcn3ISA::Inst_VOP2__V_ADDC_U32::execute(), Gcn3ISA::Inst_VOP2__V_SUBB_U32::execute(), Gcn3ISA::Inst_VOP2__V_SUBBREV_U32::execute(), Gcn3ISA::Inst_VOP2__V_ADD_U16::execute(), Gcn3ISA::Inst_VOP2__V_SUB_U16::execute(), Gcn3ISA::Inst_VOP2__V_SUBREV_U16::execute(), Gcn3ISA::Inst_VOP2__V_MUL_LO_U16::execute(), Gcn3ISA::Inst_VOP2__V_LSHLREV_B16::execute(), Gcn3ISA::Inst_VOP2__V_LSHRREV_B16::execute(), Gcn3ISA::Inst_VOP2__V_ASHRREV_I16::execute(), Gcn3ISA::Inst_VOP2__V_MAX_U16::execute(), Gcn3ISA::Inst_VOP2__V_MAX_I16::execute(), Gcn3ISA::Inst_VOP2__V_MIN_U16::execute(), Gcn3ISA::Inst_VOP2__V_MIN_I16::execute(), Gcn3ISA::Inst_VOP1__V_MOV_B32::execute(), Gcn3ISA::Inst_VOP1__V_READFIRSTLANE_B32::execute(), Gcn3ISA::Inst_VOP1__V_CVT_I32_F64::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F64_I32::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F32_I32::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F32_U32::execute(), Gcn3ISA::Inst_VOP1__V_CVT_U32_F32::execute(), Gcn3ISA::Inst_VOP1__V_CVT_I32_F32::execute(), Gcn3ISA::Inst_VOP1__V_CVT_RPI_I32_F32::execute(), Gcn3ISA::Inst_VOP1__V_CVT_FLR_I32_F32::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F32_F64::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F64_F32::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F32_UBYTE0::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F32_UBYTE1::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F32_UBYTE2::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F32_UBYTE3::execute(), Gcn3ISA::Inst_VOP1__V_CVT_U32_F64::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F64_U32::execute(), Gcn3ISA::Inst_VOP1__V_TRUNC_F64::execute(), Gcn3ISA::Inst_VOP1__V_CEIL_F64::execute(), Gcn3ISA::Inst_VOP1__V_RNDNE_F64::execute(), Gcn3ISA::Inst_VOP1__V_FLOOR_F64::execute(), Gcn3ISA::Inst_VOP1__V_FRACT_F32::execute(), Gcn3ISA::Inst_VOP1__V_TRUNC_F32::execute(), Gcn3ISA::Inst_VOP1__V_CEIL_F32::execute(), Gcn3ISA::Inst_VOP1__V_RNDNE_F32::execute(), Gcn3ISA::Inst_VOP1__V_FLOOR_F32::execute(), Gcn3ISA::Inst_VOP1__V_EXP_F32::execute(), Gcn3ISA::Inst_VOP1__V_LOG_F32::execute(), Gcn3ISA::Inst_VOP1__V_RCP_F32::execute(), Gcn3ISA::Inst_VOP1__V_RCP_IFLAG_F32::execute(), Gcn3ISA::Inst_VOP1__V_RSQ_F32::execute(), Gcn3ISA::Inst_VOP1__V_RCP_F64::execute(), Gcn3ISA::Inst_VOP1__V_RSQ_F64::execute(), Gcn3ISA::Inst_VOP1__V_SQRT_F32::execute(), Gcn3ISA::Inst_VOP1__V_SQRT_F64::execute(), Gcn3ISA::Inst_VOP1__V_SIN_F32::execute(), Gcn3ISA::Inst_VOP1__V_COS_F32::execute(), Gcn3ISA::Inst_VOP1__V_NOT_B32::execute(), Gcn3ISA::Inst_VOP1__V_BFREV_B32::execute(), Gcn3ISA::Inst_VOP1__V_FFBH_U32::execute(), Gcn3ISA::Inst_VOP1__V_FFBL_B32::execute(), Gcn3ISA::Inst_VOP1__V_FFBH_I32::execute(), Gcn3ISA::Inst_VOP1__V_FREXP_EXP_I32_F64::execute(), Gcn3ISA::Inst_VOP1__V_FREXP_MANT_F64::execute(), Gcn3ISA::Inst_VOP1__V_FRACT_F64::execute(), Gcn3ISA::Inst_VOP1__V_FREXP_EXP_I32_F32::execute(), Gcn3ISA::Inst_VOP1__V_FREXP_MANT_F32::execute(), Gcn3ISA::Inst_VOP1__V_EXP_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP1__V_LOG_LEGACY_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_CLASS_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_CLASS_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_CLASS_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_CLASS_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LT_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_EQ_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LE_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GT_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LG_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GE_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_O_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_U_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NGE_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NLG_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NGT_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NLE_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NEQ_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NLT_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LT_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_EQ_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LE_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GT_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LG_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GE_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_O_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_U_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NGE_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NLG_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NGT_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NLE_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NEQ_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NLT_F32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LT_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_EQ_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LE_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GT_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LG_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GE_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_O_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_U_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NGE_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NLG_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NGT_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NLE_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NEQ_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NLT_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LT_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_EQ_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LE_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GT_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LG_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GE_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_O_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_U_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NGE_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NLG_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NGT_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NLE_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NEQ_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NLT_F64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LT_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_EQ_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LE_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GT_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NE_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GE_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LT_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_EQ_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LE_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GT_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NE_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GE_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LT_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_EQ_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LE_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GT_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NE_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GE_I16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LT_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_EQ_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LE_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GT_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NE_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GE_U16::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LT_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_EQ_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LE_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GT_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NE_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GE_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LT_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_EQ_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LE_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GT_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NE_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GE_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LT_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_EQ_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LE_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GT_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NE_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GE_I32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LT_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_EQ_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LE_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GT_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NE_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GE_U32::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LT_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_EQ_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LE_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GT_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NE_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GE_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LT_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_EQ_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_LE_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GT_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_NE_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMP_GE_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LT_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_EQ_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LE_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GT_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NE_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GE_I64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LT_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_EQ_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_LE_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GT_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_NE_U64::execute(), Gcn3ISA::Inst_VOPC__V_CMPX_GE_U64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_CLASS_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_CLASS_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_CLASS_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_CLASS_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LT_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_EQ_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LE_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GT_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LG_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GE_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_O_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_U_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NGE_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NLG_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NGT_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NLE_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NEQ_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NLT_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LT_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_EQ_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LE_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GT_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LG_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GE_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_O_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_U_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NGE_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NLG_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NGT_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NLE_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NEQ_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NLT_F32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_EQ_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LG_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_O_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_U_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NGE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NLG_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NGT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NLE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NEQ_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NLT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_EQ_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LG_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_O_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_U_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NGE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NLG_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NGT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NLE_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NEQ_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NLT_F64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LT_I16::execute(), Gcn3ISA::Inst_VOP3__V_CMP_EQ_I16::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LE_I16::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GT_I16::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NE_I16::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GE_I16::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LT_U16::execute(), Gcn3ISA::Inst_VOP3__V_CMP_EQ_U16::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LE_U16::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GT_U16::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NE_U16::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GE_U16::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LT_I16::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_EQ_I16::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LE_I16::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GT_I16::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NE_I16::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GE_I16::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LT_U16::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_EQ_U16::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LE_U16::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GT_U16::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NE_U16::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GE_U16::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LT_I32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_EQ_I32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LE_I32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GT_I32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NE_I32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GE_I32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LT_U32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_EQ_U32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LE_U32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GT_U32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NE_U32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GE_U32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LT_I32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_EQ_I32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LE_I32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GT_I32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NE_I32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GE_I32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LT_U32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_EQ_U32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LE_U32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GT_U32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NE_U32::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GE_U32::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LT_I64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_EQ_I64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LE_I64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GT_I64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NE_I64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GE_I64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LT_U64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_EQ_U64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_LE_U64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GT_U64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_NE_U64::execute(), Gcn3ISA::Inst_VOP3__V_CMP_GE_U64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LT_I64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_EQ_I64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LE_I64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GT_I64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NE_I64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GE_I64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LT_U64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_EQ_U64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_LE_U64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GT_U64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_NE_U64::execute(), Gcn3ISA::Inst_VOP3__V_CMPX_GE_U64::execute(), Gcn3ISA::Inst_VOP3__V_CNDMASK_B32::execute(), Gcn3ISA::Inst_VOP3__V_ADD_F32::execute(), Gcn3ISA::Inst_VOP3__V_SUB_F32::execute(), Gcn3ISA::Inst_VOP3__V_SUBREV_F32::execute(), Gcn3ISA::Inst_VOP3__V_MUL_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP3__V_MUL_F32::execute(), Gcn3ISA::Inst_VOP3__V_MUL_I32_I24::execute(), Gcn3ISA::Inst_VOP3__V_MUL_HI_I32_I24::execute(), Gcn3ISA::Inst_VOP3__V_MUL_U32_U24::execute(), Gcn3ISA::Inst_VOP3__V_MUL_HI_U32_U24::execute(), Gcn3ISA::Inst_VOP3__V_MIN_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAX_F32::execute(), Gcn3ISA::Inst_VOP3__V_MIN_I32::execute(), Gcn3ISA::Inst_VOP3__V_MAX_I32::execute(), Gcn3ISA::Inst_VOP3__V_MIN_U32::execute(), Gcn3ISA::Inst_VOP3__V_MAX_U32::execute(), Gcn3ISA::Inst_VOP3__V_LSHRREV_B32::execute(), Gcn3ISA::Inst_VOP3__V_ASHRREV_I32::execute(), Gcn3ISA::Inst_VOP3__V_LSHLREV_B32::execute(), Gcn3ISA::Inst_VOP3__V_AND_B32::execute(), Gcn3ISA::Inst_VOP3__V_OR_B32::execute(), Gcn3ISA::Inst_VOP3__V_XOR_B32::execute(), Gcn3ISA::Inst_VOP3__V_MAC_F32::execute(), Gcn3ISA::Inst_VOP3__V_ADD_U32::execute(), Gcn3ISA::Inst_VOP3__V_SUB_U32::execute(), Gcn3ISA::Inst_VOP3__V_SUBREV_U32::execute(), Gcn3ISA::Inst_VOP3__V_ADDC_U32::execute(), Gcn3ISA::Inst_VOP3__V_SUBB_U32::execute(), Gcn3ISA::Inst_VOP3__V_SUBBREV_U32::execute(), Gcn3ISA::Inst_VOP3__V_ADD_U16::execute(), Gcn3ISA::Inst_VOP3__V_SUB_U16::execute(), Gcn3ISA::Inst_VOP3__V_SUBREV_U16::execute(), Gcn3ISA::Inst_VOP3__V_MUL_LO_U16::execute(), Gcn3ISA::Inst_VOP3__V_LSHLREV_B16::execute(), Gcn3ISA::Inst_VOP3__V_LSHRREV_B16::execute(), Gcn3ISA::Inst_VOP3__V_ASHRREV_I16::execute(), Gcn3ISA::Inst_VOP3__V_MAX_U16::execute(), Gcn3ISA::Inst_VOP3__V_MAX_I16::execute(), Gcn3ISA::Inst_VOP3__V_MIN_U16::execute(), Gcn3ISA::Inst_VOP3__V_MIN_I16::execute(), Gcn3ISA::Inst_VOP3__V_MOV_B32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_I32_F64::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F64_I32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_I32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_U32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_U32_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_I32_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_RPI_I32_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_FLR_I32_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_F64::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F64_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_UBYTE0::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_UBYTE1::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_UBYTE2::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_UBYTE3::execute(), Gcn3ISA::Inst_VOP3__V_CVT_U32_F64::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F64_U32::execute(), Gcn3ISA::Inst_VOP3__V_TRUNC_F64::execute(), Gcn3ISA::Inst_VOP3__V_CEIL_F64::execute(), Gcn3ISA::Inst_VOP3__V_RNDNE_F64::execute(), Gcn3ISA::Inst_VOP3__V_FLOOR_F64::execute(), Gcn3ISA::Inst_VOP3__V_FRACT_F32::execute(), Gcn3ISA::Inst_VOP3__V_TRUNC_F32::execute(), Gcn3ISA::Inst_VOP3__V_CEIL_F32::execute(), Gcn3ISA::Inst_VOP3__V_RNDNE_F32::execute(), Gcn3ISA::Inst_VOP3__V_FLOOR_F32::execute(), Gcn3ISA::Inst_VOP3__V_EXP_F32::execute(), Gcn3ISA::Inst_VOP3__V_LOG_F32::execute(), Gcn3ISA::Inst_VOP3__V_RCP_F32::execute(), Gcn3ISA::Inst_VOP3__V_RCP_IFLAG_F32::execute(), Gcn3ISA::Inst_VOP3__V_RSQ_F32::execute(), Gcn3ISA::Inst_VOP3__V_RCP_F64::execute(), Gcn3ISA::Inst_VOP3__V_RSQ_F64::execute(), Gcn3ISA::Inst_VOP3__V_SQRT_F32::execute(), Gcn3ISA::Inst_VOP3__V_SQRT_F64::execute(), Gcn3ISA::Inst_VOP3__V_SIN_F32::execute(), Gcn3ISA::Inst_VOP3__V_COS_F32::execute(), Gcn3ISA::Inst_VOP3__V_NOT_B32::execute(), Gcn3ISA::Inst_VOP3__V_BFREV_B32::execute(), Gcn3ISA::Inst_VOP3__V_FFBH_U32::execute(), Gcn3ISA::Inst_VOP3__V_FFBL_B32::execute(), Gcn3ISA::Inst_VOP3__V_FFBH_I32::execute(), Gcn3ISA::Inst_VOP3__V_FREXP_EXP_I32_F64::execute(), Gcn3ISA::Inst_VOP3__V_FREXP_MANT_F64::execute(), Gcn3ISA::Inst_VOP3__V_FRACT_F64::execute(), Gcn3ISA::Inst_VOP3__V_FREXP_EXP_I32_F32::execute(), Gcn3ISA::Inst_VOP3__V_FREXP_MANT_F32::execute(), Gcn3ISA::Inst_VOP3__V_EXP_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP3__V_LOG_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAD_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAD_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAD_I32_I24::execute(), Gcn3ISA::Inst_VOP3__V_MAD_U32_U24::execute(), Gcn3ISA::Inst_VOP3__V_BFE_U32::execute(), Gcn3ISA::Inst_VOP3__V_BFE_I32::execute(), Gcn3ISA::Inst_VOP3__V_BFI_B32::execute(), Gcn3ISA::Inst_VOP3__V_FMA_F32::execute(), Gcn3ISA::Inst_VOP3__V_FMA_F64::execute(), Gcn3ISA::Inst_VOP3__V_LERP_U8::execute(), Gcn3ISA::Inst_VOP3__V_ALIGNBIT_B32::execute(), Gcn3ISA::Inst_VOP3__V_ALIGNBYTE_B32::execute(), Gcn3ISA::Inst_VOP3__V_MIN3_F32::execute(), Gcn3ISA::Inst_VOP3__V_MIN3_I32::execute(), Gcn3ISA::Inst_VOP3__V_MIN3_U32::execute(), Gcn3ISA::Inst_VOP3__V_MAX3_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAX3_I32::execute(), Gcn3ISA::Inst_VOP3__V_MAX3_U32::execute(), Gcn3ISA::Inst_VOP3__V_MED3_F32::execute(), Gcn3ISA::Inst_VOP3__V_MED3_I32::execute(), Gcn3ISA::Inst_VOP3__V_MED3_U32::execute(), Gcn3ISA::Inst_VOP3__V_SAD_U8::execute(), Gcn3ISA::Inst_VOP3__V_SAD_HI_U8::execute(), Gcn3ISA::Inst_VOP3__V_SAD_U16::execute(), Gcn3ISA::Inst_VOP3__V_SAD_U32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_PK_U8_F32::execute(), Gcn3ISA::Inst_VOP3__V_DIV_FIXUP_F32::execute(), Gcn3ISA::Inst_VOP3__V_DIV_FIXUP_F64::execute(), Gcn3ISA::Inst_VOP3__V_DIV_SCALE_F32::execute(), Gcn3ISA::Inst_VOP3__V_DIV_SCALE_F64::execute(), Gcn3ISA::Inst_VOP3__V_DIV_FMAS_F32::execute(), Gcn3ISA::Inst_VOP3__V_DIV_FMAS_F64::execute(), Gcn3ISA::Inst_VOP3__V_MAD_U64_U32::execute(), Gcn3ISA::Inst_VOP3__V_MAD_I64_I32::execute(), Gcn3ISA::Inst_VOP3__V_MAD_U16::execute(), Gcn3ISA::Inst_VOP3__V_MAD_I16::execute(), Gcn3ISA::Inst_VOP3__V_PERM_B32::execute(), Gcn3ISA::Inst_VOP3__V_ADD_F64::execute(), Gcn3ISA::Inst_VOP3__V_MUL_F64::execute(), Gcn3ISA::Inst_VOP3__V_MIN_F64::execute(), Gcn3ISA::Inst_VOP3__V_MAX_F64::execute(), Gcn3ISA::Inst_VOP3__V_LDEXP_F64::execute(), Gcn3ISA::Inst_VOP3__V_MUL_LO_U32::execute(), Gcn3ISA::Inst_VOP3__V_MUL_HI_U32::execute(), Gcn3ISA::Inst_VOP3__V_MUL_HI_I32::execute(), Gcn3ISA::Inst_VOP3__V_LDEXP_F32::execute(), Gcn3ISA::Inst_VOP3__V_READLANE_B32::execute(), Gcn3ISA::Inst_VOP3__V_BCNT_U32_B32::execute(), Gcn3ISA::Inst_VOP3__V_MBCNT_LO_U32_B32::execute(), Gcn3ISA::Inst_VOP3__V_MBCNT_HI_U32_B32::execute(), Gcn3ISA::Inst_VOP3__V_LSHLREV_B64::execute(), Gcn3ISA::Inst_VOP3__V_LSHRREV_B64::execute(), Gcn3ISA::Inst_VOP3__V_ASHRREV_I64::execute(), and Gcn3ISA::Inst_VOP3__V_BFM_B32::execute().

◆ write()

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(VecElemU32)>
void Gcn3ISA::VecOperand< DataType, Const, NumDwords >::write ( )
inlineoverridevirtual

write to the vrf.

we maintain a copy of the underlying vector reg(s) for this operand (i.e., vrfData/scRegData), as well as a temporary vector register representation (i.e., vecReg) of the vector register, which allows the execute() methods of instructions to easily write their operand data using operator[] regardless of their size. after the result is calculated we use write() to write the data to the actual register file storage. this allows us to do type conversion, etc., in a single call as opposed to doing it in each execute() method.

Implements Gcn3ISA::Operand.

Definition at line 199 of file operand.hh.

References Gcn3ISA::Operand::_gpuDynInst, Gcn3ISA::Operand::_opIdx, DPRINTF, Wavefront::execMask(), RegisterManager::mapVgpr(), Gcn3ISA::NumVecElemPerVecReg(), ComputeUnit::registerManager, Wavefront::simdId, Gcn3ISA::VecOperand< DataType, Const, NumDwords >::vecReg, ComputeUnit::vrf, and Gcn3ISA::VecOperand< DataType, Const, NumDwords >::vrfData.

Referenced by Gcn3ISA::Inst_DS__DS_READ_B32::completeAcc(), Gcn3ISA::Inst_DS__DS_READ2_B32::completeAcc(), Gcn3ISA::Inst_DS__DS_READ2ST64_B32::completeAcc(), Gcn3ISA::Inst_DS__DS_READ_U8::completeAcc(), Gcn3ISA::Inst_DS__DS_READ_U16::completeAcc(), Gcn3ISA::Inst_DS__DS_READ_B64::completeAcc(), Gcn3ISA::Inst_DS__DS_READ2_B64::completeAcc(), Gcn3ISA::Inst_DS__DS_READ2ST64_B64::completeAcc(), Gcn3ISA::Inst_MUBUF__BUFFER_LOAD_UBYTE::completeAcc(), Gcn3ISA::Inst_MUBUF__BUFFER_LOAD_USHORT::completeAcc(), Gcn3ISA::Inst_MUBUF__BUFFER_LOAD_DWORD::completeAcc(), Gcn3ISA::Inst_MUBUF__BUFFER_LOAD_DWORDX2::completeAcc(), Gcn3ISA::Inst_MUBUF__BUFFER_LOAD_DWORDX3::completeAcc(), Gcn3ISA::Inst_MUBUF__BUFFER_LOAD_DWORDX4::completeAcc(), Gcn3ISA::Inst_FLAT__FLAT_LOAD_UBYTE::completeAcc(), Gcn3ISA::Inst_FLAT__FLAT_LOAD_USHORT::completeAcc(), Gcn3ISA::Inst_FLAT__FLAT_LOAD_DWORD::completeAcc(), Gcn3ISA::Inst_FLAT__FLAT_LOAD_DWORDX2::completeAcc(), Gcn3ISA::Inst_FLAT__FLAT_LOAD_DWORDX3::completeAcc(), Gcn3ISA::Inst_FLAT__FLAT_LOAD_DWORDX4::completeAcc(), Gcn3ISA::Inst_FLAT__FLAT_ATOMIC_SWAP::completeAcc(), Gcn3ISA::Inst_FLAT__FLAT_ATOMIC_CMPSWAP::completeAcc(), Gcn3ISA::Inst_FLAT__FLAT_ATOMIC_ADD::completeAcc(), Gcn3ISA::Inst_FLAT__FLAT_ATOMIC_SUB::completeAcc(), Gcn3ISA::Inst_FLAT__FLAT_ATOMIC_INC::completeAcc(), Gcn3ISA::Inst_FLAT__FLAT_ATOMIC_DEC::completeAcc(), Gcn3ISA::Inst_FLAT__FLAT_ATOMIC_CMPSWAP_X2::completeAcc(), Gcn3ISA::Inst_FLAT__FLAT_ATOMIC_ADD_X2::completeAcc(), Gcn3ISA::Inst_FLAT__FLAT_ATOMIC_SUB_X2::completeAcc(), Gcn3ISA::Inst_FLAT__FLAT_ATOMIC_INC_X2::completeAcc(), Gcn3ISA::Inst_FLAT__FLAT_ATOMIC_DEC_X2::completeAcc(), Gcn3ISA::Inst_VOP2__V_CNDMASK_B32::execute(), Gcn3ISA::Inst_VOP2__V_ADD_F32::execute(), Gcn3ISA::Inst_VOP2__V_SUB_F32::execute(), Gcn3ISA::Inst_VOP2__V_SUBREV_F32::execute(), Gcn3ISA::Inst_VOP2__V_MUL_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP2__V_MUL_F32::execute(), Gcn3ISA::Inst_VOP2__V_MUL_I32_I24::execute(), Gcn3ISA::Inst_VOP2__V_MUL_HI_I32_I24::execute(), Gcn3ISA::Inst_VOP2__V_MUL_U32_U24::execute(), Gcn3ISA::Inst_VOP2__V_MUL_HI_U32_U24::execute(), Gcn3ISA::Inst_VOP2__V_MIN_F32::execute(), Gcn3ISA::Inst_VOP2__V_MAX_F32::execute(), Gcn3ISA::Inst_VOP2__V_MIN_I32::execute(), Gcn3ISA::Inst_VOP2__V_MAX_I32::execute(), Gcn3ISA::Inst_VOP2__V_MIN_U32::execute(), Gcn3ISA::Inst_VOP2__V_MAX_U32::execute(), Gcn3ISA::Inst_VOP2__V_LSHRREV_B32::execute(), Gcn3ISA::Inst_VOP2__V_ASHRREV_I32::execute(), Gcn3ISA::Inst_VOP2__V_LSHLREV_B32::execute(), Gcn3ISA::Inst_VOP2__V_AND_B32::execute(), Gcn3ISA::Inst_VOP2__V_OR_B32::execute(), Gcn3ISA::Inst_VOP2__V_XOR_B32::execute(), Gcn3ISA::Inst_VOP2__V_MAC_F32::execute(), Gcn3ISA::Inst_VOP2__V_MADMK_F32::execute(), Gcn3ISA::Inst_VOP2__V_MADAK_F32::execute(), Gcn3ISA::Inst_VOP2__V_ADD_U32::execute(), Gcn3ISA::Inst_VOP2__V_SUB_U32::execute(), Gcn3ISA::Inst_VOP2__V_SUBREV_U32::execute(), Gcn3ISA::Inst_VOP2__V_ADDC_U32::execute(), Gcn3ISA::Inst_VOP2__V_SUBB_U32::execute(), Gcn3ISA::Inst_VOP2__V_SUBBREV_U32::execute(), Gcn3ISA::Inst_VOP2__V_ADD_U16::execute(), Gcn3ISA::Inst_VOP2__V_SUB_U16::execute(), Gcn3ISA::Inst_VOP2__V_SUBREV_U16::execute(), Gcn3ISA::Inst_VOP2__V_MUL_LO_U16::execute(), Gcn3ISA::Inst_VOP2__V_LSHLREV_B16::execute(), Gcn3ISA::Inst_VOP2__V_LSHRREV_B16::execute(), Gcn3ISA::Inst_VOP2__V_ASHRREV_I16::execute(), Gcn3ISA::Inst_VOP2__V_MAX_U16::execute(), Gcn3ISA::Inst_VOP2__V_MAX_I16::execute(), Gcn3ISA::Inst_VOP2__V_MIN_U16::execute(), Gcn3ISA::Inst_VOP2__V_MIN_I16::execute(), Gcn3ISA::Inst_VOP1__V_MOV_B32::execute(), Gcn3ISA::Inst_VOP1__V_CVT_I32_F64::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F64_I32::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F32_I32::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F32_U32::execute(), Gcn3ISA::Inst_VOP1__V_CVT_U32_F32::execute(), Gcn3ISA::Inst_VOP1__V_CVT_I32_F32::execute(), Gcn3ISA::Inst_VOP1__V_CVT_RPI_I32_F32::execute(), Gcn3ISA::Inst_VOP1__V_CVT_FLR_I32_F32::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F32_F64::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F64_F32::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F32_UBYTE0::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F32_UBYTE1::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F32_UBYTE2::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F32_UBYTE3::execute(), Gcn3ISA::Inst_VOP1__V_CVT_U32_F64::execute(), Gcn3ISA::Inst_VOP1__V_CVT_F64_U32::execute(), Gcn3ISA::Inst_VOP1__V_TRUNC_F64::execute(), Gcn3ISA::Inst_VOP1__V_CEIL_F64::execute(), Gcn3ISA::Inst_VOP1__V_RNDNE_F64::execute(), Gcn3ISA::Inst_VOP1__V_FLOOR_F64::execute(), Gcn3ISA::Inst_VOP1__V_FRACT_F32::execute(), Gcn3ISA::Inst_VOP1__V_TRUNC_F32::execute(), Gcn3ISA::Inst_VOP1__V_CEIL_F32::execute(), Gcn3ISA::Inst_VOP1__V_RNDNE_F32::execute(), Gcn3ISA::Inst_VOP1__V_FLOOR_F32::execute(), Gcn3ISA::Inst_VOP1__V_EXP_F32::execute(), Gcn3ISA::Inst_VOP1__V_LOG_F32::execute(), Gcn3ISA::Inst_VOP1__V_RCP_F32::execute(), Gcn3ISA::Inst_VOP1__V_RCP_IFLAG_F32::execute(), Gcn3ISA::Inst_VOP1__V_RSQ_F32::execute(), Gcn3ISA::Inst_VOP1__V_RCP_F64::execute(), Gcn3ISA::Inst_VOP1__V_RSQ_F64::execute(), Gcn3ISA::Inst_VOP1__V_SQRT_F32::execute(), Gcn3ISA::Inst_VOP1__V_SQRT_F64::execute(), Gcn3ISA::Inst_VOP1__V_SIN_F32::execute(), Gcn3ISA::Inst_VOP1__V_COS_F32::execute(), Gcn3ISA::Inst_VOP1__V_NOT_B32::execute(), Gcn3ISA::Inst_VOP1__V_BFREV_B32::execute(), Gcn3ISA::Inst_VOP1__V_FFBH_U32::execute(), Gcn3ISA::Inst_VOP1__V_FFBL_B32::execute(), Gcn3ISA::Inst_VOP1__V_FFBH_I32::execute(), Gcn3ISA::Inst_VOP1__V_FREXP_EXP_I32_F64::execute(), Gcn3ISA::Inst_VOP1__V_FREXP_MANT_F64::execute(), Gcn3ISA::Inst_VOP1__V_FRACT_F64::execute(), Gcn3ISA::Inst_VOP1__V_FREXP_EXP_I32_F32::execute(), Gcn3ISA::Inst_VOP1__V_FREXP_MANT_F32::execute(), Gcn3ISA::Inst_VOP1__V_EXP_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP1__V_LOG_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP3__V_CNDMASK_B32::execute(), Gcn3ISA::Inst_VOP3__V_ADD_F32::execute(), Gcn3ISA::Inst_VOP3__V_SUB_F32::execute(), Gcn3ISA::Inst_VOP3__V_SUBREV_F32::execute(), Gcn3ISA::Inst_VOP3__V_MUL_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP3__V_MUL_F32::execute(), Gcn3ISA::Inst_VOP3__V_MUL_I32_I24::execute(), Gcn3ISA::Inst_VOP3__V_MUL_HI_I32_I24::execute(), Gcn3ISA::Inst_VOP3__V_MUL_U32_U24::execute(), Gcn3ISA::Inst_VOP3__V_MUL_HI_U32_U24::execute(), Gcn3ISA::Inst_VOP3__V_MIN_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAX_F32::execute(), Gcn3ISA::Inst_VOP3__V_MIN_I32::execute(), Gcn3ISA::Inst_VOP3__V_MAX_I32::execute(), Gcn3ISA::Inst_VOP3__V_MIN_U32::execute(), Gcn3ISA::Inst_VOP3__V_MAX_U32::execute(), Gcn3ISA::Inst_VOP3__V_LSHRREV_B32::execute(), Gcn3ISA::Inst_VOP3__V_ASHRREV_I32::execute(), Gcn3ISA::Inst_VOP3__V_LSHLREV_B32::execute(), Gcn3ISA::Inst_VOP3__V_AND_B32::execute(), Gcn3ISA::Inst_VOP3__V_OR_B32::execute(), Gcn3ISA::Inst_VOP3__V_XOR_B32::execute(), Gcn3ISA::Inst_VOP3__V_MAC_F32::execute(), Gcn3ISA::Inst_VOP3__V_ADD_U32::execute(), Gcn3ISA::Inst_VOP3__V_SUB_U32::execute(), Gcn3ISA::Inst_VOP3__V_SUBREV_U32::execute(), Gcn3ISA::Inst_VOP3__V_ADDC_U32::execute(), Gcn3ISA::Inst_VOP3__V_SUBB_U32::execute(), Gcn3ISA::Inst_VOP3__V_SUBBREV_U32::execute(), Gcn3ISA::Inst_VOP3__V_ADD_U16::execute(), Gcn3ISA::Inst_VOP3__V_SUB_U16::execute(), Gcn3ISA::Inst_VOP3__V_SUBREV_U16::execute(), Gcn3ISA::Inst_VOP3__V_MUL_LO_U16::execute(), Gcn3ISA::Inst_VOP3__V_LSHLREV_B16::execute(), Gcn3ISA::Inst_VOP3__V_LSHRREV_B16::execute(), Gcn3ISA::Inst_VOP3__V_ASHRREV_I16::execute(), Gcn3ISA::Inst_VOP3__V_MAX_U16::execute(), Gcn3ISA::Inst_VOP3__V_MAX_I16::execute(), Gcn3ISA::Inst_VOP3__V_MIN_U16::execute(), Gcn3ISA::Inst_VOP3__V_MIN_I16::execute(), Gcn3ISA::Inst_VOP3__V_MOV_B32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_I32_F64::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F64_I32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_I32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_U32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_U32_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_I32_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_RPI_I32_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_FLR_I32_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_F64::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F64_F32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_UBYTE0::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_UBYTE1::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_UBYTE2::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F32_UBYTE3::execute(), Gcn3ISA::Inst_VOP3__V_CVT_U32_F64::execute(), Gcn3ISA::Inst_VOP3__V_CVT_F64_U32::execute(), Gcn3ISA::Inst_VOP3__V_TRUNC_F64::execute(), Gcn3ISA::Inst_VOP3__V_CEIL_F64::execute(), Gcn3ISA::Inst_VOP3__V_RNDNE_F64::execute(), Gcn3ISA::Inst_VOP3__V_FLOOR_F64::execute(), Gcn3ISA::Inst_VOP3__V_FRACT_F32::execute(), Gcn3ISA::Inst_VOP3__V_TRUNC_F32::execute(), Gcn3ISA::Inst_VOP3__V_CEIL_F32::execute(), Gcn3ISA::Inst_VOP3__V_RNDNE_F32::execute(), Gcn3ISA::Inst_VOP3__V_FLOOR_F32::execute(), Gcn3ISA::Inst_VOP3__V_EXP_F32::execute(), Gcn3ISA::Inst_VOP3__V_LOG_F32::execute(), Gcn3ISA::Inst_VOP3__V_RCP_F32::execute(), Gcn3ISA::Inst_VOP3__V_RCP_IFLAG_F32::execute(), Gcn3ISA::Inst_VOP3__V_RSQ_F32::execute(), Gcn3ISA::Inst_VOP3__V_RCP_F64::execute(), Gcn3ISA::Inst_VOP3__V_RSQ_F64::execute(), Gcn3ISA::Inst_VOP3__V_SQRT_F32::execute(), Gcn3ISA::Inst_VOP3__V_SQRT_F64::execute(), Gcn3ISA::Inst_VOP3__V_SIN_F32::execute(), Gcn3ISA::Inst_VOP3__V_COS_F32::execute(), Gcn3ISA::Inst_VOP3__V_NOT_B32::execute(), Gcn3ISA::Inst_VOP3__V_BFREV_B32::execute(), Gcn3ISA::Inst_VOP3__V_FFBH_U32::execute(), Gcn3ISA::Inst_VOP3__V_FFBL_B32::execute(), Gcn3ISA::Inst_VOP3__V_FFBH_I32::execute(), Gcn3ISA::Inst_VOP3__V_FREXP_EXP_I32_F64::execute(), Gcn3ISA::Inst_VOP3__V_FREXP_MANT_F64::execute(), Gcn3ISA::Inst_VOP3__V_FRACT_F64::execute(), Gcn3ISA::Inst_VOP3__V_FREXP_EXP_I32_F32::execute(), Gcn3ISA::Inst_VOP3__V_FREXP_MANT_F32::execute(), Gcn3ISA::Inst_VOP3__V_EXP_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP3__V_LOG_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAD_LEGACY_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAD_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAD_I32_I24::execute(), Gcn3ISA::Inst_VOP3__V_MAD_U32_U24::execute(), Gcn3ISA::Inst_VOP3__V_BFE_U32::execute(), Gcn3ISA::Inst_VOP3__V_BFE_I32::execute(), Gcn3ISA::Inst_VOP3__V_BFI_B32::execute(), Gcn3ISA::Inst_VOP3__V_FMA_F32::execute(), Gcn3ISA::Inst_VOP3__V_FMA_F64::execute(), Gcn3ISA::Inst_VOP3__V_LERP_U8::execute(), Gcn3ISA::Inst_VOP3__V_ALIGNBIT_B32::execute(), Gcn3ISA::Inst_VOP3__V_ALIGNBYTE_B32::execute(), Gcn3ISA::Inst_VOP3__V_MIN3_F32::execute(), Gcn3ISA::Inst_VOP3__V_MIN3_I32::execute(), Gcn3ISA::Inst_VOP3__V_MIN3_U32::execute(), Gcn3ISA::Inst_VOP3__V_MAX3_F32::execute(), Gcn3ISA::Inst_VOP3__V_MAX3_I32::execute(), Gcn3ISA::Inst_VOP3__V_MAX3_U32::execute(), Gcn3ISA::Inst_VOP3__V_MED3_F32::execute(), Gcn3ISA::Inst_VOP3__V_MED3_I32::execute(), Gcn3ISA::Inst_VOP3__V_MED3_U32::execute(), Gcn3ISA::Inst_VOP3__V_SAD_U8::execute(), Gcn3ISA::Inst_VOP3__V_SAD_HI_U8::execute(), Gcn3ISA::Inst_VOP3__V_SAD_U16::execute(), Gcn3ISA::Inst_VOP3__V_SAD_U32::execute(), Gcn3ISA::Inst_VOP3__V_CVT_PK_U8_F32::execute(), Gcn3ISA::Inst_VOP3__V_DIV_FIXUP_F32::execute(), Gcn3ISA::Inst_VOP3__V_DIV_FIXUP_F64::execute(), Gcn3ISA::Inst_VOP3__V_DIV_SCALE_F32::execute(), Gcn3ISA::Inst_VOP3__V_DIV_SCALE_F64::execute(), Gcn3ISA::Inst_VOP3__V_DIV_FMAS_F64::execute(), Gcn3ISA::Inst_VOP3__V_MAD_U64_U32::execute(), Gcn3ISA::Inst_VOP3__V_MAD_I64_I32::execute(), Gcn3ISA::Inst_VOP3__V_MAD_U16::execute(), Gcn3ISA::Inst_VOP3__V_MAD_I16::execute(), Gcn3ISA::Inst_VOP3__V_PERM_B32::execute(), Gcn3ISA::Inst_VOP3__V_ADD_F64::execute(), Gcn3ISA::Inst_VOP3__V_MUL_F64::execute(), Gcn3ISA::Inst_VOP3__V_MIN_F64::execute(), Gcn3ISA::Inst_VOP3__V_MAX_F64::execute(), Gcn3ISA::Inst_VOP3__V_LDEXP_F64::execute(), Gcn3ISA::Inst_VOP3__V_MUL_LO_U32::execute(), Gcn3ISA::Inst_VOP3__V_MUL_HI_U32::execute(), Gcn3ISA::Inst_VOP3__V_MUL_HI_I32::execute(), Gcn3ISA::Inst_VOP3__V_LDEXP_F32::execute(), Gcn3ISA::Inst_VOP3__V_WRITELANE_B32::execute(), Gcn3ISA::Inst_VOP3__V_BCNT_U32_B32::execute(), Gcn3ISA::Inst_VOP3__V_MBCNT_LO_U32_B32::execute(), Gcn3ISA::Inst_VOP3__V_MBCNT_HI_U32_B32::execute(), Gcn3ISA::Inst_VOP3__V_LSHLREV_B64::execute(), Gcn3ISA::Inst_VOP3__V_LSHRREV_B64::execute(), Gcn3ISA::Inst_VOP3__V_ASHRREV_I64::execute(), Gcn3ISA::Inst_VOP3__V_BFM_B32::execute(), Gcn3ISA::Inst_DS__DS_SWIZZLE_B32::execute(), Gcn3ISA::Inst_DS__DS_PERMUTE_B32::execute(), and Gcn3ISA::Inst_DS__DS_BPERMUTE_B32::execute().

Member Data Documentation

◆ absMod

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(VecElemU32)>
bool Gcn3ISA::VecOperand< DataType, Const, NumDwords >::absMod
private

absolute value and negative modifiers.

VOP3 instructions may indicate that their input/output operands must be modified, either by taking the absolute value or negating them. these bools indicate which modifier, if any, to use.

Definition at line 348 of file operand.hh.

Referenced by Gcn3ISA::VecOperand< DataType, Const, NumDwords >::absModifier(), and Gcn3ISA::VecOperand< DataType, Const, NumDwords >::operator[]().

◆ negMod

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(VecElemU32)>
bool Gcn3ISA::VecOperand< DataType, Const, NumDwords >::negMod
private

◆ scalar

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(VecElemU32)>
bool Gcn3ISA::VecOperand< DataType, Const, NumDwords >::scalar
private

◆ scRegData

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(VecElemU32)>
ScalarOperand<DataType, Const, NumDwords> Gcn3ISA::VecOperand< DataType, Const, NumDwords >::scRegData
private

for src operands that read scalars (i.e., scalar regs or a scalar constant).

Definition at line 360 of file operand.hh.

Referenced by Gcn3ISA::VecOperand< DataType, Const, NumDwords >::operator[](), and Gcn3ISA::VecOperand< DataType, Const, NumDwords >::readScalar().

◆ vecReg

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(VecElemU32)>
VecRegCont Gcn3ISA::VecOperand< DataType, Const, NumDwords >::vecReg
private

this holds all the operand data in a single vector register object (i.e., if an operand is 64b, this will hold the data from both registers the operand is using).

Definition at line 355 of file operand.hh.

Referenced by Gcn3ISA::VecOperand< DataType, Const, NumDwords >::operator[](), Gcn3ISA::VecOperand< DataType, Const, NumDwords >::read(), and Gcn3ISA::VecOperand< DataType, Const, NumDwords >::write().

◆ vrfData

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(VecElemU32)>
std::array<VecRegContainerU32*, NumDwords> Gcn3ISA::VecOperand< DataType, Const, NumDwords >::vrfData
private

pointers to the underlyding registers (i.e., the actual registers in the register file).

Definition at line 365 of file operand.hh.

Referenced by Gcn3ISA::VecOperand< DataType, Const, NumDwords >::read(), and Gcn3ISA::VecOperand< DataType, Const, NumDwords >::write().


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

Generated on Wed Sep 30 2020 14:03:05 for gem5 by doxygen 1.8.17