gem5  v22.1.0.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
gem5::VegaISA::ScalarOperand< DataType, Const, NumDwords > Class Template Reference

#include <operand.hh>

Inheritance diagram for gem5::VegaISA::ScalarOperand< DataType, Const, NumDwords >:
gem5::VegaISA::Operand

Public Member Functions

 ScalarOperand ()=delete
 
 ScalarOperand (GPUDynInstPtr gpuDynInst, int opIdx)
 
 ~ScalarOperand ()
 
template<bool Condition = NumDwords == 1 || NumDwords == 2>
std::enable_if< Condition, DataType >::type rawData () const
 we store scalar data in a std::array, however if we need the full operand data we use this method to copy all elements of the scalar operand data to a single primitive container. More...
 
void * rawDataPtr ()
 
void read () override
 read from and write to the underlying register(s) that this operand is referring to. More...
 
void write () override
 
template<bool Condition = NumDwords == 1 || NumDwords == 2>
std::enable_if< Condition, void >::type setBit (int bit, int bit_val)
 bit access to scalar data. More...
 
template<bool Condition = (NumDwords == 1 || NumDwords == 2) && !Const>
std::enable_if< Condition, ScalarOperand & >::type operator= (DataType rhs)
 
- Public Member Functions inherited from gem5::VegaISA::Operand
 Operand ()=delete
 
 Operand (GPUDynInstPtr gpuDynInst, int opIdx)
 

Private Member Functions

