PintS  0.1
Portable Intrinsics for SIMD
 All Data Structures Files Functions Groups
Functions
load functions

Functions

v1d v1d_load (const double *p)
 Loads 1 double from memory into a v1d vector. More...
 
v1f v1f_load (const float *p)
 Loads 1 float from memory into a v1f vector. More...
 
v1i v1i_load (const int32_t *p)
 Loads 1 int32_t from memory into a v1i vector. More...
 
v1l v1l_load (const int64_t *p)
 Loads 1 int64_t from memory into a v1l vector. More...
 
v2d v2d_load (const double *p)
 Loads 2 double from memory into a v2d vector. More...
 
v2f v2f_load (const float *p)
 Loads 2 float from memory into a v2f vector. More...
 
v2i v2i_load (const int32_t *p)
 Loads 2 int32_t from memory into a v2i vector. More...
 
v2l v2l_load (const int64_t *p)
 Loads 2 int64_t from memory into a v2l vector. More...
 
v4d v4d_load (const double *p)
 Loads 4 double from memory into a v4d vector. More...
 
v4f v4f_load (const float *p)
 Loads 4 float from memory into a v4f vector. More...
 
v4i v4i_load (const int32_t *p)
 Loads 4 int32_t from memory into a v4i vector. More...
 
v4l v4l_load (const int64_t *p)
 Loads 4 int64_t from memory into a v4l vector. More...
 
v8d v8d_load (const double *p)
 Loads 8 double from memory into a v8d vector. More...
 
v8f v8f_load (const float *p)
 Loads 8 float from memory into a v8f vector. More...
 
v8i v8i_load (const int32_t *p)
 Loads 8 int32_t from memory into a v8i vector. More...
 
v8l v8l_load (const int64_t *p)
 Loads 8 int64_t from memory into a v8l vector. More...
 
v16f v16f_load (const float *p)
 Loads 16 float from memory into a v16f vector. More...
 
v16i v16i_load (const int32_t *p)
 Loads 16 int32_t from memory into a v16i vector. More...
 
v1d v1d_loadu (const double *p)
 Loads 1 double from memory into a v1d vector. More...
 
v1f v1f_loadu (const float *p)
 Loads 1 float from memory into a v1f vector. More...
 
v1i v1i_loadu (const int32_t *p)
 Loads 1 int32_t from memory into a v1i vector. More...
 
v1l v1l_loadu (const int64_t *p)
 Loads 1 int64_t from memory into a v1l vector. More...
 
v2d v2d_loadu (const double *p)
 Loads 2 double from memory into a v2d vector. More...
 
v2f v2f_loadu (const float *p)
 Loads 2 float from memory into a v2f vector. More...
 
v2i v2i_loadu (const int32_t *p)
 Loads 2 int32_t from memory into a v2i vector. More...
 
v2l v2l_loadu (const int64_t *p)
 Loads 2 int64_t from memory into a v2l vector. More...
 
v4d v4d_loadu (const double *p)
 Loads 4 double from memory into a v4d vector. More...
 
v4f v4f_loadu (const float *p)
 Loads 4 float from memory into a v4f vector. More...
 
v4i v4i_loadu (const int32_t *p)
 Loads 4 int32_t from memory into a v4i vector. More...
 
v4l v4l_loadu (const int64_t *p)
 Loads 4 int64_t from memory into a v4l vector. More...
 
v8d v8d_loadu (const double *p)
 Loads 8 double from memory into a v8d vector. More...
 
v8f v8f_loadu (const float *p)
 Loads 8 float from memory into a v8f vector. More...
 
v8i v8i_loadu (const int32_t *p)
 Loads 8 int32_t from memory into a v8i vector. More...
 
v8l v8l_loadu (const int64_t *p)
 Loads 8 int64_t from memory into a v8l vector. More...
 
v16f v16f_loadu (const float *p)
 Loads 16 float from memory into a v16f vector. More...
 
v16i v16i_loadu (const int32_t *p)
 Loads 16 int32_t from memory into a v16i vector. More...
 
v1d v1d_load1 (const double *p)
 Loads 1 double from memory and broadcasts it into a v1d vector. More...
 
v1f v1f_load1 (const float *p)
 Loads 1 float from memory and broadcasts it into a v1f vector. More...
 
v1i v1i_load1 (const int32_t *p)
 Loads 1 int32_t from memory and broadcasts it into a v1i vector. More...
 
