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/Arm_lowering/index.html
Module Jasmin.Arm_lowering
val fv_NF : Lowering.fresh_vars -> Ident.Ident.identval fv_ZF : Lowering.fresh_vars -> Ident.Ident.identval fv_CF : Lowering.fresh_vars -> Ident.Ident.identval fv_VF : Lowering.fresh_vars -> Ident.Ident.identval all_fresh_vars : Lowering.fresh_vars -> Ident.Ident.ident listval fvNF : Lowering.fresh_vars -> Var0.Var.varval fvZF : Lowering.fresh_vars -> Var0.Var.varval fvCF : Lowering.fresh_vars -> Var0.Var.varval fvVF : Lowering.fresh_vars -> Var0.Var.varval fresh_flags : Lowering.fresh_vars -> Var0.Var.var listval fvars : Lowering.fresh_vars -> Var0.SvExtra.Sv.ttype low_expr =
((Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Sopn.sopn
* Expr.pexpr list)
optionval le_skip :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
low_exprval le_issue_sopn :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Sopn.sopn ->
Expr.pexpr list ->
low_exprval le_issue_aop :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Arm_instr_decl.arm_op ->
Expr.pexpr list ->
low_exprval le_issue_opts :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Arm_instr_decl.arm_mnemonic ->
Arm_instr_decl.arm_options ->
Expr.pexpr list ->
low_exprval le_issue :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Arm_instr_decl.arm_mnemonic ->
Expr.pexpr list ->
low_exprval no_pre :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
low_expr ->
(((Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Expr.instr_r
list
* (Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
optionval chk_ws_reg : Wsize.wsize -> unit optionval flags_of_mn :
Lowering.fresh_vars ->
Arm_instr_decl.arm_mnemonic ->
Var0.Var.var listval lflags_of_mn :
Lowering.fresh_vars ->
Expr.var_info ->
Arm_instr_decl.arm_mnemonic ->
Expr.lval listval lower_TST : Expr.pexpr -> Expr.pexpr -> Expr.pexpr list optionval lower_condition_Papp2 :
Lowering.fresh_vars ->
Expr.var_info ->
Expr.sop2 ->
Expr.pexpr ->
Expr.pexpr ->
((Arm_instr_decl.arm_mnemonic * Expr.pexpr) * Expr.pexpr list) optionval lower_condition_pexpr :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Lowering.fresh_vars ->
Expr.var_info ->
Expr.pexpr ->
(((Expr.lval list
* (Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
* Expr.pexpr)
optionval lower_condition :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Lowering.fresh_vars ->
Expr.var_info ->
Expr.pexpr ->
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Expr.instr_r
list
* Expr.pexprval get_arg_shift :
Wsize.wsize ->
Expr.pexpr list ->
((Expr.pexpr * Shift_kind.shift_kind) * Expr.pexpr) optionval arg_shift :
Arm_instr_decl.arm_mnemonic ->
Wsize.wsize ->
Expr.pexpr list ->
Arm_instr_decl.arm_op * Expr.pexpr listval lower_Pvar :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Wsize.wsize ->
Expr.gvar ->
low_exprval lower_load :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Wsize.wsize ->
Expr.pexpr ->
low_exprval mov_imm_op :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Expr.pexpr ->
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Sopn.sopnval lower_Papp1 :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Wsize.wsize ->
Expr.sop1 ->
Expr.pexpr ->
low_exprval is_mul : Expr.pexpr -> (Expr.pexpr * Expr.pexpr) optionval is_rsb : Wsize.wsize -> Expr.pexpr -> Expr.pexpr -> boolval lower_Papp2_op :
Wsize.wsize ->
Expr.sop2 ->
Expr.pexpr ->
Expr.pexpr ->
((Arm_instr_decl.arm_mnemonic * Expr.pexpr) * Expr.pexpr list) optionval lower_Papp2 :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Wsize.wsize ->
Expr.sop2 ->
Expr.pexpr ->
Expr.pexpr ->
low_exprval lower_pexpr_aux :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Wsize.wsize ->
Expr.pexpr ->
low_exprval sopn_set_is_conditional :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Sopn.sopn ->
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Sopn.sopn
optionval lower_pexpr :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Lowering.fresh_vars ->
Expr.var_info ->
Wsize.wsize ->
Expr.pexpr ->
(((Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Expr.instr_r
list
* (Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
optionval lower_store :
Wsize.wsize ->
Expr.pexpr ->
(Arm_instr_decl.arm_op * Expr.pexpr list) optionval lower_cassgn_word :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Lowering.fresh_vars ->
Expr.lval ->
Wsize.wsize ->
Expr.pexpr ->
((Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Expr.instr_r
list
* ((Expr.lval list
* (Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list))
optionval lower_cassgn_bool :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Lowering.fresh_vars ->
Expr.lval ->
Expr.assgn_tag ->
Expr.pexpr ->
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Expr.instr_r
list
optionval lower_add_carry :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Expr.lval list ->
Expr.pexpr list ->
((Expr.lval list
* (Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
optionval lower_mulu :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Expr.lval list ->
Expr.pexpr list ->
((Expr.lval list
* (Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
optionval with_shift :
Arm_instr_decl.arm_options ->
Shift_kind.shift_kind ->
Arm_instr_decl.arm_optionsval lower_base_op :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Expr.lval list ->
Arm_instr_decl.arm_op ->
Expr.pexpr list ->
((Expr.lval list
* (Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
optionval lower_swap :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Type.stype ->
Expr.lval list ->
Expr.pexpr list ->
((Expr.lval list
* (Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
optionval lower_pseudo_operator :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Expr.lval list ->
Pseudo_operator.pseudo_operator ->
Expr.pexpr list ->
((Expr.lval list
* (Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
optionval lower_copn :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Expr.lval list ->
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Sopn.sopn ->
Expr.pexpr list ->
((Expr.lval list
* (Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
optionval lower_i :
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt)
Arch_extra.arch_toIdent ->
Lowering.fresh_vars ->
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Expr.instr ->
(Arm_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_decl.rflag,
Arm_decl.condt,
Arm_instr_decl.arm_op,
Arm_extra.arm_extra_op)
Arch_extra.extended_op
Expr.instr
list sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>