Skip to content

Class simtix::InstrOpImm32

ClassList > simtix > InstrOpImm32

InstrOpImm32 handles the operations for OP-IMM-32 opcode instructions.More...

  • #include <instr_op_imm32.h>

Inherits the following classes: simtix::InstrOpImm

Public Types

Type Name
typedef void(InstrOpImm32::*)() Op32

Public Types inherited from simtix::InstrOpImm

See simtix::InstrOpImm

Type Name
typedef void(InstrOpImm::*)() Op

Public Types inherited from simtix::Instr

See simtix::Instr

Type Name
enum uint8_t ExecutionUnit
enum uint8_t Opcode
Opcode definitions.

Public Functions

Type Name
virtual void Assign (const Instr * other) override
virtual void Decode () override
virtual void Execute () override
virtual void Reset () override

Public Functions inherited from simtix::InstrOpImm

See simtix::InstrOpImm

Type Name
virtual void Assign (const Instr * other) override
virtual bool CanCommit () override const
virtual bool CanExecute () override const
virtual bool CanIssue () override const
virtual bool CanRetire () override const
virtual void Commit () override
virtual void Decode () override
virtual void Execute () override
virtual void Issue () override
virtual void OperandCollect () override
virtual void Reset () override

Public Functions inherited from simtix::Instr

See simtix::Instr

Type Name
virtual void Assign (const Instr * other)
virtual bool CanCommit () const = 0
virtual bool CanExecute () const = 0
virtual bool CanIssue () const = 0
virtual bool CanRetire () const = 0
virtual void Commit () = 0
virtual void Decode ()
virtual void Execute () = 0
virtual void Issue ()
virtual void OperandCollect () = 0
virtual void Reset ()
virtual bool barrier_valid () const
virtual bool exception_valid () const
ExecutionUnit execution_unit () const
bool illegal () const
uint32_t iword () const
virtual bool may_change_ctrl_flow () const
uint8_t opcode () const
void set_ssw (std::optional< uint32_t > ssw)
uint32_t sswid () const
uint8_t tswid () const
uint32_t wid () const
uint64_t wpc () const

Public Static Functions inherited from simtix::InstrOpImm

See simtix::InstrOpImm

Type Name
int64_t DecodeImmItype (uint32_t iword)

Public Static Functions inherited from simtix::Instr

See simtix::Instr

Type Name
constexpr uint32_t BitMask (uint32_t width)
uint8_t DecodeFunct3 (uint32_t iword)
uint8_t DecodeFunct7 (uint32_t iword)
uint8_t DecodeOpcode (uint32_t iword)
uint8_t DecodeRd (uint32_t iword)
uint8_t DecodeRs1 (uint32_t iword)
uint8_t DecodeRs2 (uint32_t iword)

Protected Attributes

Type Name
Op32 op32_ = nullptr

Protected Attributes inherited from simtix::InstrOpImm

See simtix::InstrOpImm

Type Name
bool committed_ = false
bool executed_ = false
int64_t imm_ = 0
Op op_ = nullptr
std::vector< int64_t > rd_data_
std::vector< int64_t > rs1_data_
bool rs1_data_ready_ = false

Protected Attributes inherited from simtix::Instr

See simtix::Instr

Type Name
std::vector< Thread * > active_threads_
ExecutionUnit execution_unit_ = kALU
uint8_t funct3_ = 0
uint8_t funct7_ = 0
bool illegal_ = false
uint32_t iword_
std::string mnemonic_
uint8_t opcode_ = 0
uint8_t rd_ = 0
uint8_t rs1_ = 0
uint8_t rs2_ = 0
std::optional< uint32_t > ssw_
uint8_t tswid_ = 0
Warp * warp_
uint64_t wpc_

Protected Functions

Type Name
InstrOpImm32 (Warp * warp, uint32_t iword, uint64_t wpc)

Protected Functions inherited from simtix::InstrOpImm

See simtix::InstrOpImm

Type Name
InstrOpImm (Warp * warp, uint32_t iword, uint64_t wpc)
virtual void Reinitialize (Warp * warp, uint32_t iword, uint64_t wpc) override

Protected Functions inherited from simtix::Instr

See simtix::Instr

Type Name
Instr (Warp * warp, uint32_t iword, uint64_t wpc)
virtual void Reinitialize (Warp * warp, uint32_t iword, uint64_t wpc)
virtual ~Instr () = default

Detailed Description

The instructions perform 32-bit operations on the data in registers with the immediate values.

Public Types Documentation

typedef Op32

using simtix::InstrOpImm32::Op32 =  void (InstrOpImm32::*)();

Public Functions Documentation

function Assign

virtual void simtix::InstrOpImm32::Assign (
    const Instr * other
) override

Implements simtix::InstrOpImm::Assign


function Decode

virtual void simtix::InstrOpImm32::Decode () override

Implements simtix::InstrOpImm::Decode


function Execute

virtual void simtix::InstrOpImm32::Execute () override

Implements simtix::InstrOpImm::Execute


function Reset

virtual void simtix::InstrOpImm32::Reset () override

Implements simtix::InstrOpImm::Reset


Protected Attributes Documentation

variable op32_

Op32 simtix::InstrOpImm32::op32_;

Protected Functions Documentation

function InstrOpImm32

simtix::InstrOpImm32::InstrOpImm32 (
    Warp * warp,
    uint32_t iword,
    uint64_t wpc
) 


The documentation for this class was generated from the following file projects/simtix/src/simtix/sm/instr_op_imm32.h