gem5  v22.1.0.0
Protected Member Functions | Private Types | Private Member Functions | List of all members
gem5::X86ISA::InstOperands< Base, Operands > Class Template Reference

#include <microop_args.hh>

Inheritance diagram for gem5::X86ISA::InstOperands< Base, Operands >:

Protected Member Functions

template<typename ... CTorArgs>
 InstOperands (ExtMachInst mach_inst, const char *mnem, const char *inst_mnem, uint64_t set_flags, OpClass op_class, ArgTuple args, CTorArgs... ctor_args)
 
std::string generateDisassembly (Addr pc, const loader::SymbolTable *symtab) const override
 

Private Types

using ArgTuple = std::tuple< typename Operands::ArgType... >
 

Private Member Functions

template<std::size_t ... I, typename ... CTorArgs>
 InstOperands (std::index_sequence< I... >, ExtMachInst mach_inst, const char *mnem, const char *inst_mnem, uint64_t set_flags, OpClass op_class, [[maybe_unused]] ArgTuple args, CTorArgs... ctor_args)
 

Detailed Description

template<typename Base, typename ... Operands>
class gem5::X86ISA::InstOperands< Base, Operands >

Definition at line 380 of file microop_args.hh.

Member Typedef Documentation

◆ ArgTuple

template<typename Base , typename ... Operands>
using gem5::X86ISA::InstOperands< Base, Operands >::ArgTuple = std::tuple<typename Operands::ArgType...>
private

Definition at line 383 of file microop_args.hh.

Constructor & Destructor Documentation

◆ InstOperands() [1/2]

template<typename Base , typename ... Operands>
template<std::size_t ... I, typename ... CTorArgs>
gem5::X86ISA::InstOperands< Base, Operands >::InstOperands ( std::index_sequence< I... >  ,
ExtMachInst  mach_inst,
const char *  mnem,
const char *  inst_mnem,
uint64_t  set_flags,
OpClass  op_class,
[[maybe_unused] ] ArgTuple  args,
CTorArgs...  ctor_args 
)
inlineprivate

Definition at line 386 of file microop_args.hh.

◆ InstOperands() [2/2]

template<typename Base , typename ... Operands>
template<typename ... CTorArgs>
gem5::X86ISA::InstOperands< Base, Operands >::InstOperands ( ExtMachInst  mach_inst,
const char *  mnem,
const char *  inst_mnem,
uint64_t  set_flags,
OpClass  op_class,
ArgTuple  args,
CTorArgs...  ctor_args 
)
inlineprotected

Definition at line 396 of file microop_args.hh.

Member Function Documentation

◆ generateDisassembly()

template<typename Base , typename ... Operands>
std::string gem5::X86ISA::InstOperands< Base, Operands >::generateDisassembly ( Addr  pc,
const loader::SymbolTable symtab 
) const
inlineoverrideprotected

Definition at line 405 of file microop_args.hh.

References gem5::ccprintf(), and gem5::X86ISA::count.


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

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