Jasmin.Armv8a_instr_decltype __ = Obj.tmodule E : sig ... endval has_shift : armv8a_options -> Shift_kind.shift_kind optionval opts_size : armv8a_options -> Wsize.wsizetype is_armv8a_options = | Coq_is_Build_armv8a_options of Shift_kind.shift_kind option
* (Shift_kind.shift_kind, Shift_kind.is_shift_kind) Std.Prelude.is_option
* Wsize.wsize
* Wsize.is_wsizeval is_armv8a_options_rect :
(Shift_kind.shift_kind option ->
(Shift_kind.shift_kind, Shift_kind.is_shift_kind) Std.Prelude.is_option ->
Wsize.wsize ->
Wsize.is_wsize ->
'a1) ->
armv8a_options ->
is_armv8a_options ->
'a1val is_armv8a_options_rec :
(Shift_kind.shift_kind option ->
(Shift_kind.shift_kind, Shift_kind.is_shift_kind) Std.Prelude.is_option ->
Wsize.wsize ->
Wsize.is_wsize ->
'a1) ->
armv8a_options ->
is_armv8a_options ->
'a1val armv8a_options_tag : armv8a_options -> BinNums.positiveval is_armv8a_options_inhab : armv8a_options -> is_armv8a_optionsval is_armv8a_options_functor :
armv8a_options ->
is_armv8a_options ->
is_armv8a_optionstype box_armv8a_options_Build_armv8a_options = {coq_Box_armv8a_options_Build_armv8a_options_0 : Shift_kind.shift_kind option;coq_Box_armv8a_options_Build_armv8a_options_1 : Wsize.wsize;}val coq_Box_armv8a_options_Build_armv8a_options_0 :
box_armv8a_options_Build_armv8a_options ->
Shift_kind.shift_kind optionval coq_Box_armv8a_options_Build_armv8a_options_1 :
box_armv8a_options_Build_armv8a_options ->
Wsize.wsizetype armv8a_options_fields_t = box_armv8a_options_Build_armv8a_optionsval armv8a_options_fields : armv8a_options -> armv8a_options_fields_tval armv8a_options_construct :
BinNums.positive ->
box_armv8a_options_Build_armv8a_options ->
armv8a_options optionval armv8a_options_induction :
(Shift_kind.shift_kind option ->
(Shift_kind.shift_kind, Shift_kind.is_shift_kind) Std.Prelude.is_option ->
Wsize.wsize ->
Wsize.is_wsize ->
'a1) ->
armv8a_options ->
is_armv8a_options ->
'a1val armv8a_options_eqb_fields :
(armv8a_options -> armv8a_options -> bool) ->
BinNums.positive ->
box_armv8a_options_Build_armv8a_options ->
box_armv8a_options_Build_armv8a_options ->
boolval armv8a_options_eqb : armv8a_options -> armv8a_options -> boolval armv8a_options_eqb_OK :
armv8a_options ->
armv8a_options ->
Datatypes.reflectval armv8a_options_eqb_OK_sumbool : armv8a_options -> armv8a_options -> boolval eqTC_armv8a_options : armv8a_options Utils0.eqTypeCval armv8a_options_eqType : Eqtype.Equality.coq_typeval default_opts : armv8a_optionsval opts_at : Wsize.wsize -> armv8a_optionsval armv8a_mnemonic_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 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
armv8a_mnemonic ->
'a1val armv8a_mnemonic_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 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
armv8a_mnemonic ->
'a1type is_armv8a_mnemonic = | Coq_is_ADD| Coq_is_ADDS| Coq_is_ADC| Coq_is_ADCS| Coq_is_SUB| Coq_is_SUBS| Coq_is_NEG| Coq_is_MUL| Coq_is_MADD| Coq_is_MSUB| Coq_is_SDIV| Coq_is_UDIV| Coq_is_AND| Coq_is_ORR| Coq_is_EOR| Coq_is_MVN| Coq_is_ASR| Coq_is_LSL| Coq_is_LSR| Coq_is_ROR| Coq_is_MOV| Coq_is_MOVN| Coq_is_MOVZ| Coq_is_MOVK| Coq_is_ADR| Coq_is_SXTB| Coq_is_SXTH| Coq_is_SXTW| Coq_is_UXTB| Coq_is_UXTH| Coq_is_UXTW| Coq_is_CMP| Coq_is_TST| Coq_is_CSEL| Coq_is_LDR| Coq_is_LDRB| Coq_is_LDRH| Coq_is_LDRSB| Coq_is_LDRSH| Coq_is_LDRSW| Coq_is_STR| Coq_is_STRB| Coq_is_STRHval is_armv8a_mnemonic_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 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
armv8a_mnemonic ->
is_armv8a_mnemonic ->
'a1val is_armv8a_mnemonic_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 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
armv8a_mnemonic ->
is_armv8a_mnemonic ->
'a1val armv8a_mnemonic_tag : armv8a_mnemonic -> BinNums.positiveval is_armv8a_mnemonic_inhab : armv8a_mnemonic -> is_armv8a_mnemonicval is_armv8a_mnemonic_functor :
armv8a_mnemonic ->
is_armv8a_mnemonic ->
is_armv8a_mnemonictype armv8a_mnemonic_fields_t = __val armv8a_mnemonic_fields : armv8a_mnemonic -> armv8a_mnemonic_fields_tval armv8a_mnemonic_construct :
BinNums.positive ->
armv8a_mnemonic_fields_t ->
armv8a_mnemonic optionval armv8a_mnemonic_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 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
armv8a_mnemonic ->
is_armv8a_mnemonic ->
'a1val armv8a_mnemonic_eqb_fields :
(armv8a_mnemonic -> armv8a_mnemonic -> bool) ->
BinNums.positive ->
armv8a_mnemonic_fields_t ->
armv8a_mnemonic_fields_t ->
boolval armv8a_mnemonic_eqb : armv8a_mnemonic -> armv8a_mnemonic -> boolval armv8a_mnemonic_eqb_OK :
armv8a_mnemonic ->
armv8a_mnemonic ->
Datatypes.reflectval armv8a_mnemonic_eqb_OK_sumbool : armv8a_mnemonic -> armv8a_mnemonic -> boolval eqTC_armv8a_mnemonic : armv8a_mnemonic Utils0.eqTypeCval armv8a_mnemonic_eqType : Eqtype.Equality.coq_typeval armv8a_mnemonics : armv8a_mnemonic listval finTC_armv8a_mnemonic : armv8a_mnemonic Utils0.finTypeCval armv8a_mnemonic_finType : Fintype.Finite.coq_typeval has_shift_mnemonics : armv8a_mnemonic listval ror_shift_mnemonics : armv8a_mnemonic listval shift_allowed : armv8a_mnemonic -> Shift_kind.shift_kind -> boolval sized_mnemonics : armv8a_mnemonic listval wsize_uload_mn : (Wsize.wsize * armv8a_mnemonic) listval uload_mn_of_wsize : Wsize.wsize -> armv8a_mnemonic optionval wsize_sload_mn : (Wsize.wsize * armv8a_mnemonic) listval sload_mn_of_wsize : Wsize.wsize -> armv8a_mnemonic optionval wsize_of_sload_mn : armv8a_mnemonic -> Wsize.wsize optionval wsize_of_narrow_load_mn : armv8a_mnemonic -> Wsize.wsize optionval wsize_store_mn : (Wsize.wsize * armv8a_mnemonic) listval store_mn_of_wsize : Wsize.wsize -> armv8a_mnemonic optionval wsize_of_narrow_store_mn : armv8a_mnemonic -> Wsize.wsize optionval string_of_armv8a_mnemonic : armv8a_mnemonic -> stringval armv8a_asm_op_rect :
(armv8a_mnemonic -> armv8a_options -> 'a1) ->
armv8a_asm_op ->
'a1val armv8a_asm_op_rec :
(armv8a_mnemonic -> armv8a_options -> 'a1) ->
armv8a_asm_op ->
'a1type is_armv8a_asm_op = | Coq_is_ARMv8A_op of armv8a_mnemonic
* is_armv8a_mnemonic
* armv8a_options
* is_armv8a_optionsval is_armv8a_asm_op_rect :
(armv8a_mnemonic ->
is_armv8a_mnemonic ->
armv8a_options ->
is_armv8a_options ->
'a1) ->
armv8a_asm_op ->
is_armv8a_asm_op ->
'a1val is_armv8a_asm_op_rec :
(armv8a_mnemonic ->
is_armv8a_mnemonic ->
armv8a_options ->
is_armv8a_options ->
'a1) ->
armv8a_asm_op ->
is_armv8a_asm_op ->
'a1val armv8a_asm_op_tag : armv8a_asm_op -> BinNums.positiveval is_armv8a_asm_op_inhab : armv8a_asm_op -> is_armv8a_asm_opval is_armv8a_asm_op_functor :
armv8a_asm_op ->
is_armv8a_asm_op ->
is_armv8a_asm_optype box_armv8a_asm_op_ARMv8A_op = {coq_Box_armv8a_asm_op_ARMv8A_op_0 : armv8a_mnemonic;coq_Box_armv8a_asm_op_ARMv8A_op_1 : armv8a_options;}val coq_Box_armv8a_asm_op_ARMv8A_op_0 :
box_armv8a_asm_op_ARMv8A_op ->
armv8a_mnemonicval coq_Box_armv8a_asm_op_ARMv8A_op_1 :
box_armv8a_asm_op_ARMv8A_op ->
armv8a_optionstype armv8a_asm_op_fields_t = box_armv8a_asm_op_ARMv8A_opval armv8a_asm_op_fields : armv8a_asm_op -> armv8a_asm_op_fields_tval armv8a_asm_op_construct :
BinNums.positive ->
box_armv8a_asm_op_ARMv8A_op ->
armv8a_asm_op optionval armv8a_asm_op_induction :
(armv8a_mnemonic ->
is_armv8a_mnemonic ->
armv8a_options ->
is_armv8a_options ->
'a1) ->
armv8a_asm_op ->
is_armv8a_asm_op ->
'a1val armv8a_asm_op_eqb_fields :
(armv8a_asm_op -> armv8a_asm_op -> bool) ->
BinNums.positive ->
box_armv8a_asm_op_ARMv8A_op ->
box_armv8a_asm_op_ARMv8A_op ->
boolval armv8a_asm_op_eqb : armv8a_asm_op -> armv8a_asm_op -> boolval armv8a_asm_op_eqb_OK : armv8a_asm_op -> armv8a_asm_op -> Datatypes.reflectval armv8a_asm_op_eqb_OK_sumbool : armv8a_asm_op -> armv8a_asm_op -> boolval eqTC_armv8a_asm_op : armv8a_asm_op Utils0.eqTypeCval armv8a_asm_op_eqType : Eqtype.Equality.coq_typeval ad_nzcv :
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.arg_desc
listval coq_NF_of_word : Wsize.wsize -> Word0.word -> boolval coq_ZF_of_word : Wsize.wsize -> Word0.word -> boolval nzcv_of_aluop :
Wsize.wsize ->
Word0.word ->
BinNums.coq_Z ->
BinNums.coq_Z ->
Sem_type.sem_tupleval nzcv_of_logop : Wsize.wsize -> Word0.word -> Sem_type.sem_tupleval nzcv_w_of_aluop :
Wsize.wsize ->
Word0.word ->
BinNums.coq_Z ->
BinNums.coq_Z ->
Utils0.ltupleval nzcv_w_of_logop : Wsize.wsize -> Word0.word -> Utils0.ltupleval mk_semi1_shifted :
Wsize.wsize ->
Shift_kind.shift_kind ->
'a1 Utils0.exec Sem_type.sem_prod ->
'a1 Utils0.exec Sem_type.sem_prodval mk_semi2_2_shifted :
Type.ltype ->
Wsize.wsize ->
Shift_kind.shift_kind ->
'a1 Utils0.exec Sem_type.sem_prod ->
'a1 Utils0.exec Sem_type.sem_prodval args_kinds_no_imm :
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.args_kinds ->
boolval mk_shifted :
Wsize.wsize ->
Shift_kind.shift_kind ->
armv8a_mnemonic ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_t ->
Sem_type.sem_tuple Utils0.exec Sem_type.sem_prod ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval pp_armv8a_op_szs :
armv8a_mnemonic ->
Wsize.wsize list ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.asm_arg
list ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.pp_asm_opval mk_arith_instr :
armv8a_options ->
armv8a_mnemonic ->
Armv8a_decl.armv8a_caimm_cond option ->
(Word0.word -> Word0.word -> Sem_type.sem_tuple) ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval mk_ariths_instr :
armv8a_options ->
armv8a_mnemonic ->
Armv8a_decl.armv8a_caimm_cond option ->
(Word0.word -> Word0.word -> Sem_type.sem_tuple) ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_ADD_semi :
Wsize.wsize ->
Word0.word ->
Word0.word ->
Sem_type.sem_tupleval armv8a_ADD_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_ADDS_semi :
Wsize.wsize ->
Word0.word ->
Word0.word ->
Sem_type.sem_tupleval armv8a_ADDS_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_SUB_semi :
Wsize.wsize ->
Word0.word ->
Word0.word ->
Sem_type.sem_tupleval armv8a_SUB_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_SUBS_semi :
Wsize.wsize ->
Word0.word ->
Word0.word ->
Sem_type.sem_tupleval armv8a_SUBS_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval mk_carry_instr :
armv8a_options ->
armv8a_mnemonic ->
(Word0.word -> Word0.word -> bool -> Sem_type.sem_tuple) ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval mk_carrys_instr :
armv8a_options ->
armv8a_mnemonic ->
(Word0.word -> Word0.word -> bool -> Sem_type.sem_tuple) ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_ADC_semi :
Wsize.wsize ->
Word0.word ->
Word0.word ->
bool ->
Sem_type.sem_tupleval armv8a_ADC_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_ADCS_semi :
Wsize.wsize ->
Word0.word ->
Word0.word ->
bool ->
Sem_type.sem_tupleval armv8a_ADCS_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_NEG_semi : Wsize.wsize -> Word0.word -> Sem_type.sem_tupleval armv8a_NEG_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval mk_rrr_instr :
armv8a_options ->
armv8a_mnemonic ->
Sopn.doit_t ->
(Word0.word -> Word0.word -> Sem_type.sem_tuple) ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_MUL_semi :
Wsize.wsize ->
Word0.word ->
Word0.word ->
Sem_type.sem_tupleval armv8a_MUL_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_SDIV_semi :
Wsize.wsize ->
Word0.word ->
Word0.word ->
Sem_type.sem_tupleval armv8a_SDIV_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_UDIV_semi :
Wsize.wsize ->
Word0.word ->
Word0.word ->
Sem_type.sem_tupleval armv8a_UDIV_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval mk_madd_instr :
armv8a_options ->
armv8a_mnemonic ->
(Word0.word -> Word0.word -> Word0.word -> Sem_type.sem_tuple) ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_MADD_semi :
Wsize.wsize ->
Word0.word ->
Word0.word ->
Word0.word ->
Sem_type.sem_tupleval armv8a_MADD_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_MSUB_semi :
Wsize.wsize ->
Word0.word ->
Word0.word ->
Word0.word ->
Sem_type.sem_tupleval armv8a_MSUB_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_bitwise_semi :
Wsize.wsize ->
(Word0.word -> Word0.word) ->
(Word0.word -> Word0.word) ->
(Word0.word -> Word0.word -> Word0.word) ->
Word0.word ->
Word0.word ->
Sem_type.sem_tupleval armv8a_AND_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_ORR_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_EOR_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_MVN_semi : Wsize.wsize -> Word0.word -> Sem_type.sem_tupleval armv8a_MVN_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_shift_semi :
Wsize.wsize ->
(Wsize.wsize -> Word0.word -> BinNums.coq_Z -> Word0.word) ->
Word0.word ->
Word0.word ->
Sem_type.sem_tupleval mk_shift_instr :
armv8a_options ->
armv8a_mnemonic ->
(Wsize.wsize -> Word0.word -> BinNums.coq_Z -> Word0.word) ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_ASR_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_LSL_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_LSR_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_ROR_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_MOV_semi : Wsize.wsize -> Word0.word -> Sem_type.sem_tupleval armv8a_MOV_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval mk_movw_instr :
armv8a_options ->
armv8a_mnemonic ->
(Word0.word -> Word0.word -> Sem_type.sem_tuple) ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_MOVZ_semi :
Wsize.wsize ->
Word0.word ->
Word0.word ->
Sem_type.sem_tupleval armv8a_MOVZ_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_MOVN_semi :
Wsize.wsize ->
Word0.word ->
Word0.word ->
Sem_type.sem_tupleval armv8a_MOVN_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_MOVK_semi :
Wsize.wsize ->
Word0.word ->
Word0.word ->
Word0.word ->
Sem_type.sem_tupleval armv8a_MOVK_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_extend_semi :
Wsize.wsize ->
bool ->
Wsize.wsize ->
Word0.word ->
Word0.wordval mk_extend_instr :
armv8a_options ->
armv8a_mnemonic ->
Wsize.wsize ->
bool ->
bool ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_ADR_semi : Word0.word -> Sem_type.sem_tupleval armv8a_ADR_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_SXTB_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_SXTH_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_SXTW_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_UXTB_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_UXTH_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_UXTW_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval mk_cmp_instr :
armv8a_options ->
armv8a_mnemonic ->
Armv8a_decl.armv8a_caimm_cond option ->
(Word0.word -> Word0.word -> Sem_type.sem_tuple) ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_CMP_semi :
Wsize.wsize ->
Word0.word ->
Word0.word ->
Sem_type.sem_tupleval armv8a_CMP_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_TST_semi :
Wsize.wsize ->
Word0.word ->
Word0.word ->
Sem_type.sem_tupleval armv8a_TST_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval mk_csel_instr :
armv8a_options ->
armv8a_mnemonic ->
(Word0.word -> Word0.word -> bool -> Sem_type.sem_tuple) ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_CSEL_semi :
Wsize.wsize ->
Word0.word ->
Word0.word ->
bool ->
Sem_type.sem_tupleval armv8a_CSEL_instr :
armv8a_options ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_load_instr :
armv8a_options ->
armv8a_mnemonic ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_store_instr :
armv8a_options ->
armv8a_mnemonic ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_instr_desc :
armv8a_asm_op ->
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt)
Arch_decl.instr_desc_tval armv8a_prim_sized : armv8a_mnemonic -> armv8a_asm_op Sopn.prim_constructorval armv8a_prim_string : (string * armv8a_asm_op Sopn.prim_constructor) listval armv8a_op_decl :
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
armv8a_asm_op)
Arch_decl.asm_op_decltype armv8a_prog =
(Armv8a_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arm_common.rflag,
Arm_common.condt,
armv8a_asm_op)
Arch_decl.asm_prog