jon.recoil.org

Module Arm64_binary_emitter.Simd_helpers

val vector_q_size : ('v, 's) Arm64_ast.Ast.Neon_reg_name.Vector.t -> int * int
val vector_q_fp_sz : (_, _) Arm64_ast.Ast.Neon_reg_name.Vector.t -> int * int

Returns Q and the FP precision bit (sz) for FP vector operations. Only valid for V2S, V4S, V2D vector types.

val simd_copy_imm5 : ('v, 's) Arm64_ast.Ast.Neon_reg_name.Vector.t -> int -> int
val simd_ins_element_imm4 : ('v, 's) Arm64_ast.Ast.Neon_reg_name.Vector.t -> int -> int
val encode_simd_copy : q:int -> op:int -> imm5:int -> imm4:int -> rn:int -> rd:int -> int32
val encode_simd_extract : q:int -> rm:int -> imm4:int -> rn:int -> rd:int -> int32
val encode_simd_modified_imm : q:int -> op:int -> abc:int -> cmode:int -> defgh:int -> rd:int -> int32
val encode_simd_across_lanes : q:int -> u:int -> size:int -> opcode:int -> rn:int -> rd:int -> int32
val encode_simd_permute : q:int -> size:int -> rm:int -> opcode:int -> rn:int -> rd:int -> int32
val vector_widening_size : ('v, 's) Arm64_ast.Ast.Neon_reg_name.Vector.t -> int
val encode_simd_two_reg_misc : q:int -> u:int -> size:int -> opcode:int -> rn:int -> rd:int -> int32
val encode_simd_three_same : q:int -> u:int -> size:int -> rm:int -> opcode:int -> rn:int -> rd:int -> int32
val encode_simd_three_different : q:int -> u:int -> size:int -> rm:int -> opcode:int -> rn:int -> rd:int -> int32
val encode_simd_shift_imm : q:int -> u:int -> immh:int -> immb:int -> opcode:int -> rn:int -> rd:int -> int32