jon.recoil.org

Module Regs

type reg_class =
  1. | GPR
    (*

    64-bit integer registers. The same name is used regardless of the width of the value stored in the register.

    *)
  2. | SIMD
    (*

    128/256/512-bit SIMD registers. Different names are used when storing different sized values.

    *)
type _ phys_reg_classed =
  1. | RAX : [> `GPR ] phys_reg_classed
  2. | RBX : [> `GPR ] phys_reg_classed
  3. | RDI : [> `GPR ] phys_reg_classed
  4. | RSI : [> `GPR ] phys_reg_classed
  5. | RDX : [> `GPR ] phys_reg_classed
  6. | RCX : [> `GPR ] phys_reg_classed
  7. | R8 : [> `GPR ] phys_reg_classed
  8. | R9 : [> `GPR ] phys_reg_classed
  9. | R12 : [> `GPR ] phys_reg_classed
  10. | R13 : [> `GPR ] phys_reg_classed
  11. | R10 : [> `GPR ] phys_reg_classed
  12. | R11 : [> `GPR ] phys_reg_classed
  13. | RBP : [> `GPR ] phys_reg_classed
  14. | MM0 : [> `SIMD ] phys_reg_classed
  15. | MM1 : [> `SIMD ] phys_reg_classed
  16. | MM2 : [> `SIMD ] phys_reg_classed
  17. | MM3 : [> `SIMD ] phys_reg_classed
  18. | MM4 : [> `SIMD ] phys_reg_classed
  19. | MM5 : [> `SIMD ] phys_reg_classed
  20. | MM6 : [> `SIMD ] phys_reg_classed
  21. | MM7 : [> `SIMD ] phys_reg_classed
  22. | MM8 : [> `SIMD ] phys_reg_classed
  23. | MM9 : [> `SIMD ] phys_reg_classed
  24. | MM10 : [> `SIMD ] phys_reg_classed
  25. | MM11 : [> `SIMD ] phys_reg_classed
  26. | MM12 : [> `SIMD ] phys_reg_classed
  27. | MM13 : [> `SIMD ] phys_reg_classed
  28. | MM14 : [> `SIMD ] phys_reg_classed
  29. | MM15 : [> `SIMD ] phys_reg_classed
type phys_reg =
  1. | P : _ phys_reg_classed -> phys_reg
val phys_gpr_regs_classed : [ `GPR ] phys_reg_classed array
val phys_gpr_regs : phys_reg array
val phys_simd_regs_classed : [ `SIMD ] phys_reg_classed array
val phys_simd_regs : phys_reg array
include Regs_utils.T with type Reg_class.t = reg_class with type Phys_reg.t = phys_reg
module Reg_class : sig ... end
module Phys_reg : sig ... end
val index_in_class : Phys_reg.t -> int
val registers : Reg_class.t -> Phys_reg.t array
val available_registers : Reg_class.t -> Phys_reg.t array
val num_available_registers : Reg_class.t -> int
val register_name : Cmm.machtype_component -> Phys_reg.t -> string
val dwarf_reg_number : Cmm.machtype_component -> Phys_reg.t -> int
module Save_simd_regs : sig ... end
val gc_regs_offset : simd:Save_simd_regs.t -> Cmm.machtype_component -> Phys_reg.t -> int