pub mod default_values {
pub const MASK: u8 = 7;
pub const INDEX: u32 = 31;
pub const LENGTH: u32 = 31;
pub const FALLBACK_REGISTER: usize = 31;
pub const NUMCONTR: u64 = 0x0101_0101_0101_0101;
}
pub mod operand_indices {
pub const MASK: usize = 0;
pub const FALLBACK: usize = 1;
pub const OUTPUT: usize = 2;
pub const INPUT1: usize = 3;
pub const INPUT2: usize = 4;
pub const INPUT3: usize = 5;
}
pub mod parse_masks {
pub const IL: u32 = 0xC000_0000;
pub const MODE: u32 = 0x3800_0000;
pub const OP1: u32 = 0x07E0_0000;
pub const RD: u32 = 0x001F_0000;
pub const M: u32 = 0x0000_8000;
pub const OT: u32 = 0x0000_6000;
pub const RS: u32 = 0x0000_1F00;
pub const MASK: u32 = 0x0000_00E0;
pub const RT: u32 = 0x0000_001F;
pub const MODE2: u32 = 0xE000_0000;
pub const RU: u32 = 0x1F00_0000;
pub const OP2: u32 = 0x00D0_0000;
pub const IM1: u32 = 0x0000_00FF;
pub const IM2: u32 = 0x0000_FF00;
pub const IM3: u32 = 0x00FF_FFFF;
pub const IM4: u32 = 0x0000_FFFF;
pub const IM5: u32 = 0x003F_0000;
pub const IM6: u32 = 0xFFFF_FFFF;
pub const IM7: u32 = 0xFFFF_FFFF;
}
pub mod parse_shifts {
pub const IL: u32 = 30;
pub const MODE: u32 = 27;
pub const OP1: u32 = 21;
pub const RD: u32 = 16;
pub const M_OT: u32 = 13;
pub const M_MODE: u32 = 12;
pub const OT: u32 = 13;
pub const RS: u32 = 8;
pub const MASK: u32 = 5;
pub const RT: u32 = 0;
pub const MODE2: u32 = 29;
pub const RU: u32 = 24;
pub const OP2: u32 = 22;
pub const IM1: u32 = 0;
pub const IM2: u32 = 8;
pub const IM3: u32 = 0;
pub const IM4: u32 = 0;
pub const IM5: u32 = 16;
pub const IM6: u32 = 0;
pub const IM7: u32 = 0;
}
pub mod register_indices {
pub const THREADP: usize = 28;
pub const DATAP: usize = 29;
pub const IP: usize = 30;
pub const NUMCONTR: usize = 0;
pub const STACK_POINTER: usize = 31;
}