1#![allow(dead_code)]
2#![allow(unused_variables)]
3
4use disasm_core::{insn::Insn, utils::zextract};
5
6pub mod opcode {
7 use disasm_core::{insn::Opcode, macros::define_opcodes};
8
9 pub const INVALID: Opcode = Opcode::INVALID;
10
11 pub(super) const BASE_OPCODE: u32 = 4096;
12
13 define_opcodes! {
14 BUNDLE_END = "--",
15 INVALID_CT = "<invalid ct>",
16 HS = "hs",
17 SS = "ss",
18 CS = "cs",
19 ALS = "als",
20 AAS = "aas",
21 LTS = "lts",
22 PLS = "pls",
23 CDS = "cds",
24 NOP = "nop",
25 LOOP_MODE = "loop_mode",
26 ALC = "alc",
27 ABP = "abp",
28 ABN = "abn",
29 ABG = "abg",
30 BAP = "bap",
31 EAP = "eap",
32 INCR = "incr",
33 SETWD = "setwd",
34 SETBP = "setbp",
35 SETBN = "setbn",
36 SETTR = "settr",
37 VFRPSZ = "vfrpsz",
38 SETEI = "setei",
39 SETSFT = "setsft",
40 WAIT = "wait",
41 FLUSH_R = "flush",
42 FLUSH_C = "flush",
43 VFBG = "vfbg",
44 PREP_CT = "prep",
45 PREP_CALL = "prep",
46 PREP_APB = "prep",
47 PREP_SYS = "prep",
48 PREP_RET = "prep",
49 IBRANCH = "ibranch",
50 RBRANCH = "rbranch",
51 PREF = "pref",
52 PUTTSD = "puttsd",
53 GETTSD = "gettsd",
54 DONE = "done",
55 IRET = "iret",
56 ANDP = "andp",
57 LANDP = "landp",
58 MOVEP = "movep",
59 CT = "ct",
60 CALL = "call",
61 ICALL = "icall",
62 HRET = "hret",
63 GLAUNCH = "glaunch",
64 MOVAB = "movab",
65 MOVAH = "movah",
66 MOVAW = "movaw",
67 MOVAD = "movad",
68 MOVAQ = "movaq",
69 MOVAQP = "movaqp",
70 APB = "apb",
71 IPD = "ipd",
72 }
73
74 include!(concat!(env!("OUT_DIR"), "/generated_opcodes.rs"));
75
76 #[cfg(feature = "mnemonic")]
77 #[inline(always)]
78 pub(crate) fn mnemonic(opcode: Opcode) -> Option<&'static str> {
79 defined_mnemonic(opcode).or_else(|| generated_mnemonic(opcode))
80 }
81}
82
83include!(concat!(env!("OUT_DIR"), "/generated_set.rs"));
84
85include!(concat!(env!("OUT_DIR"), "/generated_decode_alop.rs"));