P4C
The P4 Compiler
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
StatefulAlu::OutOP Struct Reference
Inheritance diagram for StatefulAlu::OutOP:
[legend]

Classes

struct  Decode
 

Public Member Functions

 OutOP (const Decode *op, int lineno)
 
void dbprint (std::ostream &out) const override
 
int decode_output_option (value_t &op)
 
bool equiv (Instruction *a_) override
 
 FOR_ALL_REGISTER_SETS (TARGET_OVERLOAD, void decode_output_mux,(register_type, Table *tbl, value_t &op)) void decode_output_mux(Table *tbl
 
std::string name () override
 
Instructionpass1 (Table *tbl, Table::Actions::Action *) override
 
void pass2 (Table *tbl, Table::Actions::Action *) override
 
bool phvRead (std::function< void(const ::Phv::Slice &sl)> fn) override
 
bool salu_output () const override
 
template<class REGS>
void write_regs (REGS &regs, Table *tbl, Table::Actions::Action *act)
 
template<>
void write_regs (Target::JBay::mau_regs &regs, Table *tbl_, Table::Actions::Action *act)
 
template<>
void write_regs (Target::JBay::mau_regs &regs, Table *tbl_, Table::Actions::Action *act)
 
template<>
void write_regs (Target::Tofino::mau_regs &regs, Table *tbl_, Table::Actions::Action *act)
 
template<>
void write_regs (Target::Tofino::mau_regs &regs, Table *tbl_, Table::Actions::Action *act)
 
- Public Member Functions inherited from StatefulAlu::SaluInstruction
 SaluInstruction (int lineno)
 
- Public Member Functions inherited from Instruction
 Instruction (int l)
 
bool equiv (const std::unique_ptr< Instruction > &a)
 
bool phvRead ()
 
virtual bool phvRead (std::function< void(const Phv::Slice &sl)>)=0
 
virtual bool salu_alu () const
 
- Public Member Functions inherited from P4::IHasDbPrint
void print () const
 

Public Attributes

bool lmatch = false
 
int lmatch_pred = 0
 
value_top
 
int output_mux = -1
 
int predication_encode = STATEFUL_PREDICATION_ENCODE_UNCOND
 
operand src
 
- Public Attributes inherited from Instruction
int lineno
 
int slot
 

Additional Inherited Members

- Public Types inherited from Instruction
enum  instruction_set_t { VLIW_ALU = 0 , STATEFUL_ALU = 1 , NUM_SETS = 2 }
 
- Static Public Member Functions inherited from StatefulAlu::SaluInstruction
static int decode_predicate (const value_t &exp)
 
- Static Public Member Functions inherited from Instruction
static Instructiondecode (Table *, const Table::Actions::Action *, const VECTOR(value_t) &)
 

Member Function Documentation

◆ dbprint()

void StatefulAlu::OutOP::dbprint ( std::ostream & out) const
inlineoverridevirtual

Implements Instruction.

◆ equiv()

bool StatefulAlu::OutOP::equiv ( Instruction * a_)
overridevirtual

Implements Instruction.

◆ name()

std::string StatefulAlu::OutOP::name ( )
inlineoverridevirtual

Implements Instruction.

◆ pass1()

Instruction * StatefulAlu::OutOP::pass1 ( Table * tbl,
Table::Actions::Action * act )
overridevirtual

Implements Instruction.

◆ pass2()

void StatefulAlu::OutOP::pass2 ( Table * tbl,
Table::Actions::Action *  )
inlineoverridevirtual

Implements Instruction.

◆ salu_output()

bool StatefulAlu::OutOP::salu_output ( ) const
inlineoverridevirtual

Reimplemented from Instruction.

Member Data Documentation

◆ op

value_t& StatefulAlu::OutOP::op
Initial value:
{
SWITCH_FOREACH_TARGET(options.target, decode_output_mux(TARGET(), tbl, op);)