v1l v1l_load1 (const int64_t *p)
 Loads 1 int64_t from memory and broadcasts it into a v1l vector. More...
 
v2d v2d_load1 (const double *p)
 Loads 1 double from memory and broadcasts it into a v2d vector. More...
 
v2f v2f_load1 (const float *p)
 Loads 1 float from memory and broadcasts it into a v2f vector. More...
 
v2i v2i_load1 (const int32_t *p)
 Loads 1 int32_t from memory and broadcasts it into a v2i vector. More...
 
v2l v2l_load1 (const int64_t *p)
 Loads 1 int64_t from memory and broadcasts it into a v2l vector. More...
 
v4d v4d_load1 (const double *p)
 Loads 1 double from memory and broadcasts it into a v4d vector. More...
 
v4f v4f_load1 (const float *p)
 Loads 1 float from memory and broadcasts it into a v4f vector. More...
 
v4i v4i_load1 (const int32_t *p)
 Loads 1 int32_t from memory and broadcasts it into a v4i vector. More...
 
v4l v4l_load1 (const int64_t *p)
 Loads 1 int64_t from memory and broadcasts it into a v4l vector. More...
 
v8d v8d_load1 (const double *p)
 Loads 1 double from memory and broadcasts it into a v8d vector. More...
 
v8f v8f_load1 (const float *p)
 Loads 1 float from memory and broadcasts it into a v8f vector. More...
 
v8i v8i_load1 (const int32_t *p)
 Loads 1 int32_t from memory and broadcasts it into a v8i vector. More...
 
v8l v8l_load1 (const int64_t *p)
 Loads 1 int64_t from memory and broadcasts it into a v8l vector. More...
 
v16f v16f_load1 (const float *p)
 Loads 1 float from memory and broadcasts it into a v16f vector. More...
 
v16i v16i_load1 (const int32_t *p)
 Loads 1 int32_t from memory and broadcasts it into a v16i vector. More...
 

Detailed Description

Function Documentation

v1d v1d_load ( const double *  p)
related

Loads 1 double (64 bits) from memory into a v1d vector. p must be aligned on a 8-bytes boundary or a general-protection exception may be generated.

Operation
dst.bits[0:63] := MEMORY.bits[p:p+63]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v1f v1f_load ( const float *  p)
related

Loads 1 float (32 bits) from memory into a v1f vector. p must be aligned on a 4-bytes boundary or a general-protection exception may be generated.

Operation
dst.bits[0:31] := MEMORY.bits[p:p+31]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v1i v1i_load ( const int32_t *  p)
related

Loads 1 int32_t (32 bits) from memory into a v1i vector. p must be aligned on a 4-bytes boundary or a general-protection exception may be generated.

Operation
dst.bits[0:31] := MEMORY.bits[p:p+31]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v1l v1l_load ( const int64_t *  p)
related

Loads 1 int64_t (64 bits) from memory into a v1l vector. p must be aligned on a 8-bytes boundary or a general-protection exception may be generated.

Operation
dst.bits[0:63] := MEMORY.bits[p:p+63]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v2d v2d_load ( const double *  p)
related

Loads 2 double (128 bits) from memory into a v2d vector. p must be aligned on a 16-bytes boundary or a general-protection exception may be generated.

Operation
dst.bits[0:127] := MEMORY.bits[p:p+127]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v2f v2f_load ( const float *  p)
related

Loads 2 float (64 bits) from memory into a v2f vector. p must be aligned on a 8-bytes boundary or a general-protection exception may be generated.

Operation
dst.bits[0:63] := MEMORY.bits[p:p+63]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v2i v2i_load ( const int32_t *  p)
related

Loads 2 int32_t (64 bits) from memory into a v2i vector. p must be aligned on a 8-bytes boundary or a general-protection exception may be generated.

Operation
dst.bits[0:63] := MEMORY.bits[p:p+63]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v2l v2l_load ( const int64_t *  p)
related

Loads 2 int64_t (128 bits) from memory into a v2l vector. p must be aligned on a 16-bytes boundary or a general-protection exception may be generated.

Operation
dst.bits[0:127] := MEMORY.bits[p:p+127]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v4d v4d_load ( const double *  p)
related

Loads 4 double (256 bits) from memory into a v4d vector. p must be aligned on a 32-bytes boundary or a general-protection exception may be generated.

Operation
dst.bits[0:255] := MEMORY.bits[p:p+255]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v4f v4f_load ( const float *  p)
related

