Ocaml_simd_sse.Int16x8val box : t -> int16x8 @@ portableval unbox : int16x8 @ local -> t @@ portableval zero : unit -> t @@ portableEquivalent to const1 0.
val one : unit -> t @@ portableEquivalent to const1 1.
val set1 : int16 -> t @@ portable_mm_set1_epi16 Compiles to movd,pshufb.
val set :
int16 ->
int16 ->
int16 ->
int16 ->
int16 ->
int16 ->
int16 ->
int16 ->
t @@ portable_mm_set_epi16 Compiles to 4x movd,4x pinsr,3x punpcklw.
val const1 : int16 -> t @@ portableArgument must be an unsigned 16-bit int literal. Compiles to a static vector literal. Exposed as an external so user code can compile without cross-library inlining.
val const :
int16 ->
int16 ->
int16 ->
int16 ->
int16 ->
int16 ->
int16 ->
int16 ->
t @@ portableArguments must be unsigned 16-bit int literals. Compiles to a static vector literal. Exposed as an external so user code can compile without cross-library inlining.
module Raw = Load_store.Raw_Int16x8module String = Load_store.String_Int16x8module Bytes = Load_store.Bytes_Int16x8module Bigstring = Load_store.Bigstring_Int16x8val extract : idx:int64 -> t -> int16 @@ portableidx must be in 0,7.
val extract0 : t -> int16 @@ portableProjection. More efficient than extract ~idx:#0L.
val splat :
t ->
#(int16 * int16 * int16 * int16 * int16 * int16 * int16 * int16) @@ portableSlow, intended for debugging / printing / etc.
val blend : Ocaml_simd.Blend8.t -> t -> t -> t @@ portable_mm_blend_epi16 Specify blend with ppx_simd: %blend N, N, N, N, N, N, N, N, where each N is in 0,1. Exposed as an external so user code can compile without cross-library inlining.
val shuffle_upper : Ocaml_simd.Shuffle4.t -> t -> t @@ portable_mm_shufflehi_epi16 Specify shuffle with ppx_simd: %shuffle N, N, N, N, where each N is in 0,3. Exposed as an external so user code can compile without cross-library inlining.
val shuffle_lower : Ocaml_simd.Shuffle4.t -> t -> t @@ portable_mm_shufflelo_epi16 Specify shuffle with ppx_simd: %shuffle N, N, N, N, where each N is in 0,3. Exposed as an external so user code can compile without cross-library inlining.
_mm_bslli_si128 First argument must be an unsigned integer literal in 0,15. Exposed as an external so user code can compile without cross-library inlining.
_mm_bsrli_si128 First argument must be an unsigned integer literal in 0,15. Exposed as an external so user code can compile without cross-library inlining.
_mm_slli_epi16 First argument must be an unsigned integer literal in 0,15. Exposed as an external so user code can compile without cross-library inlining.
_mm_srli_epi16 First argument must be an unsigned integer literal in 0,15. Exposed as an external so user code can compile without cross-library inlining.
_mm_srai_epi16 First argument must be an unsigned integer literal in 0,15. Exposed as an external so user code can compile without cross-library inlining.
val of_float16x8_bits : float16x8 -> t @@ portableIdentity in the bit representation. Different numeric interpretation.
val of_float32x4_bits : float32x4 -> t @@ portableIdentity in the bit representation. Different numeric interpretation.
val of_float64x2_bits : float64x2 -> t @@ portableIdentity in the bit representation. Different numeric interpretation.
val of_int8x16_bits : int8x16 -> t @@ portableIdentity in the bit representation. Different numeric interpretation.
val of_int32x4_bits : int32x4 -> t @@ portableIdentity in the bit representation. Different numeric interpretation.
val of_int64x2_bits : int64x2 -> t @@ portableIdentity in the bit representation. Different numeric interpretation.
val of_int8x16 : int8x16 -> t @@ portable_mm_cvtepi8_epi16
val of_int8x16_unsigned : int8x16 -> t @@ portable_mm_cvtepu8_epi16
val of_int32x4_saturating : int32x4 -> int32x4 -> t @@ portable_mm_packs_epi32
val of_int32x4_saturating_unsigned : int32x4 -> int32x4 -> t @@ portable_mm_packus_epi32 Clamps signed input to 0..0xffff.
val to_string : t -> string @@ portableCompiles to splat, sprintf.
val of_string : string -> t @@ portableCompiles to sscanf, set. Expects a string in the output format of to_string.