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/src/jasmin.jasmin/riscv_arch_full.ml.html
Source file riscv_arch_full.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
open Arch_decl open Prog open Riscv_decl open Riscv_extra module type Riscv_input = sig val call_conv : (register, Arch_utils.empty, Arch_utils.empty, Arch_utils.empty, condt) calling_convention end module Riscv_core = struct type reg = register type regx = Arch_utils.empty type xreg = Arch_utils.empty type rflag = Arch_utils.empty type cond = condt type asm_op = Riscv_instr_decl.riscv_op type extra_op = Riscv_extra.riscv_extra_op type lowering_options = Riscv_lowering.lowering_options let atoI = X86_arch_full.atoI riscv_decl let asm_e = Riscv_extra.riscv_extra atoI let aparams = Riscv_params.riscv_params atoI let known_implicits = [] let alloc_stack_need_extra sz = not (Riscv_params_core.is_arith_small (Conv.cz_of_z sz)) (* FIXME RISCV: check if everything is ct *) let is_ct_asm_op (o : asm_op) = match o with | _ -> true let is_ct_asm_extra (o : extra_op) = true let is_doit_asm_op (o : asm_op) = true (* All of the extra ops compile into DIT instructions only, but this needs to be checked manually. *) let is_doit_asm_extra (o : extra_op) = true end module Riscv (Lowering_params : Riscv_input) : Arch_full.Core_arch = struct include Riscv_core include Lowering_params let lowering_opt = () let not_saved_stack = (Riscv_params.riscv_liparams atoI).lip_not_saved_stack let pp_asm = Pp_riscv.print_prog let callstyle = Arch_full.ByReg { call = Some RA; return = true } end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>