pub struct Instruction {Show 18 fields
pub offset: usize,
pub words: [u32; 4],
pub vector: VectorOpcode,
pub scalar: ScalarOpcode,
pub sources: [Source; 3],
pub input: u8,
pub constant: u16,
pub input_relative: bool,
pub constant_relative: bool,
pub address: (u8, u8),
pub vector_destination: Destination,
pub scalar_destination: Destination,
pub vector_mask: u8,
pub scalar_mask: u8,
pub saturate: bool,
pub condition: Condition,
pub last: bool,
pub unassigned: [u32; 4],
}Expand description
One 128-bit slot.
Fields§
§offset: usizeThe slot’s byte offset in the microcode.
words: [u32; 4]The four words as stored (big-endian read), most significant first.
vector: VectorOpcodeThe vector operation.
scalar: ScalarOpcodeThe scalar operation.
sources: [Source; 3]The three source operands, shared by both operations.
input: u8The attribute index of every source of kind SourceKind::Input.
constant: u16The constant index (ten bits) of every source of kind SourceKind::Constant.
input_relative: boolWhether attribute sources add the address register to Self::input.
constant_relative: boolWhether constant sources add the address register to Self::constant.
address: (u8, u8)Which address register and which of its lanes a relative operand adds.
vector_destination: DestinationWhere the vector operation’s result goes.
scalar_destination: DestinationWhere the scalar operation’s result goes.
vector_mask: u8The vector operation’s write mask, bit 0 x to bit 3 w.
scalar_mask: u8The scalar operation’s write mask, bit 0 x to bit 3 w.
saturate: boolWhether results are clamped to 0..1.
condition: ConditionThe condition test.
last: boolWhether this is the program’s last instruction.
unassigned: [u32; 4]The bits of the four words that no field here covers.