Loads 4 float (128 bits) from memory into a v4f vector. p must be aligned on a 16-bytes boundary or a general-protection exception may be generated.

Operation
dst.bits[0:127] := MEMORY.bits[p:p+127]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v4i v4i_load ( const int32_t *  p)
related

Loads 4 int32_t (128 bits) from memory into a v4i vector. p must be aligned on a 16-bytes boundary or a general-protection exception may be generated.

Operation
dst.bits[0:127] := MEMORY.bits[p:p+127]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v4l v4l_load ( const int64_t *  p)
related

Loads 4 int64_t (256 bits) from memory into a v4l vector. p must be aligned on a 32-bytes boundary or a general-protection exception may be generated.

Operation
dst.bits[0:255] := MEMORY.bits[p:p+255]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v8d v8d_load ( const double *  p)
related

Loads 8 double (512 bits) from memory into a v8d vector. p must be aligned on a 64-bytes boundary or a general-protection exception may be generated.

Operation
dst.bits[0:511] := MEMORY.bits[p:p+511]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v8f v8f_load ( const float *  p)
related

Loads 8 float (256 bits) from memory into a v8f vector. p must be aligned on a 32-bytes boundary or a general-protection exception may be generated.

Operation
dst.bits[0:255] := MEMORY.bits[p:p+255]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v8i v8i_load ( const int32_t *  p)
related

Loads 8 int32_t (256 bits) from memory into a v8i vector. p must be aligned on a 32-bytes boundary or a general-protection exception may be generated.

Operation
dst.bits[0:255] := MEMORY.bits[p:p+255]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v8l v8l_load ( const int64_t *  p)
related

Loads 8 int64_t (512 bits) from memory into a v8l vector. p must be aligned on a 64-bytes boundary or a general-protection exception may be generated.

Operation
dst.bits[0:511] := MEMORY.bits[p:p+511]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v16f v16f_load ( const float *  p)
related

Loads 16 float (512 bits) from memory into a v16f vector. p must be aligned on a 64-bytes boundary or a general-protection exception may be generated.

Operation
dst.bits[0:511] := MEMORY.bits[p:p+511]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v16i v16i_load ( const int32_t *  p)
related

Loads 16 int32_t (512 bits) from memory into a v16i vector. p must be aligned on a 64-bytes boundary or a general-protection exception may be generated.

Operation
dst.bits[0:511] := MEMORY.bits[p:p+511]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v1d v1d_loadu ( const double *  p)
related

Loads 1 double (64 bits) from memory into a v1d vector. There is no alignment requirement.

Operation
dst.bits[0:63] := MEMORY.bits[p:p+63]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v1f v1f_loadu ( const float *  p)
related

Loads 1 float (32 bits) from memory into a v1f vector. There is no alignment requirement.

Operation
dst.bits[0:31] := MEMORY.bits[p:p+31]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v1i v1i_loadu ( const int32_t *  p)
related

Loads 1 int32_t (32 bits) from memory into a v1i vector. There is no alignment requirement.

Operation
dst.bits[0:31] := MEMORY.bits[p:p+31]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v1l v1l_loadu ( const int64_t *  p)
related

Loads 1 int64_t (64 bits) from memory into a v1l vector. There is no alignment requirement.

Operation
dst.bits[0:63] := MEMORY.bits[p:p+63]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v2d v2d_loadu ( const double *  p)
related

Loads 2 double (128 bits) from memory into a v2d vector. There is no alignment requirement.

Operation
dst.bits[0:127] := MEMORY.bits[p:p+127]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v2f v2f_loadu ( const float *  p)
related

Loads 2 float (64 bits) from memory into a v2f vector. There is no alignment requirement.

Operation
dst.bits[0:63] := MEMORY.bits[p:p+63]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v2i v2i_loadu ( const int32_t *  p)
related

Loads 2 int32_t (64 bits) from memory into a v2i vector. There is no alignment requirement.

Operation
dst.bits[0:63] := MEMORY.bits[p:p+63]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v2l v2l_loadu ( const int64_t *  p)
related

Loads 2 int64_t (128 bits) from memory into a v2l vector. There is no alignment requirement.

Operation
dst.bits[0:127] := MEMORY.bits[p:p+127]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v4d v4d_loadu ( const double *  p)
related

Loads 4 double (256 bits) from memory into a v4d vector. There is no alignment requirement.

Operation
dst.bits[0:255] := MEMORY.bits[p:p+255]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v4f v4f_loadu ( const float *  p)
related

