package jasmin
Module Jasmin.Armv8a_decl
type __ = Obj.tval armv8a_reg_size : Wsize.wsizeval armv8a_xreg_size : Wsize.wsizeval register_rect :
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
register ->
'a1val register_rec :
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
register ->
'a1type is_register = | Coq_is_R0| Coq_is_R1| Coq_is_R2| Coq_is_R3| Coq_is_R4| Coq_is_R5| Coq_is_R6| Coq_is_R7| Coq_is_R8| Coq_is_R9| Coq_is_R10| Coq_is_R11| Coq_is_R12| Coq_is_R13| Coq_is_R14| Coq_is_R15| Coq_is_R16| Coq_is_R17| Coq_is_R19| Coq_is_R20| Coq_is_R21| Coq_is_R22| Coq_is_R23| Coq_is_R24| Coq_is_R25| Coq_is_R26| Coq_is_R27| Coq_is_R28| Coq_is_R29| Coq_is_R30| Coq_is_RSP
val is_register_rect :
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
register ->
is_register ->
'a1val is_register_rec :
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
register ->
is_register ->
'a1val register_tag : register -> BinNums.positiveval is_register_inhab : register -> is_registerval is_register_functor : register -> is_register -> is_registertype register_fields_t = __val register_fields : register -> register_fields_tval register_construct :
BinNums.positive ->
register_fields_t ->
register optionval register_induction :
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
register ->
is_register ->
'a1val register_eqb_fields :
(register -> register -> bool) ->
BinNums.positive ->
register_fields_t ->
register_fields_t ->
boolval register_eqb_OK : register -> register -> Datatypes.reflectval eqTC_register : register Utils0.eqTypeCval armv8a_register_eqType : Eqtype.Equality.coq_typeval registers : register listval finTC_register : register Utils0.finTypeCval register_finType : Fintype.Finite.coq_typeval register_to_string : register -> stringval reg_toS : register Arch_decl.coq_ToStringval eqTC_shift_kind : Shift_kind.shift_kind Utils0.eqTypeCval shift_kind_eqType : Eqtype.Equality.coq_typeval shift_kinds : Shift_kind.shift_kind listval string_of_shift_kind : Shift_kind.shift_kind -> stringval check_shift_amount : Wsize.wsize -> BinNums.coq_Z -> boolval shift_op :
Shift_kind.shift_kind ->
Wsize.wsize ->
Word0.word ->
BinNums.coq_Z ->
Word0.wordval shift_of_sop2 :
Wsize.wsize ->
Operators.sop2 ->
Shift_kind.shift_kind optionval is_arith_imm : BinNums.coq_Z -> boolval z_rotr : BinNums.coq_Z -> BinNums.coq_Z -> BinNums.coq_Z -> BinNums.coq_Zval is_ones_run : BinNums.coq_Z -> BinNums.coq_Z -> boolval is_bitmask_imm : Wsize.wsize -> BinNums.coq_Z -> boolval is_wide_imm : Wsize.wsize -> BinNums.coq_Z -> boolval is_mov_imm : Wsize.wsize -> BinNums.coq_Z -> booltype armv8a_caimm_cond = | CAimmC_armv8a_shift_amount of Wsize.wsize| CAimmC_armv8a_halfword_shift of Wsize.wsize| CAimmC_armv8a_arith_imm| CAimmC_armv8a_bitmask_imm| CAimmC_armv8a_mov_imm
val armv8a_caimm_cond_rect :
(Wsize.wsize -> 'a1) ->
(Wsize.wsize -> 'a1) ->
'a1 ->
'a1 ->
'a1 ->
armv8a_caimm_cond ->
'a1val armv8a_caimm_cond_rec :
(Wsize.wsize -> 'a1) ->
(Wsize.wsize -> 'a1) ->
'a1 ->
'a1 ->
'a1 ->
armv8a_caimm_cond ->
'a1type is_armv8a_caimm_cond = | Coq_is_CAimmC_armv8a_shift_amount of Wsize.wsize * Wsize.is_wsize| Coq_is_CAimmC_armv8a_halfword_shift of Wsize.wsize * Wsize.is_wsize| Coq_is_CAimmC_armv8a_arith_imm| Coq_is_CAimmC_armv8a_bitmask_imm| Coq_is_CAimmC_armv8a_mov_imm
val is_armv8a_caimm_cond_rect :
(Wsize.wsize -> Wsize.is_wsize -> 'a1) ->
(Wsize.wsize -> Wsize.is_wsize -> 'a1) ->
'a1 ->
'a1 ->
'a1 ->
armv8a_caimm_cond ->
is_armv8a_caimm_cond ->
'a1val is_armv8a_caimm_cond_rec :
(Wsize.wsize -> Wsize.is_wsize -> 'a1) ->
(Wsize.wsize -> Wsize.is_wsize -> 'a1) ->
'a1 ->
'a1 ->
'a1 ->
armv8a_caimm_cond ->
is_armv8a_caimm_cond ->
'a1val armv8a_caimm_cond_tag : armv8a_caimm_cond -> BinNums.positiveval is_armv8a_caimm_cond_inhab : armv8a_caimm_cond -> is_armv8a_caimm_condval is_armv8a_caimm_cond_functor :
armv8a_caimm_cond ->
is_armv8a_caimm_cond ->
is_armv8a_caimm_condtype box_armv8a_caimm_cond_CAimmC_armv8a_shift_amount = Wsize.wsizeval coq_Box_armv8a_caimm_cond_CAimmC_armv8a_shift_amount_0 :
box_armv8a_caimm_cond_CAimmC_armv8a_shift_amount ->
Wsize.wsizetype armv8a_caimm_cond_fields_t = __val armv8a_caimm_cond_fields : armv8a_caimm_cond -> armv8a_caimm_cond_fields_tval armv8a_caimm_cond_construct :
BinNums.positive ->
armv8a_caimm_cond_fields_t ->
armv8a_caimm_cond optionval armv8a_caimm_cond_induction :
(Wsize.wsize -> Wsize.is_wsize -> 'a1) ->
(Wsize.wsize -> Wsize.is_wsize -> 'a1) ->
'a1 ->
'a1 ->
'a1 ->
armv8a_caimm_cond ->
is_armv8a_caimm_cond ->
'a1val armv8a_caimm_cond_eqb_fields :
(armv8a_caimm_cond -> armv8a_caimm_cond -> bool) ->
BinNums.positive ->
armv8a_caimm_cond_fields_t ->
armv8a_caimm_cond_fields_t ->
boolval armv8a_caimm_cond_eqb : armv8a_caimm_cond -> armv8a_caimm_cond -> boolval armv8a_caimm_cond_eqb_OK :
armv8a_caimm_cond ->
armv8a_caimm_cond ->
Datatypes.reflectval armv8a_caimm_cond_eqb_OK_sumbool :
armv8a_caimm_cond ->
armv8a_caimm_cond ->
boolval eqTC_armv8a_caimm_cond : armv8a_caimm_cond Utils0.eqTypeCval armv8a_check_CAimm : armv8a_caimm_cond -> Wsize.wsize -> Word0.word -> boolval armv8a_caimm_cond_pp : armv8a_caimm_cond -> stringval armv8a_decl :
(register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.arch_declval armv8a_call_conv :
(register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.calling_conventionval armv8a_internal_call_conv :
(register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.internal_calling_convention