Arm.Fields
val sole : string -> 'a list -> ('a, string) result
val guard : bool -> 'a -> (unit, 'a) result
type intrinsic = Bidir.Intrinsics.intrinsic
val pp_intrinsic :
Ppx_deriving_runtime.Format.formatter ->
intrinsic ->
Ppx_deriving_runtime.unit
val show_intrinsic : intrinsic -> Ppx_deriving_runtime.string
val intrinsic_to_yojson : intrinsic -> Yojson.Safe.t
val intrinsic_of_yojson :
Yojson.Safe.t ->
intrinsic Ppx_deriving_yojson_runtime.error_or
type field_bidir = intrinsic Bidir.Types.bidir
val pp_field_bidir :
Ppx_deriving_runtime.Format.formatter ->
field_bidir ->
Ppx_deriving_runtime.unit
val show_field_bidir : field_bidir -> Ppx_deriving_runtime.string
val field_bidir_to_yojson : field_bidir -> Yojson.Safe.t
val field_bidir_of_yojson :
Yojson.Safe.t ->
field_bidir Ppx_deriving_yojson_runtime.error_or
type fieldconv = {
encname : string;
asm_names : string list;
reg_names : string list;
field_bidir : field_bidir;
}
val extract_reg_bits : Types.AsmField.t -> (int, string) result
val encoded_in_the : Types.AsmField.t -> (string, string) result
val allones_interpretation : Types.AsmField.t -> (string option, string) result
val pp_signedness :
Ppx_deriving_runtime.Format.formatter ->
signedness ->
Ppx_deriving_runtime.unit
val show_signedness : signedness -> Ppx_deriving_runtime.string
val signed_or_unsigned :
Types.AsmField.t ->
([> `Signed | `Unsigned ], 'a) result
val in_the_range_bytes : Types.AsmField.t -> (int * int, string) result
val in_the_range_ints : Types.AsmField.t -> (int * int, string) result
val in_the_range : Types.AsmField.t -> (int * int, string) result
val defaulting_to : Types.AsmField.t -> (string option, string) result
val be_absent_when : Types.AsmField.t -> (unit, string) result
val a_multiple_of : Types.AsmField.t -> (int, string) result
val must_be_an_even_numbered : Types.AsmField.t -> (bool, string) result
val the_second_general_purpose_register :
Types.AsmField.t ->
(string, string) CCResult.t
val make_conditional :
var:string ->
value:Bidir.Types.value ->
field_bidir ->
field_bidir
val make_regnum_bidir :
wd:int ->
allones:string option ->
checks:intrinsic list ->
bitfld:string ->
asmfld:string ->
field_bidir
val prefix_regnum_bidir :
prefix:string ->
asmfld:string ->
field_bidir ->
field_bidir
val make_immediate_bidir :
signed:signedness ->
wd:int ->
lo:int ->
hi:int ->
mult:int ->
asmfld:string ->
bitfld:string ->
field_bidir
val make_one_bitfield_check :
string ->
char list ->
Bidir.Intrinsics.intrinsic Bidir.Types.bidir
val make_bitfield_checks :
CCString.t Lang.Common.StringMap.t ->
Bidir.Intrinsics.intrinsic Bidir.Types.bidir list
val make_assocs : assocs:Types.Assoc.t list -> asmfld:string -> field_bidir
val make_with_default :
asmfld:string ->
asmdefault:string option ->
field_bidir ->
field_bidir
val make_post_replacement :
asmfld:string ->
old:Bidir.Types.value ->
repl:Bidir.Types.value ->
field_bidir ->
field_bidir
val make_second_gpreg :
asmfld:string ->
basefld:string ->
Bidir.Intrinsics.intrinsic Bidir.Types.bidir
module FieldData : sig ... end
val handle_general_registers :
Types.InstEnc.t ->
Types.AsmField.t ->
((int * field_bidir) list * FieldData.t, string) result
val handle_immediate :
Types.InstEnc.t ->
Types.AsmField.t ->
((int * field_bidir) list * FieldData.t, string) result
val handle_assocs :
Types.InstEnc.t ->
Types.AsmField.t ->
((int * field_bidir) list * FieldData.t, string) result
val handle_second_gpreg :
Types.InstEnc.t ->
Types.AsmField.t ->
((int * Bidir.Intrinsics.intrinsic Bidir.Types.bidir) list * FieldData.t,
string)
CCResult.t
val handle_all_supported_cases :
Types.InstEnc.t ->
Types.AsmField.t ->
((int * field_bidir) list * FieldData.t, string list) CCResult.t
val build_field_converters :
Types.InstEnc.t ->
(intrinsic Bidir.Types.bidir, string) result