Loads 4 float (128 bits) from memory into a v4f vector. There is no alignment requirement.

Operation
dst.bits[0:127] := MEMORY.bits[p:p+127]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v4i v4i_loadu ( const int32_t *  p)
related

Loads 4 int32_t (128 bits) from memory into a v4i vector. There is no alignment requirement.

Operation
dst.bits[0:127] := MEMORY.bits[p:p+127]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v4l v4l_loadu ( const int64_t *  p)
related

Loads 4 int64_t (256 bits) from memory into a v4l vector. There is no alignment requirement.

Operation
dst.bits[0:255] := MEMORY.bits[p:p+255]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v8d v8d_loadu ( const double *  p)
related

Loads 8 double (512 bits) from memory into a v8d vector. There is no alignment requirement.

Operation
dst.bits[0:511] := MEMORY.bits[p:p+511]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v8f v8f_loadu ( const float *  p)
related

Loads 8 float (256 bits) from memory into a v8f vector. There is no alignment requirement.

Operation
dst.bits[0:255] := MEMORY.bits[p:p+255]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v8i v8i_loadu ( const int32_t *  p)
related

Loads 8 int32_t (256 bits) from memory into a v8i vector. There is no alignment requirement.

Operation
dst.bits[0:255] := MEMORY.bits[p:p+255]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v8l v8l_loadu ( const int64_t *  p)
related

Loads 8 int64_t (512 bits) from memory into a v8l vector. There is no alignment requirement.

Operation
dst.bits[0:511] := MEMORY.bits[p:p+511]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v16f v16f_loadu ( const float *  p)
related

Loads 16 float (512 bits) from memory into a v16f vector. There is no alignment requirement.

Operation
dst.bits[0:511] := MEMORY.bits[p:p+511]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v16i v16i_loadu ( const int32_t *  p)
related

Loads 16 int32_t (512 bits) from memory into a v16i vector. There is no alignment requirement.

Operation
dst.bits[0:511] := MEMORY.bits[p:p+511]
Parameters
pthe memory address of the data beginning
Returns
vector loaded
v1d v1d_load1 ( const double *  p)
related

Loads 1 double (64 bits) from memory and broadcasts it into a v1d vector. There is no alignment requirement.

Operation
for j from 0 to 0
i := j * 64
dst.bits[i:i+63] := MEMORY.bits[p:p+63]
endfor
Parameters
pthe memory address of the scalar double
Returns
vector loaded
v1f v1f_load1 ( const float *  p)
related

Loads 1 float (32 bits) from memory and broadcasts it into a v1f vector. There is no alignment requirement.

Operation
for j from 0 to 0
i := j * 32
dst.bits[i:i+31] := MEMORY.bits[p:p+31]
endfor
Parameters
pthe memory address of the scalar float
Returns
vector loaded
v1i v1i_load1 ( const int32_t *  p)
related

Loads 1 int32_t (32 bits) from memory and broadcasts it into a v1i vector. There is no alignment requirement.

Operation
for j from 0 to 0
i := j * 32
dst.bits[i:i+31] := MEMORY.bits[p:p+31]
endfor
Parameters
pthe memory address of the scalar int32_t
Returns
vector loaded
v1l v1l_load1 ( const int64_t *  p)
related

Loads 1 int64_t (64 bits) from memory and broadcasts it into a v1l vector. There is no alignment requirement.

Operation
for j from 0 to 0
i := j * 64
dst.bits[i:i+63] := MEMORY.bits[p:p+63]
endfor
Parameters
pthe memory address of the scalar int64_t
Returns
vector loaded
v2d v2d_load1 ( const double *  p)
related

Loads 1 double (64 bits) from memory and broadcasts it into a v2d vector. There is no alignment requirement.

Operation
for j from 0 to 1
i := j * 64
dst.bits[i:i+63] := MEMORY.bits[p:p+63]
endfor
Parameters
pthe memory address of the scalar double
Returns
vector loaded
v2f v2f_load1 ( const float *  p)
related

Loads 1 float (32 bits) from memory and broadcasts it into a v2f vector. There is no alignment requirement.

Operation
for j from 0 to 1
i := j * 32
dst.bits[i:i+31] := MEMORY.bits[p:p+31]
endfor
Parameters
pthe memory address of the scalar float
Returns
vector loaded
v2i v2i_load1 ( const int32_t *  p)
related

