Module Amd64_simd_defs
type ext = | SSE| SSE2| SSE3| SSSE3| SSE4_1| SSE4_2| POPCNT| LZCNT| PCLMULQDQ| BMI| BMI2| AVX| AVX2| F16C| FMA
type reg = | RAX| RDI| RCX| RDX| XMM0
type temp = | R8| R16| R32| R64| M8| M16| M32| M64| M128| M256| MM| XMM| YMM| VM32X| VM32Y| VM64X| VM64Y
type loc = | Pin of reg| Temp of temp array
type loc_enc = | RM_r| RM_rm| Vex_v| Implicit| Immediate
type res = | Res_none| Arg of int array| Res of arg array
type legacy_prefix = | Prx_none| Prx_66| Prx_F2| Prx_F3
type legacy_rex = | Rex_none| Rex| Rex_w
type legacy_escape = | Esc_none| Esc_0F| Esc_0F38| Esc_0F3A
type vex_map = | Vexm_0F| Vexm_0F38| Vexm_0F3A
type rm_reg = | Reg| Spec of int
type imm = | Imm_none| Imm_reg| Imm_spec
type 'id instr = {id : 'id;ext : ext array;args : arg array;res : res;imm : imm;mnemonic : string;enc : enc;
}val equal_reg : reg -> reg -> boolval equal_loc : loc -> loc -> boolval temp_is_reg : temp -> boolval temp_is_vm : temp -> boolval loc_allows_reg : loc -> boolval loc_allows_mem : loc -> boolval loc_is_pinned : loc -> reg optionval loc_reg_count : loc -> intval unarized_reg_index : arg array -> int -> intval arg_is_implicit : arg -> boolval ext_to_string : ext -> stringval exts_to_string : ext array -> string