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/Sopn/index.html
Module Jasmin.Sopn
type arg_constrained_register = | ACR_any| ACR_exact of Var0.Var.var| ACR_subset of Var0.Var.var list
type arg_desc = | ADImplicit of Var0.Var.var| ADExplicit of Datatypes.nat * arg_constrained_register
type instruction_desc = {str : unit -> string;tin : Type.stype list;i_in : arg_desc list;tout : Type.stype list;i_out : arg_desc list;conflicts : (arg_position * arg_position) list;semi : Sem_type.sem_tuple Utils0.exec Sem_type.sem_prod;i_valid : bool;i_safe : Wsize.safe_cond list;
}val str : instruction_desc -> unit -> stringval tin : instruction_desc -> Type.stype listval i_in : instruction_desc -> arg_desc listval tout : instruction_desc -> Type.stype listval i_out : instruction_desc -> arg_desc listval conflicts : instruction_desc -> (arg_position * arg_position) listval semi : instruction_desc -> Sem_type.sem_tuple Utils0.exec Sem_type.sem_prodval i_valid : instruction_desc -> boolval i_safe : instruction_desc -> Wsize.safe_cond listtype prim_x86_suffix = | PVp of Wsize.wsize| PVs of Wsize.signedness * Wsize.wsize| PVv of Wsize.velem * Wsize.wsize| PVsv of Wsize.signedness * Wsize.velem * Wsize.wsize| PVx of Wsize.wsize * Wsize.wsize| PVvv of Wsize.velem * Wsize.wsize * Wsize.velem * Wsize.wsize
type 'asm_op prim_constructor = | PrimX86 of prim_x86_suffix list * prim_x86_suffix -> 'asm_op option| PrimARM of bool -> bool -> (string, 'asm_op) Utils0.result
type 'asm_op asmOp = {_eqT : 'asm_op Utils0.eqTypeC;asm_op_instr : 'asm_op -> instruction_desc;prim_string : (string * 'asm_op prim_constructor) list;
}val _eqT : 'a1 asmOp -> 'a1 Utils0.eqTypeCval asm_op_instr : 'a1 asmOp -> 'a1 -> instruction_descval prim_string : 'a1 asmOp -> (string * 'a1 prim_constructor) listtype 'asm_op sopn = | Opseudo_op of Pseudo_operator.pseudo_operator| Oslh of Slh_ops.slh_op| Oasm of 'asm_op asm_op_t
val sopn_eq_axiom : 'a1 asmOp -> 'a1 sopn Eqtype.eq_axiomval coq_HB_unnamed_factory_1 :
'a1 asmOp ->
'a1 sopn Eqtype.Coq_hasDecEq.axioms_val sopn_sopn__canonical__eqtype_Equality :
'a1 asmOp ->
Eqtype.Equality.coq_typeval sopn_copy : 'a1 asmOp -> Wsize.wsize -> BinNums.positive -> 'a1 sopnval sopn_mulu : 'a1 asmOp -> Wsize.wsize -> 'a1 sopnval sopn_addcarry : 'a1 asmOp -> Wsize.wsize -> 'a1 sopnval sopn_subcarry : 'a1 asmOp -> Wsize.wsize -> 'a1 sopnval is_Oslh : 'a1 asmOp -> 'a1 sopn -> Slh_ops.slh_op optionval coq_Ocopy_instr : Wsize.wsize -> BinNums.positive -> instruction_descval coq_Onop_instr : instruction_descval coq_Omulu_instr : Wsize.wsize -> instruction_descval coq_Oaddcarry_instr : Wsize.wsize -> instruction_descval coq_Osubcarry_instr : Wsize.wsize -> instruction_descval spill_semi : Type.stype list -> Sem_type.sem_tuple Sem_type.sem_prodval coq_Ospill_instr :
Pseudo_operator.spill_op ->
Type.stype list ->
instruction_descval coq_Oswap_instr : Type.stype -> instruction_descval pseudo_op_get_instr_desc :
Pseudo_operator.pseudo_operator ->
instruction_descval se_init_sem : Wsize.coq_MSFsize -> Ssralg.GRing.ComRing.sortval se_update_sem :
Wsize.coq_MSFsize ->
bool ->
Ssralg.GRing.ComRing.sort ->
Ssralg.GRing.ComRing.sortval se_move_sem :
Wsize.coq_MSFsize ->
Ssralg.GRing.ComRing.sort ->
Ssralg.GRing.ComRing.sortval se_protect_sem :
Wsize.coq_MSFsize ->
Wsize.wsize ->
Ssralg.GRing.ComRing.sort ->
Ssralg.GRing.ComRing.sort ->
Ssralg.GRing.ComRing.sortval se_protect_ptr_sem :
Wsize.coq_MSFsize ->
BinNums.positive ->
Warray_.WArray.array ->
Ssralg.GRing.ComRing.sort ->
Warray_.WArray.arrayval se_protect_ptr_fail_sem :
Wsize.coq_MSFsize ->
BinNums.positive ->
Warray_.WArray.array ->
Ssralg.GRing.ComRing.sort ->
Warray_.WArray.array Utils0.execval coq_SLHinit_instr : Wsize.coq_MSFsize -> instruction_descval coq_SLHupdate_instr : Wsize.coq_MSFsize -> instruction_descval coq_SLHmove_instr : Wsize.coq_MSFsize -> instruction_descval coq_SLHprotect_instr : Wsize.coq_MSFsize -> Wsize.wsize -> instruction_descval coq_SLHprotect_ptr_instr :
Wsize.coq_MSFsize ->
BinNums.positive ->
instruction_descval coq_SLHprotect_ptr_fail_instr :
Wsize.coq_MSFsize ->
BinNums.positive ->
instruction_descval slh_op_instruction_desc :
Wsize.coq_MSFsize ->
Slh_ops.slh_op ->
instruction_descval get_instr_desc :
Wsize.coq_MSFsize ->
'a1 asmOp ->
'a1 sopn ->
instruction_descval string_of_sopn : Wsize.coq_MSFsize -> 'a1 asmOp -> 'a1 sopn -> stringval sopn_tin : Wsize.coq_MSFsize -> 'a1 asmOp -> 'a1 sopn -> Type.stype listval sopn_tout : Wsize.coq_MSFsize -> 'a1 asmOp -> 'a1 sopn -> Type.stype listval sopn_sem_ :
Wsize.coq_MSFsize ->
'a1 asmOp ->
'a1 sopn ->
Sem_type.sem_tuple Utils0.exec Sem_type.sem_prodval sopn_sem :
Wsize.coq_MSFsize ->
'a1 asmOp ->
'a1 sopn ->
Sem_type.sem_tuple Utils0.exec Sem_type.sem_prod Utils0.execval eqC_sopn : 'a1 asmOp -> 'a1 sopn Utils0.eqTypeCval map_prim_constructor :
('a1 -> 'a2) ->
'a1 prim_constructor ->
'a2 prim_constructorval primM : 'a1 -> 'a1 prim_constructorval primP :
Wsize.coq_PointerData ->
(Wsize.wsize -> 'a1) ->
'a1 prim_constructorval sopn_prim_string :
Wsize.coq_PointerData ->
'a1 asmOp ->
(string * 'a1 sopn prim_constructor) listval asmOp_sopn :
Wsize.coq_PointerData ->
Wsize.coq_MSFsize ->
'a1 asmOp ->
'a1 sopn asmOp sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>