use super::functions::*;
use super::*;
use gpcas_base::instruction_type;
pub const FORMAT_1_1_INSTRUCTIONS: [SimpleIsaInstruction; 64] = [
SimpleIsaInstruction {
function: move_instruction,
inputs: 1,
instr_type: instruction_type::MOVE,
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: move_instruction,
inputs: 1,
instr_type: instruction_type::MOVE,
..SimpleIsaInstruction::DEFAULT
},
UNSPECIFIED_INSTRUCTION,
SimpleIsaInstruction {
function: truncate::<MOVE, 16>,
inputs: 1,
instr_type: instruction_type::MOVE,
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: split_shift::<MOVE>,
inputs: 1,
instr_type: instruction_type::MOVE,
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: split_shift::<MOVE>,
inputs: 1,
instr_type: instruction_type::MOVE,
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: add,
inputs: 2,
instr_type: instruction_type::INT_ADD,
..SimpleIsaInstruction::DEFAULT
},
UNSPECIFIED_INSTRUCTION,
SimpleIsaInstruction {
function: mul,
inputs: 2,
instr_type: instruction_type::INT_MUL,
..SimpleIsaInstruction::DEFAULT
},
UNSPECIFIED_INSTRUCTION,
SimpleIsaInstruction {
function: split_shift::<ADD>,
inputs: 2,
instr_type: instruction_type::INT_ADD,
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: split_shift::<ADD>,
inputs: 2,
instr_type: instruction_type::INT_ADD,
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: split_shift::<AND>,
inputs: 2,
instr_type: instruction_type::SIMPLE,
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: split_shift::<AND>,
inputs: 2,
instr_type: instruction_type::SIMPLE,
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: split_shift::<OR>,
inputs: 2,
instr_type: instruction_type::SIMPLE,
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: split_shift::<OR>,
inputs: 2,
instr_type: instruction_type::SIMPLE,
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: split_shift::<XOR>,
inputs: 2,
instr_type: instruction_type::SIMPLE,
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: split_shift::<XOR>,
inputs: 2,
instr_type: instruction_type::SIMPLE,
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: shift_before::<ADD, 16>,
inputs: 2,
instr_type: instruction_type::INT_ADD,
..SimpleIsaInstruction::DEFAULT
},
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
];
pub const FORMAT_1_2_INSTRUCTIONS: [SimpleIsaInstruction; 64] = [
SimpleIsaInstruction {
function: get_len,
vector_mode: VectorMode::Full,
inputs: 1,
instr_type: instruction_type::SIMPLE,
register_type_override: Some((0, Operand::GeneralPurposeRegister(0))),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: get_num,
vector_mode: VectorMode::Full,
inputs: 1,
instr_type: instruction_type::SIMPLE,
register_type_override: Some((0, Operand::GeneralPurposeRegister(0))),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: set_len,
vector_mode: VectorMode::Full,
inputs: 2,
instr_type: instruction_type::SIMPLE,
register_type_override: Some((2, Operand::GeneralPurposeRegister(0))),
..SimpleIsaInstruction::DEFAULT
},
NOT_YET_IMPLEMENTED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
SimpleIsaInstruction {
function: broad::<true>,
vector_mode: VectorMode::Full,
inputs: 2,
instr_type: instruction_type::SIMPLE,
register_type_override: Some((2, Operand::GeneralPurposeRegister(0))),
..SimpleIsaInstruction::DEFAULT
},
UNSPECIFIED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
SimpleIsaInstruction {
function: shift_expand,
vector_mode: VectorMode::Full,
inputs: 2,
instr_type: instruction_type::INT_SHIFT,
register_type_override: Some((2, Operand::GeneralPurposeRegister(0))),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: shift_reduce,
vector_mode: VectorMode::Full,
inputs: 2,
instr_type: instruction_type::INT_SHIFT,
register_type_override: Some((2, Operand::GeneralPurposeRegister(0))),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: shift_up,
vector_mode: VectorMode::Full,
inputs: 2,
instr_type: instruction_type::INT_SHIFT,
register_type_override: Some((2, Operand::GeneralPurposeRegister(0))),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: shift_down,
vector_mode: VectorMode::Full,
inputs: 2,
instr_type: instruction_type::INT_SHIFT,
register_type_override: Some((2, Operand::GeneralPurposeRegister(0))),
..SimpleIsaInstruction::DEFAULT
},
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
SimpleIsaInstruction {
function: sqrt,
inputs: 1,
instr_type: instruction_type::FLOAT_MUL,
..SimpleIsaInstruction::DEFAULT
},
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
PRIVILEGED_INSTRUCTION,
PRIVILEGED_INSTRUCTION,
PRIVILEGED_INSTRUCTION,
PRIVILEGED_INSTRUCTION,
PRIVILEGED_INSTRUCTION,
PRIVILEGED_INSTRUCTION,
];
pub const FORMAT_1_3_INSTRUCTIONS: [IsaInstruction; 64] = [
IsaInstruction::Simple(SimpleIsaInstruction {
function: move_instruction,
inputs: 2,
instr_type: instruction_type::MOVE,
register_type_override: Some((1, Operand::GeneralPurposeRegister(0))),
..SimpleIsaInstruction::DEFAULT
}),
IsaInstruction::Simple(SimpleIsaInstruction {
function: move_instruction,
inputs: 2,
instr_type: instruction_type::MOVE,
register_type_override: Some((0, Operand::GeneralPurposeRegister(0))),
..SimpleIsaInstruction::DEFAULT
}),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(SimpleIsaInstruction {
function: make_sequence,
inputs: 2,
instr_type: instruction_type::SIMPLE,
register_type_override: Some((1, Operand::GeneralPurposeRegister(0))),
..SimpleIsaInstruction::DEFAULT
}),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(SimpleIsaInstruction {
function: broadcast_max,
vector_mode: VectorMode::Full,
inputs: 1,
instr_type: instruction_type::SIMPLE,
..SimpleIsaInstruction::DEFAULT
}),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(SimpleIsaInstruction {
function: bit_scan,
inputs: 2,
instr_type: instruction_type::SIMPLE,
..SimpleIsaInstruction::DEFAULT
}),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Complex(push),
IsaInstruction::Complex(pop),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
];
pub const FORMAT_1_4_INSTRUCTIONS: [SimpleIsaInstruction; 64] = [
SimpleIsaInstruction {
function: move_instruction,
inputs: 1,
instr_type: instruction_type::MOVE,
operand_type_override: Some(OperandType::I16),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: add,
inputs: 2,
instr_type: instruction_type::INT_ADD,
operand_type_override: Some(OperandType::I16),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: and,
inputs: 2,
instr_type: instruction_type::SIMPLE,
operand_type_override: Some(OperandType::I16),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: or,
inputs: 2,
instr_type: instruction_type::SIMPLE,
operand_type_override: Some(OperandType::I16),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: xor,
inputs: 2,
instr_type: instruction_type::SIMPLE,
operand_type_override: Some(OperandType::I16),
..SimpleIsaInstruction::DEFAULT
},
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
SimpleIsaInstruction {
function: split_shift::<MOVE>,
inputs: 1,
instr_type: instruction_type::MOVE,
operand_type_override: Some(OperandType::I32),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: split_shift::<MOVE>,
inputs: 1,
instr_type: instruction_type::MOVE,
operand_type_override: Some(OperandType::I64),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: split_shift::<ADD>,
inputs: 2,
instr_type: instruction_type::INT_ADD,
operand_type_override: Some(OperandType::I32),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: split_shift::<ADD>,
inputs: 2,
instr_type: instruction_type::INT_ADD,
operand_type_override: Some(OperandType::I64),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: split_shift::<AND>,
inputs: 2,
instr_type: instruction_type::SIMPLE,
operand_type_override: Some(OperandType::I32),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: split_shift::<AND>,
inputs: 2,
instr_type: instruction_type::SIMPLE,
operand_type_override: Some(OperandType::I64),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: split_shift::<OR>,
inputs: 2,
instr_type: instruction_type::SIMPLE,
operand_type_override: Some(OperandType::I32),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: split_shift::<OR>,
inputs: 2,
instr_type: instruction_type::SIMPLE,
operand_type_override: Some(OperandType::I64),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: split_shift::<XOR>,
inputs: 2,
instr_type: instruction_type::SIMPLE,
operand_type_override: Some(OperandType::I32),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: split_shift::<XOR>,
inputs: 2,
instr_type: instruction_type::SIMPLE,
operand_type_override: Some(OperandType::I64),
..SimpleIsaInstruction::DEFAULT
},
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
SimpleIsaInstruction {
function: move_instruction,
inputs: 1,
instr_type: instruction_type::MOVE,
operand_type_override: Some(OperandType::F32),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: move_instruction,
inputs: 1,
instr_type: instruction_type::MOVE,
operand_type_override: Some(OperandType::F64),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: add,
inputs: 2,
instr_type: instruction_type::INT_ADD,
operand_type_override: Some(OperandType::F32),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: add,
inputs: 2,
instr_type: instruction_type::INT_ADD,
operand_type_override: Some(OperandType::F64),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: mul,
inputs: 2,
instr_type: instruction_type::INT_MUL,
operand_type_override: Some(OperandType::F32),
..SimpleIsaInstruction::DEFAULT
},
SimpleIsaInstruction {
function: mul,
inputs: 2,
instr_type: instruction_type::INT_MUL,
operand_type_override: Some(OperandType::F64),
..SimpleIsaInstruction::DEFAULT
},
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
NOT_YET_IMPLEMENTED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
UNSPECIFIED_INSTRUCTION,
];
pub const FORMAT_1_8_INSTRUCTIONS: [IsaInstruction; 64] = [
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(SimpleIsaInstruction {
function: round_power_two,
inputs: 2,
instr_type: instruction_type::SIMPLE,
..SimpleIsaInstruction::DEFAULT
}),
IsaInstruction::Simple(SimpleIsaInstruction {
function: pop_count,
inputs: 2,
instr_type: instruction_type::SIMPLE,
..SimpleIsaInstruction::DEFAULT
}),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(NOT_YET_IMPLEMENTED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Complex(push),
IsaInstruction::Complex(pop),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(UNSPECIFIED_INSTRUCTION),
IsaInstruction::Simple(PRIVILEGED_INSTRUCTION),
IsaInstruction::Simple(PRIVILEGED_INSTRUCTION),
];