|
gem5 [DEVELOP-FOR-25.0]
|
#include <operand.hh>
Public Member Functions | |
| Operand ()=delete | |
| Operand (GPUDynInstPtr gpuDynInst, int opIdx) | |
| virtual void | read ()=0 |
| read from and write to the underlying register(s) that this operand is referring to. | |
| virtual void | write ()=0 |
Protected Attributes | |
| GPUDynInstPtr | _gpuDynInst |
| instruction object that owns this operand | |
| int | _opIdx |
| op selector value for this operand. | |
Definition at line 65 of file operand.hh.
|
delete |
|
inline |
Definition at line 70 of file operand.hh.
References _gpuDynInst, and _opIdx.
|
pure virtual |
read from and write to the underlying register(s) that this operand is referring to.
Implemented in gem5::VegaISA::ScalarOperand< DataType, Const, NumDwords >, gem5::VegaISA::ScalarOperand< DataType, Const, sizeof(DataType)/sizeof(VecElemU32) >, gem5::VegaISA::ScalarOperand< ScalarRegF32, false >, gem5::VegaISA::ScalarOperand< ScalarRegF32, false >, gem5::VegaISA::ScalarOperand< ScalarRegF32, true >, gem5::VegaISA::ScalarOperand< ScalarRegF32, true >, gem5::VegaISA::ScalarOperand< ScalarRegF64, false >, gem5::VegaISA::ScalarOperand< ScalarRegF64, false >, gem5::VegaISA::ScalarOperand< ScalarRegF64, true >, gem5::VegaISA::ScalarOperand< ScalarRegF64, true >, gem5::VegaISA::ScalarOperand< ScalarRegI16, false, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegI16, false, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegI16, true, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegI16, true, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegI32, false >, gem5::VegaISA::ScalarOperand< ScalarRegI32, false >, gem5::VegaISA::ScalarOperand< ScalarRegI32, true >, gem5::VegaISA::ScalarOperand< ScalarRegI32, true >, gem5::VegaISA::ScalarOperand< ScalarRegI64, false >, gem5::VegaISA::ScalarOperand< ScalarRegI64, false >, gem5::VegaISA::ScalarOperand< ScalarRegI64, true >, gem5::VegaISA::ScalarOperand< ScalarRegI64, true >, gem5::VegaISA::ScalarOperand< ScalarRegI8, false, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegI8, false, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegI8, true, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegI8, true, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegU16, false, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegU16, false, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegU16, true, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegU16, true, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, false >, gem5::VegaISA::ScalarOperand< ScalarRegU32, false >, gem5::VegaISA::ScalarOperand< ScalarRegU32, false, 16 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, false, 16 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, false, 4 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, false, 4 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, false, 8 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, false, 8 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, true >, gem5::VegaISA::ScalarOperand< ScalarRegU32, true >, gem5::VegaISA::ScalarOperand< ScalarRegU32, true, 16 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, true, 16 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, true, 4 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, true, 4 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, true, 8 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, true, 8 >, gem5::VegaISA::ScalarOperand< ScalarRegU64, false >, gem5::VegaISA::ScalarOperand< ScalarRegU64, false >, gem5::VegaISA::ScalarOperand< ScalarRegU64, true >, gem5::VegaISA::ScalarOperand< ScalarRegU64, true >, gem5::VegaISA::ScalarOperand< ScalarRegU8, false, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegU8, false, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegU8, true, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegU8, true, 1 >, gem5::VegaISA::VecOperand< DataType, Const, NumDwords >, gem5::VegaISA::VecOperand< VecElemF32, false >, gem5::VegaISA::VecOperand< VecElemF32, false >, gem5::VegaISA::VecOperand< VecElemF32, true >, gem5::VegaISA::VecOperand< VecElemF32, true >, gem5::VegaISA::VecOperand< VecElemF64, false >, gem5::VegaISA::VecOperand< VecElemF64, false >, gem5::VegaISA::VecOperand< VecElemF64, true >, gem5::VegaISA::VecOperand< VecElemF64, true >, gem5::VegaISA::VecOperand< VecElemI16, false, 1 >, gem5::VegaISA::VecOperand< VecElemI16, false, 1 >, gem5::VegaISA::VecOperand< VecElemI16, true, 1 >, gem5::VegaISA::VecOperand< VecElemI16, true, 1 >, gem5::VegaISA::VecOperand< VecElemI32, false >, gem5::VegaISA::VecOperand< VecElemI32, false >, gem5::VegaISA::VecOperand< VecElemI32, true >, gem5::VegaISA::VecOperand< VecElemI32, true >, gem5::VegaISA::VecOperand< VecElemI64, false >, gem5::VegaISA::VecOperand< VecElemI64, false >, gem5::VegaISA::VecOperand< VecElemI64, true >, gem5::VegaISA::VecOperand< VecElemI64, true >, gem5::VegaISA::VecOperand< VecElemI8, false, 1 >, gem5::VegaISA::VecOperand< VecElemI8, false, 1 >, gem5::VegaISA::VecOperand< VecElemI8, true, 1 >, gem5::VegaISA::VecOperand< VecElemI8, true, 1 >, gem5::VegaISA::VecOperand< VecElemU16, false, 1 >, gem5::VegaISA::VecOperand< VecElemU16, false, 1 >, gem5::VegaISA::VecOperand< VecElemU16, true, 1 >, gem5::VegaISA::VecOperand< VecElemU16, true, 1 >, gem5::VegaISA::VecOperand< VecElemU32, false >, gem5::VegaISA::VecOperand< VecElemU32, false >, gem5::VegaISA::VecOperand< VecElemU32, false, 16 >, gem5::VegaISA::VecOperand< VecElemU32, false, 16 >, gem5::VegaISA::VecOperand< VecElemU32, false, 3 >, gem5::VegaISA::VecOperand< VecElemU32, false, 3 >, gem5::VegaISA::VecOperand< VecElemU32, false, 4 >, gem5::VegaISA::VecOperand< VecElemU32, false, 4 >, gem5::VegaISA::VecOperand< VecElemU32, false, 8 >, gem5::VegaISA::VecOperand< VecElemU32, false, 8 >, gem5::VegaISA::VecOperand< VecElemU32, true >, gem5::VegaISA::VecOperand< VecElemU32, true >, gem5::VegaISA::VecOperand< VecElemU32, true, 16 >, gem5::VegaISA::VecOperand< VecElemU32, true, 16 >, gem5::VegaISA::VecOperand< VecElemU32, true, 3 >, gem5::VegaISA::VecOperand< VecElemU32, true, 3 >, gem5::VegaISA::VecOperand< VecElemU32, true, 4 >, gem5::VegaISA::VecOperand< VecElemU32, true, 4 >, gem5::VegaISA::VecOperand< VecElemU32, true, 8 >, gem5::VegaISA::VecOperand< VecElemU32, true, 8 >, gem5::VegaISA::VecOperand< VecElemU64, false >, gem5::VegaISA::VecOperand< VecElemU64, false >, gem5::VegaISA::VecOperand< VecElemU64, true >, gem5::VegaISA::VecOperand< VecElemU64, true >, gem5::VegaISA::VecOperand< VecElemU8, false, 1 >, gem5::VegaISA::VecOperand< VecElemU8, false, 1 >, gem5::VegaISA::VecOperand< VecElemU8, true, 1 >, and gem5::VegaISA::VecOperand< VecElemU8, true, 1 >.
|
pure virtual |
Implemented in gem5::VegaISA::ScalarOperand< DataType, Const, NumDwords >, gem5::VegaISA::ScalarOperand< DataType, Const, sizeof(DataType)/sizeof(VecElemU32) >, gem5::VegaISA::ScalarOperand< ScalarRegF32, false >, gem5::VegaISA::ScalarOperand< ScalarRegF32, false >, gem5::VegaISA::ScalarOperand< ScalarRegF32, true >, gem5::VegaISA::ScalarOperand< ScalarRegF32, true >, gem5::VegaISA::ScalarOperand< ScalarRegF64, false >, gem5::VegaISA::ScalarOperand< ScalarRegF64, false >, gem5::VegaISA::ScalarOperand< ScalarRegF64, true >, gem5::VegaISA::ScalarOperand< ScalarRegF64, true >, gem5::VegaISA::ScalarOperand< ScalarRegI16, false, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegI16, false, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegI16, true, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegI16, true, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegI32, false >, gem5::VegaISA::ScalarOperand< ScalarRegI32, false >, gem5::VegaISA::ScalarOperand< ScalarRegI32, true >, gem5::VegaISA::ScalarOperand< ScalarRegI32, true >, gem5::VegaISA::ScalarOperand< ScalarRegI64, false >, gem5::VegaISA::ScalarOperand< ScalarRegI64, false >, gem5::VegaISA::ScalarOperand< ScalarRegI64, true >, gem5::VegaISA::ScalarOperand< ScalarRegI64, true >, gem5::VegaISA::ScalarOperand< ScalarRegI8, false, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegI8, false, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegI8, true, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegI8, true, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegU16, false, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegU16, false, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegU16, true, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegU16, true, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, false >, gem5::VegaISA::ScalarOperand< ScalarRegU32, false >, gem5::VegaISA::ScalarOperand< ScalarRegU32, false, 16 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, false, 16 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, false, 4 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, false, 4 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, false, 8 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, false, 8 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, true >, gem5::VegaISA::ScalarOperand< ScalarRegU32, true >, gem5::VegaISA::ScalarOperand< ScalarRegU32, true, 16 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, true, 16 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, true, 4 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, true, 4 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, true, 8 >, gem5::VegaISA::ScalarOperand< ScalarRegU32, true, 8 >, gem5::VegaISA::ScalarOperand< ScalarRegU64, false >, gem5::VegaISA::ScalarOperand< ScalarRegU64, false >, gem5::VegaISA::ScalarOperand< ScalarRegU64, true >, gem5::VegaISA::ScalarOperand< ScalarRegU64, true >, gem5::VegaISA::ScalarOperand< ScalarRegU8, false, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegU8, false, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegU8, true, 1 >, gem5::VegaISA::ScalarOperand< ScalarRegU8, true, 1 >, gem5::VegaISA::VecOperand< DataType, Const, NumDwords >, gem5::VegaISA::VecOperand< VecElemF32, false >, gem5::VegaISA::VecOperand< VecElemF32, false >, gem5::VegaISA::VecOperand< VecElemF32, true >, gem5::VegaISA::VecOperand< VecElemF32, true >, gem5::VegaISA::VecOperand< VecElemF64, false >, gem5::VegaISA::VecOperand< VecElemF64, false >, gem5::VegaISA::VecOperand< VecElemF64, true >, gem5::VegaISA::VecOperand< VecElemF64, true >, gem5::VegaISA::VecOperand< VecElemI16, false, 1 >, gem5::VegaISA::VecOperand< VecElemI16, false, 1 >, gem5::VegaISA::VecOperand< VecElemI16, true, 1 >, gem5::VegaISA::VecOperand< VecElemI16, true, 1 >, gem5::VegaISA::VecOperand< VecElemI32, false >, gem5::VegaISA::VecOperand< VecElemI32, false >, gem5::VegaISA::VecOperand< VecElemI32, true >, gem5::VegaISA::VecOperand< VecElemI32, true >, gem5::VegaISA::VecOperand< VecElemI64, false >, gem5::VegaISA::VecOperand< VecElemI64, false >, gem5::VegaISA::VecOperand< VecElemI64, true >, gem5::VegaISA::VecOperand< VecElemI64, true >, gem5::VegaISA::VecOperand< VecElemI8, false, 1 >, gem5::VegaISA::VecOperand< VecElemI8, false, 1 >, gem5::VegaISA::VecOperand< VecElemI8, true, 1 >, gem5::VegaISA::VecOperand< VecElemI8, true, 1 >, gem5::VegaISA::VecOperand< VecElemU16, false, 1 >, gem5::VegaISA::VecOperand< VecElemU16, false, 1 >, gem5::VegaISA::VecOperand< VecElemU16, true, 1 >, gem5::VegaISA::VecOperand< VecElemU16, true, 1 >, gem5::VegaISA::VecOperand< VecElemU32, false >, gem5::VegaISA::VecOperand< VecElemU32, false >, gem5::VegaISA::VecOperand< VecElemU32, false, 16 >, gem5::VegaISA::VecOperand< VecElemU32, false, 16 >, gem5::VegaISA::VecOperand< VecElemU32, false, 3 >, gem5::VegaISA::VecOperand< VecElemU32, false, 3 >, gem5::VegaISA::VecOperand< VecElemU32, false, 4 >, gem5::VegaISA::VecOperand< VecElemU32, false, 4 >, gem5::VegaISA::VecOperand< VecElemU32, false, 8 >, gem5::VegaISA::VecOperand< VecElemU32, false, 8 >, gem5::VegaISA::VecOperand< VecElemU32, true >, gem5::VegaISA::VecOperand< VecElemU32, true >, gem5::VegaISA::VecOperand< VecElemU32, true, 16 >, gem5::VegaISA::VecOperand< VecElemU32, true, 16 >, gem5::VegaISA::VecOperand< VecElemU32, true, 3 >, gem5::VegaISA::VecOperand< VecElemU32, true, 3 >, gem5::VegaISA::VecOperand< VecElemU32, true, 4 >, gem5::VegaISA::VecOperand< VecElemU32, true, 4 >, gem5::VegaISA::VecOperand< VecElemU32, true, 8 >, gem5::VegaISA::VecOperand< VecElemU32, true, 8 >, gem5::VegaISA::VecOperand< VecElemU64, false >, gem5::VegaISA::VecOperand< VecElemU64, false >, gem5::VegaISA::VecOperand< VecElemU64, true >, gem5::VegaISA::VecOperand< VecElemU64, true >, gem5::VegaISA::VecOperand< VecElemU8, false, 1 >, gem5::VegaISA::VecOperand< VecElemU8, false, 1 >, gem5::VegaISA::VecOperand< VecElemU8, true, 1 >, and gem5::VegaISA::VecOperand< VecElemU8, true, 1 >.
|
protected |
instruction object that owns this operand
Definition at line 88 of file operand.hh.
Referenced by Operand(), gem5::VegaISA::ScalarOperand< ScalarRegU8, false, 1 >::read(), gem5::VegaISA::VecOperand< VecElemU8, false, 1 >::read(), gem5::VegaISA::ScalarOperand< ScalarRegU8, false, 1 >::readSpecialVal(), gem5::VegaISA::VecOperand< VecElemU8, false, 1 >::readSrc(), gem5::VegaISA::ScalarOperand< ScalarRegU8, false, 1 >::regIdx(), gem5::VegaISA::ScalarOperand< ScalarRegU8, false, 1 >::write(), and gem5::VegaISA::VecOperand< VecElemU8, false, 1 >::write().
|
protected |
op selector value for this operand.
note that this is not the same as the register file index, be it scalar or vector. this could refer to inline constants, system regs, or even special values.
Definition at line 95 of file operand.hh.
Referenced by Operand(), gem5::VegaISA::ScalarOperand< ScalarRegU8, false, 1 >::read(), gem5::VegaISA::VecOperand< VecElemU8, false, 1 >::read(), gem5::VegaISA::ScalarOperand< ScalarRegU8, false, 1 >::readSpecialVal(), gem5::VegaISA::VecOperand< VecElemU8, false, 1 >::readSrc(), gem5::VegaISA::ScalarOperand< ScalarRegU8, false, 1 >::regIdx(), gem5::VegaISA::VecOperand< VecElemU8, false, 1 >::VecOperand(), gem5::VegaISA::ScalarOperand< ScalarRegU8, false, 1 >::write(), and gem5::VegaISA::VecOperand< VecElemU8, false, 1 >::write().