jon.recoil.org

Module Ast.Reg

type 'a t = private {
  1. reg_name : 'a Reg_name.t;
  2. index : int;
}
val reg_x : int -> [ `GP of [ `X ] ] t
val reg_w : int -> [ `GP of [ `W ] ] t
val reg_d : int -> [ `Neon of [ `Scalar of [ `D ] ] ] t
val reg_s : int -> [ `Neon of [ `Scalar of [ `S ] ] ] t
val reg_q : int -> [ `Neon of [ `Scalar of [ `Q ] ] ] t
val reg_v2d : int -> [ `Neon of [ `Vector of [ `V2D ] * [ `D ] ] ] t
val reg_v16b : int -> [ `Neon of [ `Vector of [ `V16B ] * [ `B ] ] ] t
val reg_v8b : int -> [ `Neon of [ `Vector of [ `V8B ] * [ `B ] ] ] t
val reg_b : int -> [ `Neon of [ `Scalar of [ `B ] ] ] t
val sp : [ `GP of [ `SP ] ] t
val lr : [ `GP of [ `LR ] ] t
val fp : [ `GP of [ `FP ] ] t
val xzr : [ `GP of [ `XZR ] ] t
val wzr : [ `GP of [ `WZR ] ] t
val name : _ t -> string
val gp_encoding : [ `GP of _ ] t -> int
val gp_sf : [ `GP of _ ] t -> int