1(* Capstone Disassembly Engine
2 * By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 *)
3
4open Arm64_const
5
6(* architecture specific info of instruction *)
7type arm64_op_shift = {
8	shift_type: int;
9	shift_value: int;
10}
11
12type arm64_op_mem = {
13	base: int;
14	index: int;
15	disp: int
16}
17
18type arm64_op_value =
19	| ARM64_OP_INVALID of int
20	| ARM64_OP_REG of int
21	| ARM64_OP_CIMM of int
22	| ARM64_OP_IMM of int
23	| ARM64_OP_FP of float
24	| ARM64_OP_MEM of arm64_op_mem
25	| ARM64_OP_REG_MRS of int
26	| ARM64_OP_REG_MSR of int
27	| ARM64_OP_PSTATE of int
28	| ARM64_OP_SYS of int
29	| ARM64_OP_PREFETCH of int
30	| ARM64_OP_BARRIER of int
31
32type arm64_op = {
33	vector_index: int;
34	vas: int;
35	vess: int;
36	shift: arm64_op_shift;
37	ext: int;
38	value: arm64_op_value;
39}
40
41type cs_arm64 = {
42	cc: int;
43	update_flags: bool;
44	writeback: bool;
45	operands: arm64_op array;
46}
47