pub struct CompactInstructionHeader {
pub layout: [bool; 7],
pub loads_protected: bool,
pub register_set: bool,
pub primary_data_size: DataSize,
pub secondary_data_size: DataSize,
pub decode_compact_branches: bool,
pub saturate: bool,
pub compact_p_bits: [bool; 14],
/* private fields */
}Fields§
§layout: [bool; 7]Layout field Determines if the i-th word holds two compact (16-bit) instructions (true) or a regular, 32-bit instruction (false).
loads_protected: boolPROT field.
Determines if 4 NOP cycles are added after every LD instruction.
register_set: boolRS field. Determines if instructions use high register set for data source and destination (true) or low register set (false).
primary_data_size: DataSize§secondary_data_size: DataSize§decode_compact_branches: boolBR field. Determines if compact instructions in the S unit are decoded as branches.
saturate: boolSAT field. Determines if instructions are saturated.
As a result, ADD, SUB, SHL, MPY, MPYH, MPYLH and MPYHL
instructions are decoded as SADD, SUBS, SSHL, SMPY, SMPYH, SMPYLH and
SMPYHL respectively.
compact_p_bits: [bool; 14]Trait Implementations§
Source§impl C6000Instruction for CompactInstructionHeader
impl C6000Instruction for CompactInstructionHeader
fn new(input: &InstructionInput) -> Result<Self>
fn instruction(&self) -> String
fn operands(&self) -> String
fn instruction_data(&self) -> &InstructionData
fn instruction_data_mut(&mut self) -> &mut InstructionData
fn new_compact(_input: &InstructionInput) -> Result<Self>where
Self: Sized,
fn instruction_clean(&self) -> String
fn opcode(&self) -> u32
fn is_compact(&self) -> bool
fn is_parallel(&self) -> bool
fn get_p_bit(&self) -> bool
fn set_parallel(&mut self, parallel: bool)
fn conditional_operation(&self) -> Option<ConditionalOperation>
Source§impl Clone for CompactInstructionHeader
impl Clone for CompactInstructionHeader
Source§fn clone(&self) -> CompactInstructionHeader
fn clone(&self) -> CompactInstructionHeader
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for CompactInstructionHeader
impl RefUnwindSafe for CompactInstructionHeader
impl Send for CompactInstructionHeader
impl Sync for CompactInstructionHeader
impl Unpin for CompactInstructionHeader
impl UnsafeUnpin for CompactInstructionHeader
impl UnwindSafe for CompactInstructionHeader
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more