Ocaml_simd_avx.Int32x4include module type of struct include Ocaml_simd_sse.Int32x4 endval box : t -> int32x4 @@ portableval unbox : int32x4 @ local -> t @@ portableval zero : unit -> t @@ portableEquivalent to const1 #0l.
val one : unit -> t @@ portableEquivalent to const1 #1l.
val set1 : int32 -> t @@ portable_mm_set1_epi32 Compiles to mov,shufps.
val set : int32 -> int32 -> int32 -> int32 -> t @@ portable_mm_set_epi32 Compiles to 4x movd,2x unpcklps,punpckl.
val const1 : int32 -> t @@ portableArgument must be a literal or an unboxing function applied to a literal. Compiles to a static vector literal. Exposed as an external so user code can compile without cross-library inlining.
val const : int32 -> int32 -> int32 -> int32 -> t @@ portableArguments must be literals or unboxing functions applied to literals. Compiles to a static vector literal. Exposed as an external so user code can compile without cross-library inlining.
module String = Ocaml_simd_sse.Int32x4.Stringmodule Bytes = Ocaml_simd_sse.Int32x4.Bytesmodule Bigstring = Ocaml_simd_sse.Int32x4.Bigstringmodule Int32_u_array = Ocaml_simd_sse.Int32x4.Int32_u_arraymodule Test = Ocaml_simd_sse.Int32x4.Testval movemask : mask -> int64 @@ portable_mm_movemask_ps
_mm_blendv_ps Only reads the sign bit of each mask lane. Selects the element from pass if the sign bit is 1, otherwise fail.
val extract : idx:int64 -> t -> int32 @@ portableidx must be in 0,3.
val extract0 : t -> int32 @@ portableProjection. More efficient than extract ~idx:#0L.
val splat : t -> #(int32 * int32 * int32 * int32) @@ portableSlow, intended for debugging / printing / etc.
val blend : Ocaml_simd.Blend4.t -> t -> t -> t @@ portable_mm_blend_ps Specify blend with ppx_simd: %blend 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 : Ocaml_simd.Shuffle4.t -> t -> t -> t @@ portable_mm_shuffle_ps 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_epi32 First argument must be an unsigned integer literal in 0,31. Exposed as an external so user code can compile without cross-library inlining.
_mm_srli_epi32 First argument must be an unsigned integer literal in 0,31. Exposed as an external so user code can compile without cross-library inlining.
_mm_srai_epi32 First argument must be an unsigned integer literal in 0,31. 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_int16x8_bits : int16x8 -> 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_float32x4 : float32x4 -> t @@ portable_mm_cvtps_epi32
val of_float32x4_trunc : float32x4 -> t @@ portable_mm_cvttps_epi32
val of_int8x16 : int8x16 -> t @@ portable_mm_cvtepi8_epi32
val of_int8x16_unsigned : int8x16 -> t @@ portable_mm_cvtepu8_epi32
val of_int16x8 : int16x8 -> t @@ portable_mm_cvtepi16_epi32
val of_int16x8_unsigned : int16x8 -> t @@ portable_mm_cvtepu16_epi32
val of_float64x2 : float64x2 -> t @@ portable_mm_cvtpd_epi32
val of_float64x2_trunc : float64x2 -> t @@ portable_mm_cvttpd_epi32
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.
module Raw : sig ... endval permute : Ocaml_simd.Permute4.t -> t -> t @@ portable_mm_permute_ps Specify permute with ppx_simd: %permute N, N, N, N, where each N is in 0,3. Exposed as an external so user code can compile without cross-library inlining.
permute [%permute 3, 2, 1, 0] x = (x.(3), x.(2), x.(1), x.(0))_mm_permutevar_ps Each entry of idx is interpreted as an integer in 0,3 by taking its bottom two bits.
permute_by x ~idx:(1, 0, 3, 2) = (x.(1), x.(0), x.(3), x.(2))val of_float64x4 : float64x4 -> t @@ portable_mm256_cvtpd_epi32
val of_float64x4_trunc : float64x4 -> t @@ portable_mm256_cvttpd_epi32
val of_int32x8 : int32x8 -> t @@ portableProjection. Truncates to lower 128 bits.