void readSpecialVal ()
 we have determined that we are not reading our scalar operand data from the register file, so here we figure out which special value we are reading (i.e., float constant, int constant, inline constant, or various other system registers (e.g., exec mask). More...
 
int regIdx (int dword) const
 for scalars we need to do some extra work to figure out how to map the op selector to the sgpr idx because some op selectors do not map directly to the srf (i.e., vcc/flat_scratch). More...
 

Private Attributes

std::array< ScalarRegU32, NumDwords > srfData
 in VEGA each register is represented as a 32b unsigned value, however operands may require up to 16 registers, so we store all the individual 32b components here. More...
 

Additional Inherited Members

- Protected Attributes inherited from gem5::VegaISA::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(ScalarRegU32)>
class gem5::VegaISA::ScalarOperand< DataType, Const, NumDwords >

Definition at line 365 of file operand.hh.

Constructor & Destructor Documentation

◆ ScalarOperand() [1/2]

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(ScalarRegU32)>
gem5::VegaISA::ScalarOperand< DataType, Const, NumDwords >::ScalarOperand ( )
delete

◆ ScalarOperand() [2/2]

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(ScalarRegU32)>
gem5::VegaISA::ScalarOperand< DataType, Const, NumDwords >::ScalarOperand ( GPUDynInstPtr  gpuDynInst,
int  opIdx 
)
inline

Definition at line 372 of file operand.hh.

◆ ~ScalarOperand()

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(ScalarRegU32)>
gem5::VegaISA::ScalarOperand< DataType, Const, NumDwords >::~ScalarOperand ( )
inline

Definition at line 378 of file operand.hh.

Member Function Documentation

◆ operator=()

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(ScalarRegU32)>
template<bool Condition = (NumDwords == 1 || NumDwords == 2) && !Const>
std::enable_if<Condition, ScalarOperand&>::type gem5::VegaISA::ScalarOperand< DataType, Const, NumDwords >::operator= ( DataType  rhs)
inline

Definition at line 498 of file operand.hh.

◆ rawData()

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(ScalarRegU32)>
template<bool Condition = NumDwords == 1 || NumDwords == 2>
std::enable_if<Condition, DataType>::type gem5::VegaISA::ScalarOperand< DataType, Const, NumDwords >::rawData ( ) const
inline

we store scalar data in a std::array, however if we need the full operand data we use this method to copy all elements of the scalar operand data to a single primitive container.

only useful for 8b to 64b primitive types, as they are the only types that we need to perform computation on.

Definition at line 391 of file operand.hh.

Referenced by gem5::VegaISA::Inst_FLAT::calcAddrSgpr(), gem5::VegaISA::Inst_SOP2__S_ADD_U32::execute(), gem5::VegaISA::Inst_SOP2__S_SUB_U32::execute(), gem5::VegaISA::Inst_SOP2__S_ADD_I32::execute(), gem5::VegaISA::Inst_SOP2__S_SUB_I32::execute(), gem5::VegaISA::Inst_SOP2__S_ADDC_U32::execute(), gem5::VegaISA::Inst_SOP2__S_SUBB_U32::execute(), gem5::VegaISA::Inst_SOP2__S_MIN_I32::execute(), gem5::VegaISA::Inst_SOP2__S_MIN_U32::execute(), gem5::VegaISA::Inst_SOP2__S_MAX_I32::execute(), gem5::VegaISA::Inst_SOP2__S_MAX_U32::execute(), gem5::VegaISA::Inst_SOP2__S_CSELECT_B32::execute(), gem5::VegaISA::Inst_SOP2__S_CSELECT_B64::execute(), gem5::VegaISA::Inst_SOP2__S_AND_B32::execute(), gem5::VegaISA::Inst_SOP2__S_AND_B64::execute(), gem5::VegaISA::Inst_SOP2__S_OR_B32::execute(), gem5::VegaISA::Inst_SOP2__S_OR_B64::execute(), gem5::VegaISA::Inst_SOP2__S_XOR_B32::execute(), gem5::VegaISA::Inst_SOP2__S_XOR_B64::execute(), gem5::VegaISA::Inst_SOP2__S_ANDN2_B32::execute(), gem5::VegaISA::Inst_SOP2__S_ANDN2_B64::execute(), gem5::VegaISA::Inst_SOP2__S_ORN2_B32::execute(), gem5::VegaISA::Inst_SOP2__S_ORN2_B64::execute(), gem5::VegaISA::Inst_SOP2__S_NAND_B32::execute(), gem5::VegaISA::Inst_SOP2__S_NAND_B64::execute(), gem5::VegaISA::Inst_SOP2__S_NOR_B32::execute(), gem5::VegaISA::Inst_SOP2__S_NOR_B64::execute(), gem5::VegaISA::Inst_SOP2__S_XNOR_B32::execute(), gem5::VegaISA::Inst_SOP2__S_XNOR_B64::execute(), gem5::VegaISA::Inst_SOP2__S_LSHL_B32::execute(), gem5::VegaISA::Inst_SOP2__S_LSHL_B64::execute(), gem5::VegaISA::Inst_SOP2__S_LSHR_B32::execute(), gem5::VegaISA::Inst_SOP2__S_LSHR_B64::execute(), gem5::VegaISA::Inst_SOP2__S_ASHR_I32::execute(), gem5::VegaISA::Inst_SOP2__S_ASHR_I64::execute(), gem5::VegaISA::Inst_SOP2__S_BFM_B32::execute(), gem5::VegaISA::Inst_SOP2__S_BFM_B64::execute(), gem5::VegaISA::Inst_SOP2__S_MUL_I32::execute(), gem5::VegaISA::Inst_SOP2__S_BFE_U32::execute(), gem5::VegaISA::Inst_SOP2__S_BFE_I32::execute(), gem5::VegaISA::Inst_SOP2__S_BFE_U64::execute(), gem5::VegaISA::Inst_SOP2__S_BFE_I64::execute(), gem5::VegaISA::Inst_SOP2__S_ABSDIFF_I32::execute(), gem5::VegaISA::Inst_SOP2__S_MUL_HI_U32::execute(), gem5::VegaISA::Inst_SOP2__S_MUL_HI_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMOVK_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_EQ_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_LG_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_GT_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_GE_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_LT_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_LE_I32::execute(), gem5::VegaISA::Inst_SOPK__S_ADDK_I32::execute(), gem5::VegaISA::Inst_SOPK__S_MULK_I32::execute(), gem5::VegaISA::Inst_SOPK__S_SETREG_B32::execute(), gem5::VegaISA::Inst_SOP1__S_MOV_B32::execute(), gem5::VegaISA::Inst_SOP1__S_MOV_B64::execute(), gem5::VegaISA::Inst_SOP1__S_CMOV_B32::execute(), gem5::VegaISA::Inst_SOP1__S_CMOV_B64::execute(), gem5::VegaISA::Inst_SOP1__S_NOT_B32::execute(), gem5::VegaISA::Inst_SOP1__S_NOT_B64::execute(), gem5::VegaISA::Inst_SOP1__S_WQM_B32::execute(), gem5::VegaISA::Inst_SOP1__S_WQM_B64::execute(), gem5::VegaISA::Inst_SOP1__S_BREV_B32::execute(), gem5::VegaISA::Inst_SOP1__S_BREV_B64::execute(), gem5::VegaISA::Inst_SOP1__S_BCNT0_I32_B32::execute(), gem5::VegaISA::Inst_SOP1__S_BCNT0_I32_B64::execute(), gem5::VegaISA::Inst_SOP1__S_BCNT1_I32_B32::execute(), gem5::VegaISA::Inst_SOP1__S_BCNT1_I32_B64::execute(), gem5::VegaISA::Inst_SOP1__S_FF0_I32_B32::execute(), gem5::VegaISA::Inst_SOP1__S_FF0_I32_B64::execute(), gem5::VegaISA::Inst_SOP1__S_FF1_I32_B32::execute(), gem5::VegaISA::Inst_SOP1__S_FF1_I32_B64::execute(), gem5::VegaISA::Inst_SOP1__S_FLBIT_I32_B32::execute(), gem5::VegaISA::Inst_SOP1__S_FLBIT_I32_B64::execute(), gem5::VegaISA::Inst_SOP1__S_FLBIT_I32::execute(), gem5::VegaISA::Inst_SOP1__S_FLBIT_I32_I64::execute(), gem5::VegaISA::Inst_SOP1__S_SEXT_I32_I8::execute(), gem5::VegaISA::Inst_SOP1__S_SEXT_I32_I16::execute(), gem5::VegaISA::Inst_SOP1__S_BITSET0_B32::execute(), gem5::VegaISA::Inst_SOP1__S_BITSET0_B64::execute(), gem5::VegaISA::Inst_SOP1__S_BITSET1_B32::execute(), gem5::VegaISA::Inst_SOP1__S_BITSET1_B64::execute(), gem5::VegaISA::Inst_SOP1__S_SETPC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_SWAPPC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_AND_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_OR_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_XOR_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_ANDN2_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_ORN2_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_NAND_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_NOR_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_XNOR_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_QUADMASK_B32::execute(), gem5::VegaISA::Inst_SOP1__S_QUADMASK_B64::execute(), gem5::VegaISA::Inst_SOP1__S_MOVRELS_B32::execute(), gem5::VegaISA::Inst_SOP1__S_MOVRELS_B64::execute(), gem5::VegaISA::Inst_SOP1__S_MOVRELD_B32::execute(), gem5::VegaISA::Inst_SOP1__S_MOVRELD_B64::execute(), gem5::VegaISA::Inst_SOP1__S_ABS_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_EQ_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LG_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_GT_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_GE_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LT_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LE_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_EQ_U32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LG_U32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_GT_U32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_GE_U32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LT_U32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LE_U32::execute(), gem5::VegaISA::Inst_SOPC__S_BITCMP0_B32::execute(), gem5::VegaISA::Inst_SOPC__S_BITCMP1_B32::execute(), gem5::VegaISA::Inst_SOPC__S_BITCMP0_B64::execute(), gem5::VegaISA::Inst_SOPC__S_BITCMP1_B64::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_EQ_U64::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LG_U64::execute(), gem5::VegaISA::Inst_SOPP__S_CBRANCH_SCC0::execute(), gem5::VegaISA::Inst_SOPP__S_CBRANCH_SCC1::execute(), gem5::VegaISA::Inst_SOPP__S_CBRANCH_VCCZ::execute(), gem5::VegaISA::Inst_SOPP__S_CBRANCH_VCCNZ::execute(), gem5::VegaISA::Inst_SMEM__S_LOAD_DWORD::execute(), gem5::VegaISA::Inst_SMEM__S_LOAD_DWORDX2::execute(), gem5::VegaISA::Inst_SMEM__S_LOAD_DWORDX4::execute(), gem5::VegaISA::Inst_SMEM__S_LOAD_DWORDX8::execute(), gem5::VegaISA::Inst_SMEM__S_LOAD_DWORDX16::execute(), gem5::VegaISA::Inst_SMEM__S_BUFFER_LOAD_DWORD::execute(), gem5::VegaISA::Inst_SMEM__S_BUFFER_LOAD_DWORDX2::execute(), gem5::VegaISA::Inst_SMEM__S_BUFFER_LOAD_DWORDX4::execute(), gem5::VegaISA::Inst_SMEM__S_BUFFER_LOAD_DWORDX8::execute(), gem5::VegaISA::Inst_SMEM__S_BUFFER_LOAD_DWORDX16::execute(), gem5::VegaISA::Inst_SMEM__S_STORE_DWORD::execute(), gem5::VegaISA::Inst_SMEM__S_STORE_DWORDX2::execute(), gem5::VegaISA::Inst_SMEM__S_STORE_DWORDX4::execute(), gem5::VegaISA::Inst_VOP2__V_CNDMASK_B32::execute(), gem5::VegaISA::Inst_VOP2__V_ADDC_CO_U32::execute(), gem5::VegaISA::Inst_VOP2__V_SUBB_CO_U32::execute(), gem5::VegaISA::Inst_VOP2__V_SUBBREV_CO_U32::execute(), gem5::VegaISA::Inst_VOP1__V_SIN_F32::execute(), gem5::VegaISA::Inst_VOP1__V_COS_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_CLASS_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_CLASS_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LG_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_O_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_U_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NGE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NLG_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NGT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NLE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NEQ_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NLT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_TRU_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LG_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_O_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_U_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NGE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NLG_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NGT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NLE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NEQ_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NLT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_TRU_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NE_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_T_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NE_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_T_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NE_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_T_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NE_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_T_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NE_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_T_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NE_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_T_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_CLASS_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_CLASS_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_F16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_TRU_F16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LG_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_O_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_U_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NGE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NLG_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NGT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NLE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NEQ_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NLT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_TRU_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LG_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_O_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_U_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NGE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NLG_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NGT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NLE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NEQ_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NLT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_TRU_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NE_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_T_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NE_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_T_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NE_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_T_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NE_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_T_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NE_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_T_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NE_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_T_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CNDMASK_B32::execute(), gem5::VegaISA::Inst_VOP3__V_ADDC_CO_U32::execute(), gem5::VegaISA::Inst_VOP3__V_SUBB_CO_U32::execute(), gem5::VegaISA::Inst_VOP3__V_SUBBREV_CO_U32::execute(), gem5::VegaISA::Inst_VOP3__V_SIN_F32::execute(), gem5::VegaISA::Inst_VOP3__V_COS_F32::execute(), gem5::VegaISA::Inst_VOP3__V_DIV_FMAS_F64::execute(), gem5::VegaISA::Inst_VOP3__V_READLANE_B32::execute(), and gem5::VegaISA::Inst_VOP3__V_WRITELANE_B32::execute().

◆ rawDataPtr()

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(ScalarRegU32)>
void* gem5::VegaISA::ScalarOperand< DataType, Const, NumDwords >::rawDataPtr ( )
inline

◆ read()

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(ScalarRegU32)>
void gem5::VegaISA::ScalarOperand< DataType, Const, NumDwords >::read ( )
inlineoverridevirtual

read from and write to the underlying register(s) that this operand is referring to.

Implements gem5::VegaISA::Operand.

Definition at line 408 of file operand.hh.

References DPRINTF, gem5::ArmISA::i, gem5::Gcn3ISA::isScalarReg(), gem5::Wavefront::simdId, and gem5::ComputeUnit::srf.

Referenced by gem5::VegaISA::Inst_FLAT::calcAddr(), gem5::VegaISA::Inst_SOP2__S_ADD_U32::execute(), gem5::VegaISA::Inst_SOP2__S_SUB_U32::execute(), gem5::VegaISA::Inst_SOP2__S_ADD_I32::execute(), gem5::VegaISA::Inst_SOP2__S_SUB_I32::execute(), gem5::VegaISA::Inst_SOP2__S_ADDC_U32::execute(), gem5::VegaISA::Inst_SOP2__S_SUBB_U32::execute(), gem5::VegaISA::Inst_SOP2__S_MIN_I32::execute(), gem5::VegaISA::Inst_SOP2__S_MIN_U32::execute(), gem5::VegaISA::Inst_SOP2__S_MAX_I32::execute(), gem5::VegaISA::Inst_SOP2__S_MAX_U32::execute(), gem5::VegaISA::Inst_SOP2__S_CSELECT_B32::execute(), gem5::VegaISA::Inst_SOP2__S_CSELECT_B64::execute(), gem5::VegaISA::Inst_SOP2__S_AND_B32::execute(), gem5::VegaISA::Inst_SOP2__S_AND_B64::execute(), gem5::VegaISA::Inst_SOP2__S_OR_B32::execute(), gem5::VegaISA::Inst_SOP2__S_OR_B64::execute(), gem5::VegaISA::Inst_SOP2__S_XOR_B32::execute(), gem5::VegaISA::Inst_SOP2__S_XOR_B64::execute(), gem5::VegaISA::Inst_SOP2__S_ANDN2_B32::execute(), gem5::VegaISA::Inst_SOP2__S_ANDN2_B64::execute(), gem5::VegaISA::Inst_SOP2__S_ORN2_B32::execute(), gem5::VegaISA::Inst_SOP2__S_ORN2_B64::execute(), gem5::VegaISA::Inst_SOP2__S_NAND_B32::execute(), gem5::VegaISA::Inst_SOP2__S_NAND_B64::execute(), gem5::VegaISA::Inst_SOP2__S_NOR_B32::execute(), gem5::VegaISA::Inst_SOP2__S_NOR_B64::execute(), gem5::VegaISA::Inst_SOP2__S_XNOR_B32::execute(), gem5::VegaISA::Inst_SOP2__S_XNOR_B64::execute(), gem5::VegaISA::Inst_SOP2__S_LSHL_B32::execute(), gem5::VegaISA::Inst_SOP2__S_LSHL_B64::execute(), gem5::VegaISA::Inst_SOP2__S_LSHR_B32::execute(), gem5::VegaISA::Inst_SOP2__S_LSHR_B64::execute(), gem5::VegaISA::Inst_SOP2__S_ASHR_I32::execute(), gem5::VegaISA::Inst_SOP2__S_ASHR_I64::execute(), gem5::VegaISA::Inst_SOP2__S_BFM_B32::execute(), gem5::VegaISA::Inst_SOP2__S_BFM_B64::execute(), gem5::VegaISA::Inst_SOP2__S_MUL_I32::execute(), gem5::VegaISA::Inst_SOP2__S_BFE_U32::execute(), gem5::VegaISA::Inst_SOP2__S_BFE_I32::execute(), gem5::VegaISA::Inst_SOP2__S_BFE_U64::execute(), gem5::VegaISA::Inst_SOP2__S_BFE_I64::execute(), gem5::VegaISA::Inst_SOP2__S_MUL_HI_U32::execute(), gem5::VegaISA::Inst_SOP2__S_MUL_HI_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMOVK_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_EQ_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_LG_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_GT_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_GE_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_LT_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_LE_I32::execute(), gem5::VegaISA::Inst_SOPK__S_ADDK_I32::execute(), gem5::VegaISA::Inst_SOPK__S_MULK_I32::execute(), gem5::VegaISA::Inst_SOPK__S_GETREG_B32::execute(), gem5::VegaISA::Inst_SOPK__S_SETREG_B32::execute(), gem5::VegaISA::Inst_SOP1__S_MOV_B32::execute(), gem5::VegaISA::Inst_SOP1__S_MOV_B64::execute(), gem5::VegaISA::Inst_SOP1__S_CMOV_B32::execute(), gem5::VegaISA::Inst_SOP1__S_CMOV_B64::execute(), gem5::VegaISA::Inst_SOP1__S_NOT_B32::execute(), gem5::VegaISA::Inst_SOP1__S_NOT_B64::execute(), gem5::VegaISA::Inst_SOP1__S_WQM_B32::execute(), gem5::VegaISA::Inst_SOP1__S_WQM_B64::execute(), gem5::VegaISA::Inst_SOP1__S_BREV_B32::execute(), gem5::VegaISA::Inst_SOP1__S_BREV_B64::execute(), gem5::VegaISA::Inst_SOP1__S_BCNT0_I32_B32::execute(), gem5::VegaISA::Inst_SOP1__S_BCNT0_I32_B64::execute(), gem5::VegaISA::Inst_SOP1__S_BCNT1_I32_B32::execute(), gem5::VegaISA::Inst_SOP1__S_BCNT1_I32_B64::execute(), gem5::VegaISA::Inst_SOP1__S_FF0_I32_B32::execute(), gem5::VegaISA::Inst_SOP1__S_FF0_I32_B64::execute(), gem5::VegaISA::Inst_SOP1__S_FF1_I32_B32::execute(), gem5::VegaISA::Inst_SOP1__S_FF1_I32_B64::execute(), gem5::VegaISA::Inst_SOP1__S_FLBIT_I32_B32::execute(), gem5::VegaISA::Inst_SOP1__S_FLBIT_I32_B64::execute(), gem5::VegaISA::Inst_SOP1__S_FLBIT_I32::execute(), gem5::VegaISA::Inst_SOP1__S_FLBIT_I32_I64::execute(), gem5::VegaISA::Inst_SOP1__S_SEXT_I32_I8::execute(), gem5::VegaISA::Inst_SOP1__S_SEXT_I32_I16::execute(), gem5::VegaISA::Inst_SOP1__S_BITSET0_B32::execute(), gem5::VegaISA::Inst_SOP1__S_BITSET0_B64::execute(), gem5::VegaISA::Inst_SOP1__S_BITSET1_B32::execute(), gem5::VegaISA::Inst_SOP1__S_BITSET1_B64::execute(), gem5::VegaISA::Inst_SOP1__S_SETPC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_SWAPPC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_AND_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_OR_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_XOR_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_ANDN2_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_ORN2_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_NAND_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_NOR_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_XNOR_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_QUADMASK_B32::execute(), gem5::VegaISA::Inst_SOP1__S_QUADMASK_B64::execute(), gem5::VegaISA::Inst_SOP1__S_MOVRELS_B32::execute(), gem5::VegaISA::Inst_SOP1__S_MOVRELS_B64::execute(), gem5::VegaISA::Inst_SOP1__S_MOVRELD_B32::execute(), gem5::VegaISA::Inst_SOP1__S_MOVRELD_B64::execute(), gem5::VegaISA::Inst_SOP1__S_ABS_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_EQ_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LG_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_GT_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_GE_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LT_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LE_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_EQ_U32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LG_U32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_GT_U32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_GE_U32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LT_U32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LE_U32::execute(), gem5::VegaISA::Inst_SOPC__S_BITCMP0_B32::execute(), gem5::VegaISA::Inst_SOPC__S_BITCMP1_B32::execute(), gem5::VegaISA::Inst_SOPC__S_BITCMP0_B64::execute(), gem5::VegaISA::Inst_SOPC__S_BITCMP1_B64::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_EQ_U64::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LG_U64::execute(), gem5::VegaISA::Inst_SOPP__S_CBRANCH_SCC0::execute(), gem5::VegaISA::Inst_SOPP__S_CBRANCH_SCC1::execute(), gem5::VegaISA::Inst_SOPP__S_CBRANCH_VCCZ::execute(), gem5::VegaISA::Inst_SOPP__S_CBRANCH_VCCNZ::execute(), gem5::VegaISA::Inst_SMEM__S_LOAD_DWORD::execute(), gem5::VegaISA::Inst_SMEM__S_LOAD_DWORDX2::execute(), gem5::VegaISA::Inst_SMEM__S_LOAD_DWORDX4::execute(), gem5::VegaISA::Inst_SMEM__S_LOAD_DWORDX8::execute(), gem5::VegaISA::Inst_SMEM__S_LOAD_DWORDX16::execute(), gem5::VegaISA::Inst_SMEM__S_BUFFER_LOAD_DWORD::execute(), gem5::VegaISA::Inst_SMEM__S_BUFFER_LOAD_DWORDX2::execute(), gem5::VegaISA::Inst_SMEM__S_BUFFER_LOAD_DWORDX4::execute(), gem5::VegaISA::Inst_SMEM__S_BUFFER_LOAD_DWORDX8::execute(), gem5::VegaISA::Inst_SMEM__S_BUFFER_LOAD_DWORDX16::execute(), gem5::VegaISA::Inst_SMEM__S_STORE_DWORD::execute(), gem5::VegaISA::Inst_SMEM__S_STORE_DWORDX2::execute(), gem5::VegaISA::Inst_SMEM__S_STORE_DWORDX4::execute(), gem5::VegaISA::Inst_VOP2__V_CNDMASK_B32::execute(), gem5::VegaISA::Inst_VOP2__V_ADDC_CO_U32::execute(), gem5::VegaISA::Inst_VOP2__V_SUBB_CO_U32::execute(), gem5::VegaISA::Inst_VOP2__V_SUBBREV_CO_U32::execute(), gem5::VegaISA::Inst_VOP1__V_SIN_F32::execute(), gem5::VegaISA::Inst_VOP1__V_COS_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CNDMASK_B32::execute(), gem5::VegaISA::Inst_VOP3__V_ADDC_CO_U32::execute(), gem5::VegaISA::Inst_VOP3__V_SUBB_CO_U32::execute(), gem5::VegaISA::Inst_VOP3__V_SUBBREV_CO_U32::execute(), gem5::VegaISA::Inst_VOP3__V_SIN_F32::execute(), gem5::VegaISA::Inst_VOP3__V_COS_F32::execute(), gem5::VegaISA::Inst_VOP3__V_DIV_FMAS_F64::execute(), gem5::VegaISA::Inst_VOP3__V_READLANE_B32::execute(), gem5::VegaISA::Inst_VOP3__V_WRITELANE_B32::execute(), gem5::VegaISA::Inst_MUBUF__BUFFER_LOAD_UBYTE::execute(), gem5::VegaISA::Inst_MUBUF__BUFFER_LOAD_USHORT::execute(), gem5::VegaISA::Inst_MUBUF__BUFFER_LOAD_DWORD::execute(), gem5::VegaISA::Inst_MUBUF__BUFFER_LOAD_DWORDX2::execute(), gem5::VegaISA::Inst_MUBUF__BUFFER_LOAD_DWORDX3::execute(), gem5::VegaISA::Inst_MUBUF__BUFFER_LOAD_DWORDX4::execute(), gem5::VegaISA::Inst_MUBUF__BUFFER_STORE_BYTE::execute(), gem5::VegaISA::Inst_MUBUF__BUFFER_STORE_SHORT::execute(), gem5::VegaISA::Inst_MUBUF__BUFFER_STORE_DWORD::execute(), gem5::VegaISA::Inst_MUBUF__BUFFER_STORE_DWORDX2::execute(), gem5::VegaISA::Inst_MUBUF__BUFFER_STORE_DWORDX3::execute(), and gem5::VegaISA::Inst_MUBUF__BUFFER_STORE_DWORDX4::execute().

◆ readSpecialVal()

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(ScalarRegU32)>
void gem5::VegaISA::ScalarOperand< DataType, Const, NumDwords >::readSpecialVal ( )
inlineprivate

we have determined that we are not reading our scalar operand data from the register file, so here we figure out which special value we are reading (i.e., float constant, int constant, inline constant, or various other system registers (e.g., exec mask).

If we're reading only the upper half of the EXEC mask this ought to be a single dword operand.

Definition at line 512 of file operand.hh.

References gem5::bits(), DPRINTF, gem5::Gcn3ISA::isConstVal(), gem5::Gcn3ISA::REG_EXEC_HI, gem5::Gcn3ISA::REG_EXEC_LO, gem5::Gcn3ISA::REG_NEG_FOUR, gem5::Gcn3ISA::REG_NEG_HALF, gem5::Gcn3ISA::REG_NEG_ONE, gem5::Gcn3ISA::REG_NEG_TWO, gem5::Gcn3ISA::REG_PI, gem5::Gcn3ISA::REG_POS_FOUR, gem5::Gcn3ISA::REG_POS_HALF, gem5::Gcn3ISA::REG_POS_ONE, gem5::Gcn3ISA::REG_POS_TWO, gem5::Gcn3ISA::REG_SRC_DPP, gem5::Gcn3ISA::REG_SRC_LITERAL, and gem5::Gcn3ISA::REG_SRC_SWDA.

◆ regIdx()

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(ScalarRegU32)>
int gem5::VegaISA::ScalarOperand< DataType, Const, NumDwords >::regIdx ( int  dword) const
inlineprivate

for scalars we need to do some extra work to figure out how to map the op selector to the sgpr idx because some op selectors do not map directly to the srf (i.e., vcc/flat_scratch).

Definition at line 641 of file operand.hh.

References gem5::RegisterManager::mapSgpr(), gem5::Gcn3ISA::REG_FLAT_SCRATCH_HI, gem5::Gcn3ISA::REG_FLAT_SCRATCH_LO, gem5::Gcn3ISA::REG_VCC_HI, gem5::Gcn3ISA::REG_VCC_LO, gem5::ComputeUnit::registerManager, and gem5::Wavefront::reservedScalarRegs.

◆ setBit()

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(ScalarRegU32)>
template<bool Condition = NumDwords == 1 || NumDwords == 2>
std::enable_if<Condition, void>::type gem5::VegaISA::ScalarOperand< DataType, Const, NumDwords >::setBit ( int  bit,
int  bit_val 
)
inline

bit access to scalar data.

primarily used for setting vcc bits.

Definition at line 490 of file operand.hh.

References gem5::replaceBits().

Referenced by gem5::VegaISA::Inst_SOP1__S_BITSET0_B32::execute(), gem5::VegaISA::Inst_SOP1__S_BITSET0_B64::execute(), gem5::VegaISA::Inst_SOP1__S_BITSET1_B32::execute(), gem5::VegaISA::Inst_SOP1__S_BITSET1_B64::execute(), gem5::VegaISA::Inst_VOP2__V_ADD_CO_U32::execute(), gem5::VegaISA::Inst_VOP2__V_SUB_CO_U32::execute(), gem5::VegaISA::Inst_VOP2__V_SUBREV_CO_U32::execute(), gem5::VegaISA::Inst_VOP2__V_ADDC_CO_U32::execute(), gem5::VegaISA::Inst_VOP2__V_SUBB_CO_U32::execute(), gem5::VegaISA::Inst_VOP2__V_SUBBREV_CO_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_CLASS_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_CLASS_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_CLASS_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_CLASS_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_F_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_EQ_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LG_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_O_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_U_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NGE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NLG_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NGT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NLE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NEQ_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NLT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_TRU_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LG_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_O_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_U_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NGE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NLG_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NGT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NLE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NEQ_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NLT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_TRU_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_F_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_EQ_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LG_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_O_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_U_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NGE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NLG_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NGT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NLE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NEQ_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NLT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_TRU_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LG_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_O_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_U_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NGE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NLG_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NGT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NLE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NEQ_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NLT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_TRU_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_F_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LT_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_EQ_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LE_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GT_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NE_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GE_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_T_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_F_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LT_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_EQ_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LE_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GT_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NE_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GE_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_T_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NE_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_T_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NE_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_T_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_F_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LT_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_EQ_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LE_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GT_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NE_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GE_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_T_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_F_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LT_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_EQ_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LE_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GT_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NE_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GE_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_T_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NE_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_T_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NE_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_T_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_F_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LT_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_EQ_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LE_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GT_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NE_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GE_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_T_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_F_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LT_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_EQ_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LE_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GT_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NE_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GE_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_T_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NE_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_T_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NE_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_T_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_CLASS_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_CLASS_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_CLASS_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_CLASS_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_TRU_F16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_F16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_TRU_F16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_F_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_EQ_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LG_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_O_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_U_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NGE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NLG_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NGT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NLE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NEQ_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NLT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_TRU_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LG_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_O_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_U_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NGE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NLG_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NGT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NLE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NEQ_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NLT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_TRU_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_F_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_EQ_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LG_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_O_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_U_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NGE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NLG_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NGT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NLE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NEQ_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NLT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_TRU_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LG_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_O_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_U_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NGE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NLG_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NGT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NLE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NEQ_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NLT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_TRU_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_F_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LT_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_EQ_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LE_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GT_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NE_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GE_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_T_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_F_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LT_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_EQ_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LE_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GT_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NE_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GE_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_T_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NE_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_T_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NE_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_T_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_F_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LT_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_EQ_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LE_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GT_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NE_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GE_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_T_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_F_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LT_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_EQ_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LE_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GT_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NE_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GE_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_T_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NE_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_T_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NE_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_T_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_F_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LT_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_EQ_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LE_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GT_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NE_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GE_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_T_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_F_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LT_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_EQ_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LE_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GT_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NE_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GE_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_T_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NE_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_T_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NE_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_T_U64::execute(), gem5::VegaISA::Inst_VOP3__V_ADD_CO_U32::execute(), gem5::VegaISA::Inst_VOP3__V_SUB_CO_U32::execute(), gem5::VegaISA::Inst_VOP3__V_SUBREV_CO_U32::execute(), gem5::VegaISA::Inst_VOP3__V_ADDC_CO_U32::execute(), gem5::VegaISA::Inst_VOP3__V_SUBB_CO_U32::execute(), gem5::VegaISA::Inst_VOP3__V_SUBBREV_CO_U32::execute(), gem5::VegaISA::Inst_VOP3__V_DIV_SCALE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_DIV_SCALE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_MAD_U64_U32::execute(), and gem5::VegaISA::Inst_VOP3__V_MAD_I64_I32::execute().

◆ write()

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(ScalarRegU32)>
void gem5::VegaISA::ScalarOperand< DataType, Const, NumDwords >::write ( )
inlineoverridevirtual

If we're writing only the upper half of the EXEC mask this ought to be a single dword operand.

Implements gem5::VegaISA::Operand.

Definition at line 426 of file operand.hh.

References DPRINTF, gem5::Wavefront::execMask(), gem5::ArmISA::i, gem5::Gcn3ISA::isScalarReg(), panic, gem5::Gcn3ISA::REG_EXEC_HI, gem5::Gcn3ISA::REG_EXEC_LO, gem5::replaceBits(), gem5::Wavefront::simdId, and gem5::ComputeUnit::srf.

Referenced by gem5::VegaISA::Inst_SMEM__S_LOAD_DWORD::completeAcc(), gem5::VegaISA::Inst_SMEM__S_LOAD_DWORDX2::completeAcc(), gem5::VegaISA::Inst_SMEM__S_LOAD_DWORDX4::completeAcc(), gem5::VegaISA::Inst_SMEM__S_LOAD_DWORDX8::completeAcc(), gem5::VegaISA::Inst_SMEM__S_LOAD_DWORDX16::completeAcc(), gem5::VegaISA::Inst_SMEM__S_BUFFER_LOAD_DWORD::completeAcc(), gem5::VegaISA::Inst_SMEM__S_BUFFER_LOAD_DWORDX2::completeAcc(), gem5::VegaISA::Inst_SMEM__S_BUFFER_LOAD_DWORDX4::completeAcc(), gem5::VegaISA::Inst_SMEM__S_BUFFER_LOAD_DWORDX8::completeAcc(), gem5::VegaISA::Inst_SMEM__S_BUFFER_LOAD_DWORDX16::completeAcc(), gem5::VegaISA::Inst_SOP2__S_ADD_U32::execute(), gem5::VegaISA::Inst_SOP2__S_SUB_U32::execute(), gem5::VegaISA::Inst_SOP2__S_ADD_I32::execute(), gem5::VegaISA::Inst_SOP2__S_SUB_I32::execute(), gem5::VegaISA::Inst_SOP2__S_ADDC_U32::execute(), gem5::VegaISA::Inst_SOP2__S_SUBB_U32::execute(), gem5::VegaISA::Inst_SOP2__S_MIN_I32::execute(), gem5::VegaISA::Inst_SOP2__S_MIN_U32::execute(), gem5::VegaISA::Inst_SOP2__S_MAX_I32::execute(), gem5::VegaISA::Inst_SOP2__S_MAX_U32::execute(), gem5::VegaISA::Inst_SOP2__S_CSELECT_B32::execute(), gem5::VegaISA::Inst_SOP2__S_CSELECT_B64::execute(), gem5::VegaISA::Inst_SOP2__S_AND_B32::execute(), gem5::VegaISA::Inst_SOP2__S_AND_B64::execute(), gem5::VegaISA::Inst_SOP2__S_OR_B32::execute(), gem5::VegaISA::Inst_SOP2__S_OR_B64::execute(), gem5::VegaISA::Inst_SOP2__S_XOR_B32::execute(), gem5::VegaISA::Inst_SOP2__S_XOR_B64::execute(), gem5::VegaISA::Inst_SOP2__S_ANDN2_B32::execute(), gem5::VegaISA::Inst_SOP2__S_ANDN2_B64::execute(), gem5::VegaISA::Inst_SOP2__S_ORN2_B32::execute(), gem5::VegaISA::Inst_SOP2__S_ORN2_B64::execute(), gem5::VegaISA::Inst_SOP2__S_NAND_B32::execute(), gem5::VegaISA::Inst_SOP2__S_NAND_B64::execute(), gem5::VegaISA::Inst_SOP2__S_NOR_B32::execute(), gem5::VegaISA::Inst_SOP2__S_NOR_B64::execute(), gem5::VegaISA::Inst_SOP2__S_XNOR_B32::execute(), gem5::VegaISA::Inst_SOP2__S_XNOR_B64::execute(), gem5::VegaISA::Inst_SOP2__S_LSHL_B32::execute(), gem5::VegaISA::Inst_SOP2__S_LSHL_B64::execute(), gem5::VegaISA::Inst_SOP2__S_LSHR_B32::execute(), gem5::VegaISA::Inst_SOP2__S_LSHR_B64::execute(), gem5::VegaISA::Inst_SOP2__S_ASHR_I32::execute(), gem5::VegaISA::Inst_SOP2__S_ASHR_I64::execute(), gem5::VegaISA::Inst_SOP2__S_BFM_B32::execute(), gem5::VegaISA::Inst_SOP2__S_BFM_B64::execute(), gem5::VegaISA::Inst_SOP2__S_MUL_I32::execute(), gem5::VegaISA::Inst_SOP2__S_BFE_U32::execute(), gem5::VegaISA::Inst_SOP2__S_BFE_I32::execute(), gem5::VegaISA::Inst_SOP2__S_BFE_U64::execute(), gem5::VegaISA::Inst_SOP2__S_BFE_I64::execute(), gem5::VegaISA::Inst_SOP2__S_ABSDIFF_I32::execute(), gem5::VegaISA::Inst_SOP2__S_MUL_HI_U32::execute(), gem5::VegaISA::Inst_SOP2__S_MUL_HI_I32::execute(), gem5::VegaISA::Inst_SOPK__S_MOVK_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMOVK_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_EQ_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_LG_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_GT_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_GE_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_LT_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_LE_I32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_EQ_U32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_LG_U32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_GT_U32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_GE_U32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_LT_U32::execute(), gem5::VegaISA::Inst_SOPK__S_CMPK_LE_U32::execute(), gem5::VegaISA::Inst_SOPK__S_ADDK_I32::execute(), gem5::VegaISA::Inst_SOPK__S_MULK_I32::execute(), gem5::VegaISA::Inst_SOPK__S_GETREG_B32::execute(), gem5::VegaISA::Inst_SOP1__S_MOV_B32::execute(), gem5::VegaISA::Inst_SOP1__S_MOV_B64::execute(), gem5::VegaISA::Inst_SOP1__S_CMOV_B32::execute(), gem5::VegaISA::Inst_SOP1__S_CMOV_B64::execute(), gem5::VegaISA::Inst_SOP1__S_NOT_B32::execute(), gem5::VegaISA::Inst_SOP1__S_NOT_B64::execute(), gem5::VegaISA::Inst_SOP1__S_WQM_B32::execute(), gem5::VegaISA::Inst_SOP1__S_WQM_B64::execute(), gem5::VegaISA::Inst_SOP1__S_BREV_B32::execute(), gem5::VegaISA::Inst_SOP1__S_BREV_B64::execute(), gem5::VegaISA::Inst_SOP1__S_BCNT0_I32_B32::execute(), gem5::VegaISA::Inst_SOP1__S_BCNT0_I32_B64::execute(), gem5::VegaISA::Inst_SOP1__S_BCNT1_I32_B32::execute(), gem5::VegaISA::Inst_SOP1__S_BCNT1_I32_B64::execute(), gem5::VegaISA::Inst_SOP1__S_FF0_I32_B32::execute(), gem5::VegaISA::Inst_SOP1__S_FF0_I32_B64::execute(), gem5::VegaISA::Inst_SOP1__S_FF1_I32_B32::execute(), gem5::VegaISA::Inst_SOP1__S_FF1_I32_B64::execute(), gem5::VegaISA::Inst_SOP1__S_FLBIT_I32_B32::execute(), gem5::VegaISA::Inst_SOP1__S_FLBIT_I32_B64::execute(), gem5::VegaISA::Inst_SOP1__S_FLBIT_I32::execute(), gem5::VegaISA::Inst_SOP1__S_FLBIT_I32_I64::execute(), gem5::VegaISA::Inst_SOP1__S_SEXT_I32_I8::execute(), gem5::VegaISA::Inst_SOP1__S_SEXT_I32_I16::execute(), gem5::VegaISA::Inst_SOP1__S_BITSET0_B32::execute(), gem5::VegaISA::Inst_SOP1__S_BITSET0_B64::execute(), gem5::VegaISA::Inst_SOP1__S_BITSET1_B32::execute(), gem5::VegaISA::Inst_SOP1__S_BITSET1_B64::execute(), gem5::VegaISA::Inst_SOP1__S_GETPC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_SWAPPC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_AND_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_OR_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_XOR_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_ANDN2_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_ORN2_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_NAND_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_NOR_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_XNOR_SAVEEXEC_B64::execute(), gem5::VegaISA::Inst_SOP1__S_QUADMASK_B32::execute(), gem5::VegaISA::Inst_SOP1__S_QUADMASK_B64::execute(), gem5::VegaISA::Inst_SOP1__S_MOVRELS_B32::execute(), gem5::VegaISA::Inst_SOP1__S_MOVRELS_B64::execute(), gem5::VegaISA::Inst_SOP1__S_MOVRELD_B32::execute(), gem5::VegaISA::Inst_SOP1__S_MOVRELD_B64::execute(), gem5::VegaISA::Inst_SOP1__S_ABS_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_EQ_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LG_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_GT_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_GE_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LT_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LE_I32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_EQ_U32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LG_U32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_GT_U32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_GE_U32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LT_U32::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LE_U32::execute(), gem5::VegaISA::Inst_SOPC__S_BITCMP0_B32::execute(), gem5::VegaISA::Inst_SOPC__S_BITCMP1_B32::execute(), gem5::VegaISA::Inst_SOPC__S_BITCMP0_B64::execute(), gem5::VegaISA::Inst_SOPC__S_BITCMP1_B64::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_EQ_U64::execute(), gem5::VegaISA::Inst_SOPC__S_CMP_LG_U64::execute(), gem5::VegaISA::Inst_SMEM__S_MEMTIME::execute(), gem5::VegaISA::Inst_VOP2__V_ADD_CO_U32::execute(), gem5::VegaISA::Inst_VOP2__V_SUB_CO_U32::execute(), gem5::VegaISA::Inst_VOP2__V_SUBREV_CO_U32::execute(), gem5::VegaISA::Inst_VOP2__V_ADDC_CO_U32::execute(), gem5::VegaISA::Inst_VOP2__V_SUBB_CO_U32::execute(), gem5::VegaISA::Inst_VOP2__V_SUBBREV_CO_U32::execute(), gem5::VegaISA::Inst_VOP1__V_READFIRSTLANE_B32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_CLASS_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_CLASS_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_CLASS_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_CLASS_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_F_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_EQ_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LG_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_O_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_U_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NGE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NLG_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NGT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NLE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NEQ_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NLT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_TRU_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LG_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_O_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_U_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NGE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NLG_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NGT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NLE_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NEQ_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NLT_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_TRU_F32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_F_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_EQ_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LG_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_O_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_U_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NGE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NLG_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NGT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NLE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NEQ_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NLT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_TRU_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LG_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_O_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_U_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NGE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NLG_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NGT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NLE_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NEQ_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NLT_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_TRU_F64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_F_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LT_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_EQ_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LE_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GT_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NE_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GE_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_T_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_F_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LT_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_EQ_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LE_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GT_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NE_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GE_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_T_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NE_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_T_I16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NE_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_T_U16::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_F_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LT_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_EQ_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LE_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GT_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NE_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GE_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_T_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_F_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LT_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_EQ_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LE_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GT_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NE_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GE_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_T_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NE_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_T_I32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NE_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_T_U32::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_F_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LT_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_EQ_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LE_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GT_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NE_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GE_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_T_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_F_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LT_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_EQ_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_LE_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GT_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_NE_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_GE_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMP_T_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NE_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_T_I64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_F_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LT_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_EQ_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_LE_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GT_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_NE_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_GE_U64::execute(), gem5::VegaISA::Inst_VOPC__V_CMPX_T_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_CLASS_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_CLASS_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_CLASS_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_CLASS_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_TRU_F16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_F16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_TRU_F16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_F_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_EQ_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LG_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_O_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_U_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NGE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NLG_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NGT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NLE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NEQ_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NLT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_TRU_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LG_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_O_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_U_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NGE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NLG_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NGT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NLE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NEQ_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NLT_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_TRU_F32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_F_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_EQ_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LG_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_O_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_U_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NGE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NLG_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NGT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NLE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NEQ_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NLT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_TRU_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LG_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_O_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_U_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NGE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NLG_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NGT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NLE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NEQ_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NLT_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_TRU_F64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_F_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LT_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_EQ_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LE_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GT_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NE_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GE_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_T_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_F_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LT_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_EQ_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LE_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GT_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NE_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GE_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_T_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NE_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_T_I16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NE_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_T_U16::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_F_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LT_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_EQ_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LE_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GT_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NE_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GE_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_T_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_F_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LT_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_EQ_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LE_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GT_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NE_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GE_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_T_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NE_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_T_I32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NE_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_T_U32::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_F_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LT_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_EQ_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LE_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GT_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NE_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GE_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_T_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_F_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LT_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_EQ_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_LE_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GT_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_NE_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_GE_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMP_T_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NE_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_T_I64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_F_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LT_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_EQ_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_LE_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GT_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_NE_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_GE_U64::execute(), gem5::VegaISA::Inst_VOP3__V_CMPX_T_U64::execute(), gem5::VegaISA::Inst_VOP3__V_ADD_CO_U32::execute(), gem5::VegaISA::Inst_VOP3__V_SUB_CO_U32::execute(), gem5::VegaISA::Inst_VOP3__V_SUBREV_CO_U32::execute(), gem5::VegaISA::Inst_VOP3__V_ADDC_CO_U32::execute(), gem5::VegaISA::Inst_VOP3__V_SUBB_CO_U32::execute(), gem5::VegaISA::Inst_VOP3__V_SUBBREV_CO_U32::execute(), gem5::VegaISA::Inst_VOP3__V_DIV_SCALE_F32::execute(), gem5::VegaISA::Inst_VOP3__V_DIV_SCALE_F64::execute(), gem5::VegaISA::Inst_VOP3__V_MAD_U64_U32::execute(), gem5::VegaISA::Inst_VOP3__V_MAD_I64_I32::execute(), and gem5::VegaISA::Inst_VOP3__V_READLANE_B32::execute().

Member Data Documentation

◆ srfData

template<typename DataType , bool Const, size_t NumDwords = sizeof(DataType) / sizeof(ScalarRegU32)>
std::array<ScalarRegU32, NumDwords> gem5::VegaISA::ScalarOperand< DataType, Const, NumDwords >::srfData
private

in VEGA each register is represented as a 32b unsigned value, however operands may require up to 16 registers, so we store all the individual 32b components here.

for sub-dword operand we still consider them to be 1 dword because the minimum size of a register is 1 dword. this class will take care to do the proper packing/unpacking of sub-dword operands.

Definition at line 677 of file operand.hh.


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

Generated on Wed Dec 21 2022 10:25:03 for gem5 by doxygen 1.9.1