Module Simd_selection
exception Error of Simd_selection.errormodule Seq = Simd.Seqval cfg_operation : Simd.operation -> 'a -> (Operation.t * 'a) optionval instr :
Simd.Amd64_simd_instrs.instr ->
?i:int ->
'a ->
(Operation.t * 'a) optionval seq : Simd.Seq.t -> ?i:int -> 'a -> (Operation.t * 'a) optionval sse_or_avx :
Simd.Amd64_simd_instrs.instr ->
Simd.Amd64_simd_instrs.instr ->
?i:int ->
'a ->
(Operation.t * 'a) optionval seq_or_avx :
Simd.Seq.t ->
Simd.Seq.t ->
?i:int ->
'a ->
(Operation.t * 'a) optionval seq_or_avx_zeroed :
dbg:Debuginfo.t ->
Simd.Seq.t ->
Simd.Amd64_simd_instrs.instr ->
?i:int ->
Cmm.expression list ->
(Operation.t * Cmm.expression list) optionval simd_load :
mode:Arch.addressing_mode ->
Simd.Amd64_simd_instrs.instr ->
'a ->
(Operation.t * 'a) optionval simd_store :
mode:Arch.addressing_mode ->
Simd.Amd64_simd_instrs.instr ->
'a ->
(Operation.t * 'a) optionval simd_load_sse_or_avx :
mode:Arch.addressing_mode ->
Simd.Amd64_simd_instrs.instr ->
Simd.Amd64_simd_instrs.instr ->
'a ->
(Operation.t * 'a) optionval simd_store_sse_or_avx :
mode:Arch.addressing_mode ->
Simd.Amd64_simd_instrs.instr ->
Simd.Amd64_simd_instrs.instr ->
'a ->
(Operation.t * 'a) optionval bad_immediate :
('a, Stdlib.Format.formatter, unit, 'b) Stdlib.format4 ->
'aval extract_constant :
Cmm.expression list ->
string ->
max:int ->
int * Cmm.expression listval extract_scale : Cmm.expression list -> string -> int * Cmm.expression listval int_of_float_rounding : X86_ast.rounding -> intval select_operation_clmul :
dbg:'a ->
string ->
Cmm.expression list ->
(Operation.t * Cmm.expression list) optionval select_operation_popcnt :
dbg:'a ->
string ->
'b ->
(Operation.t * 'b) optionval select_operation_lzcnt :
dbg:'a ->
string ->
'b ->
(Operation.t * 'b) optionval select_operation_bmi : dbg:'a -> string -> 'b -> (Operation.t * 'b) optionval select_operation_bmi2 :
dbg:'a ->
string ->
Cmm.expression list ->
(Operation.t * Cmm.expression list) optionval select_operation_sse :
dbg:Debuginfo.t ->
string ->
Cmm.expression list ->
(Operation.t * Cmm.expression list) optionval select_operation_sse2 :
dbg:Debuginfo.t ->
string ->
Cmm.expression list ->
(Operation.t * Cmm.expression list) optionval select_operation_sse3 : dbg:'a -> string -> 'b -> (Operation.t * 'b) optionval select_operation_ssse3 :
dbg:'a ->
string ->
Cmm.expression list ->
(Operation.t * Cmm.expression list) optionval select_operation_sse41 :
dbg:Debuginfo.t ->
string ->
Cmm.expression list ->
(Operation.t * Cmm.expression list) optionval select_operation_sse42 :
dbg:'a ->
string ->
Cmm.expression list ->
(Operation.t * Cmm.expression list) optionval select_operation_avx :
dbg:'a ->
string ->
Cmm.expression list ->
(Operation.t * Cmm.expression list) optionval select_operation_avx2 :
dbg:'a ->
string ->
Cmm.expression list ->
(Operation.t * Cmm.expression list) optionval select_operation_f16c :
dbg:'a ->
string ->
Cmm.expression list ->
(Operation.t * Cmm.expression list) optionval select_operation_fma : dbg:'a -> string -> 'b -> (Operation.t * 'b) optionval select_operation_cfg :
dbg:Debuginfo.t ->
string ->
Cmm.expression list ->
(Operation.t * Cmm.expression list) optionval rax : Reg.tval rdi : Reg.tval rcx : Reg.tval rdx : Reg.tval xmm0v : Reg.tval pseudoregs_for_instr :
Simd.instr ->
Reg.t array ->
Reg.t array ->
Reg.t array * Reg.t arrayval pseudoregs_for_operation :
Simd.operation ->
Reg.t array ->
Reg.t array ->
Reg.t array * Reg.t arrayval pseudoregs_for_mem_operation :
Simd.Mem.operation ->
Reg.t array ->
Reg.t array ->
Reg.t array * Reg.t arrayval report_error : Stdlib.Format.formatter -> Simd_selection.error -> unitval vectorize_operation :
Vectorize_utils.Width_in_bits.t ->
arg_count:int ->
res_count:int ->
alignment_in_bytes:int option ->
Operation.t list ->
Vectorize_utils.Vectorized_instruction.t list option