Ocaml_simd_sse.Int8x16val box : t -> int8x16 @@ portableval unbox : int8x16 @ local -> t @@ portableval zero : unit -> t @@ portableEquivalent to const1 0.
val one : unit -> t @@ portableEquivalent to const1 1.
val set1 : int8 -> t @@ portable_mm_set1_epi8 Compiles to mov,pshufb
val set :
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
t @@ portable_mm_set_epi8 Compiles to 8x mov,8x pinsr,7x unpckl
val const1 : int8 -> t @@ portableArgument must be an unsigned 8-bit int literal. Compiles to a static vector literal. Exposed as an external so user code can compile without cross-library inlining.
val const :
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
int8 ->
t @@ portableArguments must be unsigned 8-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_Int8x16module String = Load_store.String_Int8x16module Bytes = Load_store.Bytes_Int8x16module Bigstring = Load_store.Bigstring_Int8x16val movemask : mask -> int64 @@ portable_mm_movemask_epi8
_mm_blendv_epi8 Only reads the sign bit of each mask lane. Selects the element from pass if the sign bit is 1, otherwise fail.
There is no static blend; use this for all blend needs.
val extract : idx:int64 -> t -> int8 @@ portableidx must be in 0,16.
val extract0 : t -> int8 @@ portableProjection. More efficient than extract ~idx:#0L.
val splat :
t ->
#(int8
* int8
* int8
* int8
* int8
* int8
* int8
* int8
* int8
* int8
* int8
* int8
* int8
* int8
* int8
* int8) @@ portableSlow, intended for debugging / printing / etc.
_mm_alignr_epi8 First argument must be an 8-bit unsigned integer literal. 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_mpsadbw_epu8 First argument must be an unsigned 3-bit integer literal. Exposed as an external so user code can compile without cross-library inlining.
_mm_maddubs_epi16
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_int16x8_bits : int16x8 -> 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_int16x8_saturating : int16x8 -> int16x8 -> t @@ portable_mm_packs_epi16
val of_int16x8_saturating_unsigned : int16x8 -> int16x8 -> t @@ portable_mm_packus_epi16 Clamps signed input to 0..0xff.
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.