Load_store.Bigstring_Int16x8By default, the backing array of a bigstring is allocated by `malloc`, so is always 16-byte aligned. Therefore, it is valid to use aligned-load/store instructions at 16-byte intervals in the bigstring.
val unaligned_get :
(char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t @ local read ->
(byte:int ->
int16x8) @ local @@ portableLoad 16 bytes from a bigstring at an arbitrary byte offset.
val aligned_get :
(char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t @ local read ->
(byte:int ->
int16x8) @ local @@ portableLoad 16 bytes from a bigstring at a 16-aligned byte offset.
val unsafe_unaligned_get :
(char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t @ local read ->
(byte:int ->
int16x8) @ local @@ portableLoad 16 bytes from a bigstring at an arbitrary byte offset. Does not check bounds.
val unsafe_aligned_get :
(char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t @ local read ->
(byte:int ->
int16x8) @ local @@ portableLoad 16 bytes from a bigstring at a 16-aligned byte offset. Does not check bounds or alignment.
val unaligned_set :
(char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t @ local ->
(byte:int ->
(int16x8 ->
unit) @ local) @ local @@ portableWrite 16 bytes to a bigstring at an arbitrary byte offset.
val aligned_set :
(char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t @ local ->
(byte:int ->
(int16x8 ->
unit) @ local) @ local @@ portableWrite 16 bytes to a bigstring at a 16-aligned byte offset.
val unsafe_unaligned_set :
(char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t @ local ->
(byte:int ->
(int16x8 ->
unit) @ local) @ local @@ portableWrite 16 bytes to a bigstring at an arbitrary byte offset. Does not check bounds.
val unsafe_aligned_set :
(char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t @ local ->
(byte:int ->
(int16x8 ->
unit) @ local) @ local @@ portableWrite 16 bytes to a bigstring at a 16-aligned byte offset. Does not check bounds or alignment.
module Int32_u : sig ... endmodule Int64_u : sig ... endmodule Nativeint_u : sig ... end