jon.recoil.org

Module Ast.Widen_mul

Witness types for widening multiply (SMULL, UMULL). Sources are narrow, dest is wide. 8B,8B->8H, 4H,4H->4S, 2S,2S->2D

type ('src_arr, 'src_w, 'dst_arr, 'dst_w) t =
  1. | V8H_V8B : ([ `V8B ], [ `B ], [ `V8H ], [ `H ]) t
  2. | V4S_V4H : ([ `V4H ], [ `H ], [ `V4S ], [ `S ]) t
  3. | V2D_V2S : ([ `V2S ], [ `S ], [ `V2D ], [ `D ]) t