Module Operation.Binary

module Int_op : sig ... end
module Shift_op : sig ... end
module Float_op : sig ... end
type 'mode t =
  1. | Integral of 'mode Integral.t * Int_op.t
  2. | Shift of 'mode Integral.t * Shift_op.t * Shift_op.Rhs.t
  3. | Floating of 'mode Floating.t * Float_op.t
  4. | Icmp of any_locality_mode Integral.t * Integer_comparison.t
  5. | Fcmp of any_locality_mode Floating.t * Float_comparison.t
  6. | Three_way_compare_int of Signedness.t * any_locality_mode Integral.t
  7. | Three_way_compare_float of any_locality_mode Floating.t

comparisons return a tagged immediate

val map : 'a t -> f:('a -> 'b) -> 'b t
val info : 'a t -> 'a info