package jasmin
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/Riscv_lowering/index.html
Module Jasmin.Riscv_lowering
val chk_ws_reg : Wsize.wsize -> unit option
val check_shift_amount : Expr.pexpr -> Expr.pexpr option
val lower_Papp1 :
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt)
Arch_extra.arch_toIdent ->
Wsize.wsize ->
Expr.sop1 ->
Expr.pexpr ->
(Riscv_extra.riscv_extended_op * Expr.pexpr list) option
val decide_op_reg_imm :
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt)
Arch_extra.arch_toIdent ->
Wsize.wsize ->
Expr.pexpr ->
Expr.pexpr ->
Riscv_extra.riscv_extended_op ->
Riscv_extra.riscv_extended_op ->
(Riscv_extra.riscv_extended_op * Expr.pexpr list) option
val insert_minus : Expr.pexpr -> Expr.pexpr option
val decide_op_reg_imm_neg :
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt)
Arch_extra.arch_toIdent ->
Wsize.wsize ->
Expr.pexpr ->
Expr.pexpr ->
Riscv_extra.riscv_extended_op ->
Riscv_extra.riscv_extended_op ->
(Riscv_extra.riscv_extended_op * Expr.pexpr list) option
val lower_Papp2 :
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt)
Arch_extra.arch_toIdent ->
Wsize.wsize ->
Expr.sop2 ->
Expr.pexpr ->
Expr.pexpr ->
(Riscv_extra.riscv_extended_op * Expr.pexpr list) option
val lower_load :
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt)
Arch_extra.arch_toIdent ->
Wsize.wsize ->
Expr.pexpr ->
(Riscv_extra.riscv_extended_op * Expr.pexpr list) option
val lower_Pvar :
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt)
Arch_extra.arch_toIdent ->
Wsize.wsize ->
Expr.gvar ->
(Riscv_extra.riscv_extended_op * Expr.pexpr list) option
val lower_cassgn :
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt)
Arch_extra.arch_toIdent ->
Expr.lval ->
Wsize.wsize ->
Expr.pexpr ->
((Expr.lval list
* (Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt,
Riscv_instr_decl.riscv_op,
Riscv_extra.riscv_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
option
val lower_swap :
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt)
Arch_extra.arch_toIdent ->
Type.stype ->
Expr.lval list ->
Expr.pexpr list ->
((Expr.lval list
* (Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt,
Riscv_instr_decl.riscv_op,
Riscv_extra.riscv_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
list
option
val lower_mulu :
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt)
Arch_extra.arch_toIdent ->
Expr.lval list ->
Expr.pexpr list ->
((Expr.lval list
* (Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt,
Riscv_instr_decl.riscv_op,
Riscv_extra.riscv_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
list
option
val lower_pseudo_operator :
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt)
Arch_extra.arch_toIdent ->
Expr.lval list ->
Pseudo_operator.pseudo_operator ->
Expr.pexpr list ->
((Expr.lval list
* (Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt,
Riscv_instr_decl.riscv_op,
Riscv_extra.riscv_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
list
option
val lower_copn :
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt)
Arch_extra.arch_toIdent ->
Expr.lval list ->
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt,
Riscv_instr_decl.riscv_op,
Riscv_extra.riscv_extra_op)
Arch_extra.extended_op
Sopn.sopn ->
Expr.pexpr list ->
((Expr.lval list
* (Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt,
Riscv_instr_decl.riscv_op,
Riscv_extra.riscv_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
list
option
val lower_i :
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt)
Arch_extra.arch_toIdent ->
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt,
Riscv_instr_decl.riscv_op,
Riscv_extra.riscv_extra_op)
Arch_extra.extended_op
Expr.instr ->
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt,
Riscv_instr_decl.riscv_op,
Riscv_extra.riscv_extra_op)
Arch_extra.extended_op
Expr.instr
list
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>