gem5 v25.0.0.1
Loading...
Searching...
No Matches
operand.hh File Reference
#include <array>
#include "arch/amdgpu/vega/gpu_registers.hh"
#include "arch/generic/vec_reg.hh"
#include "debug/GPUTrace.hh"
#include "gpu-compute/scalar_register_file.hh"
#include "gpu-compute/shader.hh"
#include "gpu-compute/vector_register_file.hh"
#include "gpu-compute/wavefront.hh"

Go to the source code of this file.

Classes

struct  gem5::VegaISA::OpTraits< T >
 convenience traits so we can automatically infer the correct FP type without looking at the number of dwords (i.e., to determine if we need a float or a double when creating FP constants). More...
struct  gem5::VegaISA::OpTraits< ScalarRegF64 >
struct  gem5::VegaISA::OpTraits< ScalarRegU64 >
class  gem5::VegaISA::Operand
class  gem5::VegaISA::VecOperand< DataType, Const, NumDwords >
class  gem5::VegaISA::ScalarOperand< DataType, Const, NumDwords >
class  gem5::VegaISA::PackedReg< BITS, ELEM_SIZE >

Namespaces

namespace  gem5
 Copyright (c) 2024 Arm Limited All rights reserved.
namespace  gem5::VegaISA
 classes that represnt vector/scalar operands in VEGA ISA.

Typedefs

using gem5::VegaISA::ScalarOperandU8 = ScalarOperand<ScalarRegU8, false, 1>
using gem5::VegaISA::ScalarOperandI8 = ScalarOperand<ScalarRegI8, false, 1>
using gem5::VegaISA::ScalarOperandU16 = ScalarOperand<ScalarRegU16, false, 1>
using gem5::VegaISA::ScalarOperandI16 = ScalarOperand<ScalarRegI16, false, 1>
using gem5::VegaISA::ScalarOperandU32 = ScalarOperand<ScalarRegU32, false>
using gem5::VegaISA::ScalarOperandI32 = ScalarOperand<ScalarRegI32, false>
using gem5::VegaISA::ScalarOperandF32 = ScalarOperand<ScalarRegF32, false>
using gem5::VegaISA::ScalarOperandU64 = ScalarOperand<ScalarRegU64, false>
using gem5::VegaISA::ScalarOperandI64 = ScalarOperand<ScalarRegI64, false>
using gem5::VegaISA::ScalarOperandF64 = ScalarOperand<ScalarRegF64, false>
using gem5::VegaISA::ScalarOperandU128 = ScalarOperand<ScalarRegU32, false, 4>
using gem5::VegaISA::ScalarOperandU256 = ScalarOperand<ScalarRegU32, false, 8>
using gem5::VegaISA::ScalarOperandU512 = ScalarOperand<ScalarRegU32, false, 16>
using gem5::VegaISA::ConstScalarOperandU8 = ScalarOperand<ScalarRegU8, true, 1>
using gem5::VegaISA::ConstScalarOperandI8 = ScalarOperand<ScalarRegI8, true, 1>
using gem5::VegaISA::ConstScalarOperandU16 = ScalarOperand<ScalarRegU16, true, 1>
using gem5::VegaISA::ConstScalarOperandI16 = ScalarOperand<ScalarRegI16, true, 1>
using gem5::VegaISA::ConstScalarOperandU32 = ScalarOperand<ScalarRegU32, true>
using gem5::VegaISA::ConstScalarOperandI32 = ScalarOperand<ScalarRegI32, true>
using gem5::VegaISA::ConstScalarOperandF32 = ScalarOperand<ScalarRegF32, true>
using gem5::VegaISA::ConstScalarOperandU64 = ScalarOperand<ScalarRegU64, true>
using gem5::VegaISA::ConstScalarOperandI64 = ScalarOperand<ScalarRegI64, true>
using gem5::VegaISA::ConstScalarOperandF64 = ScalarOperand<ScalarRegF64, true>
using gem5::VegaISA::ConstScalarOperandU128 = ScalarOperand<ScalarRegU32, true, 4>
using gem5::VegaISA::ConstScalarOperandU256 = ScalarOperand<ScalarRegU32, true, 8>
using gem5::VegaISA::ConstScalarOperandU512 = ScalarOperand<ScalarRegU32, true, 16>
using gem5::VegaISA::VecOperandU8 = VecOperand<VecElemU8, false, 1>
using gem5::VegaISA::VecOperandI8 = VecOperand<VecElemI8, false, 1>
using gem5::VegaISA::VecOperandU16 = VecOperand<VecElemU16, false, 1>
using gem5::VegaISA::VecOperandI16 = VecOperand<VecElemI16, false, 1>
using gem5::VegaISA::VecOperandU32 = VecOperand<VecElemU32, false>
using gem5::VegaISA::VecOperandI32 = VecOperand<VecElemI32, false>
using gem5::VegaISA::VecOperandF32 = VecOperand<VecElemF32, false>
using gem5::VegaISA::VecOperandU64 = VecOperand<VecElemU64, false>
using gem5::VegaISA::VecOperandF64 = VecOperand<VecElemF64, false>
using gem5::VegaISA::VecOperandI64 = VecOperand<VecElemI64, false>
using gem5::VegaISA::VecOperandU96 = VecOperand<VecElemU32, false, 3>
using gem5::VegaISA::VecOperandU128 = VecOperand<VecElemU32, false, 4>
using gem5::VegaISA::VecOperandU256 = VecOperand<VecElemU32, false, 8>
using gem5::VegaISA::VecOperandU512 = VecOperand<VecElemU32, false, 16>
using gem5::VegaISA::ConstVecOperandU8 = VecOperand<VecElemU8, true, 1>
using gem5::VegaISA::ConstVecOperandI8 = VecOperand<VecElemI8, true, 1>
using gem5::VegaISA::ConstVecOperandU16 = VecOperand<VecElemU16, true, 1>
using gem5::VegaISA::ConstVecOperandI16 = VecOperand<VecElemI16, true, 1>
using gem5::VegaISA::ConstVecOperandU32 = VecOperand<VecElemU32, true>
using gem5::VegaISA::ConstVecOperandI32 = VecOperand<VecElemI32, true>
using gem5::VegaISA::ConstVecOperandF32 = VecOperand<VecElemF32, true>
using gem5::VegaISA::ConstVecOperandU64 = VecOperand<VecElemU64, true>
using gem5::VegaISA::ConstVecOperandI64 = VecOperand<VecElemI64, true>
using gem5::VegaISA::ConstVecOperandF64 = VecOperand<VecElemF64, true>
using gem5::VegaISA::ConstVecOperandU96 = VecOperand<VecElemU32, true, 3>
using gem5::VegaISA::ConstVecOperandU128 = VecOperand<VecElemU32, true, 4>
using gem5::VegaISA::ConstVecOperandU256 = VecOperand<VecElemU32, true, 8>
using gem5::VegaISA::ConstVecOperandU512 = VecOperand<VecElemU32, true, 16>

Generated on Sat Oct 18 2025 08:06:47 for gem5 by doxygen 1.14.0