Write sizeof(gentype
bytes given by n
)data
to address (p
+
(offset
* n
)). The address computed as
(p
+ (offset
* n
)) must be
8-bit aligned if gentype is char or uchar;
16-bit aligned if gentype is short, ushort,
or half; 32-bit aligned if gentype is int,
uint, or float; 64-bit aligned if gentype is
long or ulong.
The generic type gentype is used to indicate the built-in data types char, uchar, short, ushort, int, uint, long, ulong, float, or double.
The generic type name gentypen
represents n
-element vectors of gentype
elements. The suffix n
is also used in the
function names (i.e. vload
,
n
vstore
, etc.), where
n
n
= 2, 3, 4, 8, or 16.
Vector Data Load and Store Functions allow you to read and write vector types from a pointer to memory.
The suffix n
in the function names
(i.e. vloadn
, vstoren
etc.)
represent n
-element
vectors, where n
= 2, 3, 4, 8 or 16.
The results of vector data
load and store functions are undefined if the address being read from or written to is
not correctly aligned. The pointer argument p
can be a pointer to
global,
local, or
private
memory for store functions. The pointer argument
p
can be a pointer to global, local,
constant or private memory for load functions.
NOTE: The vector data load and store functions variants that take pointer arguments which point to the generic address space are also supported.
When extended by the
cl_khr_fp16 extension,
the generic type gentypen
is extended to
include half, half2, half3, half4,
half8, and half16.
When the half extension is enabled, the address computed as
(p
+ (offset
* n
)) must be
16-bit aligned.
vstore3
, and vstore_half3
write
x
, y
, z
components from a
3-component vector to address (p
+ (offset
* 3)).