[][src]Trait gf::mc::pipeline::DecodeUnit

pub trait DecodeUnit<'a> {
    fn module(&self) -> &'a Module;
fn decode_mode_aggregate(&self) -> Option<Aggregate<'a>>;
fn decode_insn_into(
        &self,
        mode: BitVec,
        input: BitVec,
        insn: &mut Insn<'a>
    ) -> Result<(), DecodeError>; fn decode_insn(
        &self,
        mode: BitVec,
        input: BitVec
    ) -> Result<Insn<'a>, DecodeError> { ... } }

A model implementation of a CPU decode unit.

The decode unit is responsible for decoding an instruction or an instruction bundle.

Required methods

fn module(&self) -> &'a Module

Return parent Pivot module.

fn decode_mode_aggregate(&self) -> Option<Aggregate<'a>>

Return the aggregate used to describe the decode mode, None if there is only one mode.

fn decode_insn_into(
    &self,
    mode: BitVec,
    input: BitVec,
    insn: &mut Insn<'a>
) -> Result<(), DecodeError>

Decode an instruction into the provided container.

Loading content...

Provided methods

fn decode_insn(
    &self,
    mode: BitVec,
    input: BitVec
) -> Result<Insn<'a>, DecodeError>

Decode an instruction.

The default implementation calls decode_insn_into.

Loading content...

Implementors

impl<'a> DecodeUnit<'a> for TokenizerDecodeUnit<'a>[src]

Loading content...