package jasmin
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Compiler for High-Assurance and High-Speed Cryptography
Install
dune-project
Dependency
Authors
Maintainers
Sources
jasmin-compiler-v2025.06.1.tar.bz2
sha256=e92b42fa69da7c730b0c26dacf842a72b4febcaf4f2157a1dc18b3cce1f859fa
doc/jasmin.jasmin/Jasmin/Asm_gen/index.html
Module Jasmin.Asm_gen
module E : sig ... endval fail : Expr.instr_info -> string -> Compiler_util.pp_error_locval of_var_e :
Type.stype ->
'a1 Arch_decl.coq_ToString ->
'a1 Arch_extra.coq_ToIdent ->
Expr.instr_info ->
Expr.var_i ->
(Compiler_util.pp_error_loc, 'a1) Utils0.resultval to_reg :
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arch_decl ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_extra.arch_toIdent ->
Var0.Var.var ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.reg_t optionval to_regx :
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arch_decl ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_extra.arch_toIdent ->
Var0.Var.var ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.regx_t optionval to_xreg :
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arch_decl ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_extra.arch_toIdent ->
Var0.Var.var ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.xreg_t optionval to_rflag :
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arch_decl ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_extra.arch_toIdent ->
Var0.Var.var ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.rflag_t optionval asm_typed_reg_of_var :
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arch_decl ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_extra.arch_toIdent ->
Var0.Var.var ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_typed_reg Compiler_util.cexecval var_of_asm_typed_reg :
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arch_decl ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_extra.arch_toIdent ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_typed_reg ->
Var0.Var.vartype ('reg, 'regx, 'xreg, 'rflag, 'cond, 'asm_op, 'extra_op) asm_gen_params = {agp_assemble_cond : Expr.instr_info -> Fexpr.fexpr -> ('reg, 'regx, 'xreg, 'rflag, 'cond) Arch_decl.cond_t Compiler_util.cexec;agp_is_valid_address : ('reg, 'regx, 'xreg, 'rflag, 'cond) Arch_decl.reg_address -> bool;
}val scale_of_z :
Expr.instr_info ->
BinNums.coq_Z ->
Datatypes.nat Compiler_util.cexecval reg_of_ovar :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
Expr.instr_info ->
Expr.var_i option ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.reg_t option Compiler_util.cexecval assemble_lea :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
Expr.instr_info ->
Lea.lea ->
(Compiler_util.pp_error_loc, ('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.reg_address)
Utils0.resultval assemble_lea_checked :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Expr.instr_info ->
Compiler_util.pp_error ->
Lea.lea ->
(Compiler_util.pp_error_loc, ('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.address)
Utils0.resultval addr_of_fexpr :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
Wsize.wsize ->
Fexpr.fexpr ->
(Compiler_util.pp_error_loc, ('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.address)
Utils0.resultval xreg_of_var :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
Expr.instr_info ->
Expr.var_i ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg Compiler_util.cexecval assemble_word_load :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
Memory_model.aligned ->
Wsize.wsize ->
Fexpr.rexpr ->
(Compiler_util.pp_error_loc, ('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg)
Utils0.resultval assemble_word :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Arch_decl.addr_kind ->
Var0.Var.var ->
Expr.instr_info ->
Wsize.wsize ->
Fexpr.rexpr ->
(Compiler_util.pp_error_loc, ('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg)
Utils0.resultval arg_of_rexpr :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Arch_decl.addr_kind ->
Var0.Var.var ->
Expr.instr_info ->
Type.stype ->
Fexpr.rexpr ->
(Compiler_util.pp_error_loc, ('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg)
Utils0.resultval rexpr_of_lexpr : Fexpr.lexpr -> Fexpr.rexprtype 't nmap = Datatypes.nat -> 't optionval nget : 'a1 nmap -> Datatypes.nat -> 'a1 optionval nset :
'a1 nmap ->
Datatypes.nat ->
'a1 ->
Eqtype.Equality.sort ->
'a1 optionval nempty : Datatypes.nat -> 'a1 optionval is_implicit :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.implicit_arg ->
Fexpr.rexpr ->
boolval compile_arg :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
((('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arg_desc * Type.stype) * Fexpr.rexpr) ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg nmap ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg nmap Compiler_util.cexecval compile_args :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
(('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arg_desc * Type.stype) list ->
Fexpr.rexpr list ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg nmap ->
(Compiler_util.pp_error_loc,
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg nmap)
Utils0.resultval compat_imm :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
Type.stype ->
Eqtype.Equality.sort ->
Eqtype.Equality.sort ->
boolval check_sopn_arg :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg list ->
Fexpr.rexpr ->
(('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arg_desc * Type.stype) ->
boolval check_sopn_dest :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg list ->
Fexpr.rexpr ->
(('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arg_desc * Type.stype) ->
boolval assemble_asm_op_aux :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6) Arch_decl.asm_op_msb_t ->
Fexpr.lexpr list ->
Fexpr.rexpr list ->
(Compiler_util.pp_error_loc,
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg list)
Utils0.resultval check_sopn_args :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg list ->
Fexpr.rexpr list ->
(('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arg_desc * Type.stype) list ->
boolval check_sopn_dests :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg list ->
Fexpr.lexpr list ->
(('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arg_desc * Type.stype) list ->
boolval check_arg_kind_no_imm :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg ->
Arch_decl.arg_kind ->
boolval filter_arg_kinds_no_imm :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg ->
Arch_decl.arg_kinds ->
(unit, Arch_decl.arg_kinds) Utils0.resultval filter_args_kinds_no_imm :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_args ->
Arch_decl.args_kinds ->
Arch_decl.args_kinds optionval filter_i_args_kinds_no_imm :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
Arch_decl.i_args_kinds ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_args ->
Arch_decl.i_args_kindsval enforce_imm_arg_kind :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg ->
Arch_decl.arg_kind ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg optionval enforce_imm_arg_kinds :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg ->
Arch_decl.arg_kinds ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg optionval enforce_imm_args_kinds :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_args ->
Arch_decl.args_kinds ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_args optionval enforce_imm_i_args_kinds :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
Arch_decl.i_args_kinds ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_args ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_args optionval pp_caimm_checker_s :
Arch_decl.caimm_checker_s ->
Compiler_util.pp_error listval pp_arg_kind : Arch_decl.arg_kind -> Compiler_util.pp_errorval pp_arg_kinds : Arch_decl.arg_kind list -> Compiler_util.pp_errorval pp_args_kinds : Arch_decl.arg_kind list list -> Compiler_util.pp_errorval pp_i_args_kinds :
Arch_decl.arg_kind list list list ->
Compiler_util.pp_errorval assemble_asm_op :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6) Arch_decl.asm_op_msb_t ->
Fexpr.lexpr list ->
Fexpr.rexpr list ->
(Compiler_util.pp_error_loc,
'a6 * ('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg list)
Utils0.resultval assemble_asm_args :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
((('a1, 'a2, 'a3, 'a4, 'a5, 'a6) Arch_decl.asm_op_msb_t * Fexpr.lexpr list)
* Fexpr.rexpr list) ->
(Compiler_util.pp_error_loc,
'a6 * ('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg list)
Utils0.resultval assemble_sopn :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.extended_op Sopn.sopn ->
Fexpr.lexpr list ->
Fexpr.rexpr list ->
(Compiler_util.pp_error_loc,
('a6 * ('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg list) list)
Utils0.resultval is_not_app1 : Fexpr.rexpr -> boolval assemble_i :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.extended_op Linear.linstr ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6) Arch_decl.asm_i list Compiler_util.cexecval assemble_c :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.extended_op Linear.lcmd ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6) Arch_decl.asm_i list Compiler_util.cexecval is_typed_reg :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
Var0.Var.var ->
boolval typed_reg_of_vari :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
Expr.var_i ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_typed_reg Compiler_util.cexecval assemble_fd :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.calling_convention ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Var0.Var.var ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.extended_op Linear.lfundef ->
(Compiler_util.pp_error_loc,
('a1, 'a2, 'a3, 'a4, 'a5, 'a6) Arch_decl.asm_fundef)
Utils0.resultval assemble_prog :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.calling_convention ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.extended_op Linear.lprog ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6) Arch_decl.asm_prog Compiler_util.cexecval vflags :
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arch_decl ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_extra.arch_toIdent ->
Var0.SvExtra.Sv.tval all_vars :
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arch_decl ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_extra.arch_toIdent ->
Var0.SvExtra.Sv.tval ovm_i :
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arch_decl ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_extra.arch_toIdent ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.calling_convention ->
One_varmap.one_varmap_info sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>