Loads 1 int32_t (32 bits) from memory and broadcasts it into a v2i vector. There is no alignment requirement.

Operation
for j from 0 to 1
i := j * 32
dst.bits[i:i+31] := MEMORY.bits[p:p+31]
endfor
Parameters
pthe memory address of the scalar int32_t
Returns
vector loaded
v2l v2l_load1 ( const int64_t *  p)
related

Loads 1 int64_t (64 bits) from memory and broadcasts it into a v2l vector. There is no alignment requirement.

Operation
for j from 0 to 1
i := j * 64
dst.bits[i:i+63] := MEMORY.bits[p:p+63]
endfor
Parameters
pthe memory address of the scalar int64_t
Returns
vector loaded
v4d v4d_load1 ( const double *  p)
related

Loads 1 double (64 bits) from memory and broadcasts it into a v4d vector. There is no alignment requirement.

Operation
for j from 0 to 3
i := j * 64
dst.bits[i:i+63] := MEMORY.bits[p:p+63]
endfor
Parameters
pthe memory address of the scalar double
Returns
vector loaded
v4f v4f_load1 ( const float *  p)
related

Loads 1 float (32 bits) from memory and broadcasts it into a v4f vector. There is no alignment requirement.

Operation
for j from 0 to 3
i := j * 32
dst.bits[i:i+31] := MEMORY.bits[p:p+31]
endfor
Parameters
pthe memory address of the scalar float
Returns
vector loaded
v4i v4i_load1 ( const int32_t *  p)
related

Loads 1 int32_t (32 bits) from memory and broadcasts it into a v4i vector. There is no alignment requirement.

Operation
for j from 0 to 3
i := j * 32
dst.bits[i:i+31] := MEMORY.bits[p:p+31]
endfor
Parameters
pthe memory address of the scalar int32_t
Returns
vector loaded
v4l v4l_load1 ( const int64_t *  p)
related

Loads 1 int64_t (64 bits) from memory and broadcasts it into a v4l vector. There is no alignment requirement.

Operation
for j from 0 to 3
i := j * 64
dst.bits[i:i+63] := MEMORY.bits[p:p+63]
endfor
Parameters
pthe memory address of the scalar int64_t
Returns
vector loaded
v8d v8d_load1 ( const double *  p)
related

Loads 1 double (64 bits) from memory and broadcasts it into a v8d vector. There is no alignment requirement.

Operation
for j from 0 to 7
i := j * 64
dst.bits[i:i+63] := MEMORY.bits[p:p+63]
endfor
Parameters
pthe memory address of the scalar double
Returns
vector loaded
v8f v8f_load1 ( const float *  p)
related

Loads 1 float (32 bits) from memory and broadcasts it into a v8f vector. There is no alignment requirement.

Operation
for j from 0 to 7
i := j * 32
dst.bits[i:i+31] := MEMORY.bits[p:p+31]
endfor
Parameters
pthe memory address of the scalar float
Returns
vector loaded
v8i v8i_load1 ( const int32_t *  p)
related

Loads 1 int32_t (32 bits) from memory and broadcasts it into a v8i vector. There is no alignment requirement.

Operation
for j from 0 to 7
i := j * 32
dst.bits[i:i+31] := MEMORY.bits[p:p+31]
endfor
Parameters
pthe memory address of the scalar int32_t
Returns
vector loaded
v8l v8l_load1 ( const int64_t *  p)
related

Loads 1 int64_t (64 bits) from memory and broadcasts it into a v8l vector. There is no alignment requirement.

Operation
for j from 0 to 7
i := j * 64
dst.bits[i:i+63] := MEMORY.bits[p:p+63]
endfor
Parameters
pthe memory address of the scalar int64_t
Returns
vector loaded
v16f v16f_load1 ( const float *  p)
related

Loads 1 float (32 bits) from memory and broadcasts it into a v16f vector. There is no alignment requirement.

Operation
for j from 0 to 15
i := j * 32
dst.bits[i:i+31] := MEMORY.bits[p:p+31]
endfor
Parameters
pthe memory address of the scalar float
Returns
vector loaded
v16i v16i_load1 ( const int32_t *  p)
related

Loads 1 int32_t (32 bits) from memory and broadcasts it into a v16i vector. There is no alignment requirement.

Operation
for j from 0 to 15
i := j * 32
dst.bits[i:i+31] := MEMORY.bits[p:p+31]
endfor
Parameters
pthe memory address of the scalar int32_t
Returns
vector loaded