1namespace FBInstruction;
2
3table Instruction {
4  addr : uint64;
5  opcode: uint32;
6  mnemonic: string;
7  operands: [string];
8  inputs: [string];
9  outputs: [string];
10  is_nop: bool;
11  is_branch: bool;
12  branch_target: uint64; // 0 means not set
13  is_flush: bool;
14  is_vctrl: bool;
15  loads: [uint64];
16  stores: [uint64];
17  lmul: float32; // valid values: 1/8, 1/4, 1/2, 1, 2, 4, 8, and 0 which means not set
18  sew: uint8; // 0 means not set
19  vl: int16; // -1 means not set
20}
21
22table Instructions { instructions:[Instruction]; }
23
24root_type Instructions;
25