Ocaml_simd_sse.Float32x4val box : t -> float32x4 @@ portableval unbox : float32x4 @ local -> t @@ portableval zero : unit -> t @@ portableEquivalent to const1 #0.0s.
val one : unit -> t @@ portableEquivalent to const1 #1.0s.
val set1 : float32 -> t @@ portable_mm_set1_ps Compiles to shufps.
val set : float32 -> float32 -> float32 -> float32 -> t @@ portable_mm_set_ps Compiles to 2x unpcklps,punpckl.
val const1 : float32 -> t @@ portableArgument must be a float literal. Compiles to a static vector literal. Exposed as an external so user code can compile without cross-library inlining.
val const : float32 -> float32 -> float32 -> float32 -> t @@ portableArguments must be float 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_Float32x4module String = Load_store.String_Float32x4module Bytes = Load_store.Bytes_Float32x4module Bigstring = Load_store.Bigstring_Float32x4module Float32_u_array = Load_store.Float32_u_arrayval movemask : mask -> int64 @@ portable_mm_movemask_ps
val bitmask : mask -> int32x4 @@ portableIdentity.
_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.
idx must be in 0,3. Compiles to shufps,branch,blendps.
val extract : idx:int64 -> t -> float32 @@ portableidx must be in 0,3. Compiles to branch,shufps.
val extract0 : t -> float32 @@ portableProjection. Has no runtime cost.
val splat : t -> #(float32 * float32 * float32 * float32) @@ 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_min_ps Equivalent to pointwise (x < y ? x : y). If either lane is NaN, the second lane is returned.
_mm_max_ps Equivalent to pointwise (x > y ? x : y). If either lane is NaN, the second lane is returned.
_mm_rcp_ps WARNING: result has relative error up to 1.5*2^-12, and may differ between CPU vendors.
_mm_rsqrt_ps WARNING: result has relative error up to 1.5*2^-12, and may differ between CPU vendors.
val iround_current : t -> int32x4 @@ portable_mm_cvtps_epi32
val unsafe_of_float32 : float32 -> t @@ portableIdentity; leaves upper 96 bits unspecified.
val of_float16x8_bits : float16x8 -> 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_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_int32x4 : int32x4 -> t @@ portable_mm_cvtepi32_ps
val of_float64x2 : float64x2 -> t @@ portable_mm_cvtpd_ps
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.