Module Jasmin.Armv8a_lowering
val le_issue_sopn :
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_extra.arch_toIdent ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Sopn.sopn ->
Expr.pexpr list ->
low_exprval no_pre :
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_extra.arch_toIdent ->
low_expr ->
(((Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Expr.instr_r
list
* (Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
optionval lower_condition_pexpr :
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_extra.arch_toIdent ->
Lowering.fresh_vars ->
Expr.var_info ->
Expr.pexpr ->
(((Expr.lval list
* (Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
* Expr.pexpr)
optionval lower_condition :
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_extra.arch_toIdent ->
Lowering.fresh_vars ->
Expr.var_info ->
Expr.pexpr ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Expr.instr_r
list
* Expr.pexprval mov_imm_op :
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_extra.arch_toIdent ->
Wsize.wsize ->
Expr.pexpr ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Sopn.sopnval lower_Pif :
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_extra.arch_toIdent ->
Lowering.fresh_vars ->
Expr.var_info ->
Wsize.wsize ->
Expr.pexpr ->
Expr.pexpr ->
Expr.pexpr ->
(((Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Expr.instr_r
list
* (Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
optionval lower_pexpr :
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_extra.arch_toIdent ->
Lowering.fresh_vars ->
Expr.var_info ->
Wsize.wsize ->
Expr.pexpr ->
(((Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Expr.instr_r
list
* (Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
optionval lower_cassgn_word :
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_extra.arch_toIdent ->
Lowering.fresh_vars ->
Expr.lval ->
Wsize.wsize ->
Expr.pexpr ->
((Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Expr.instr_r
list
* ((Expr.lval list
* (Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list))
optionval lower_cassgn_bool :
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_extra.arch_toIdent ->
Lowering.fresh_vars ->
Expr.lval ->
Expr.assgn_tag ->
Expr.pexpr ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Expr.instr_r
list
optionval lower_add_carry :
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_extra.arch_toIdent ->
Expr.lval list ->
Expr.pexpr list ->
((Expr.lval list
* (Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
optionval lower_base_op :
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_extra.arch_toIdent ->
Expr.lval list ->
Armv8a_instr_decl.armv8a_asm_op ->
Expr.pexpr list ->
((Expr.lval list
* (Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
optionval lower_swap :
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_extra.arch_toIdent ->
Type.atype ->
Expr.lval list ->
Expr.pexpr list ->
((Expr.lval list
* (Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
optionval lower_pseudo_operator :
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_extra.arch_toIdent ->
Expr.lval list ->
Pseudo_operator.pseudo_operator ->
Expr.pexpr list ->
((Expr.lval list
* (Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
optionval lower_copn :
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_extra.arch_toIdent ->
Expr.lval list ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Sopn.sopn ->
Expr.pexpr list ->
((Expr.lval list
* (Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
optionval lower_i :
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_extra.arch_toIdent ->
Lowering.fresh_vars ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Expr.instr ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
Armv8a_instr_decl.armv8a_asm_op,
Armv8a_extra.armv8a_extra_op)
Arch_extra.extended_op
Expr.instr
list