AI Engine-ML Intrinsics User Guide  (v2023.2)
Shift element

Overview

These intrinsics allow inserting of an element into a vector by pushing in a new value at one end of the vector.

Right-most insertion (left shift)

Push new element value on right-most lane (shifting register to the left)

Parameters
vThe vector containing to be shifted
svalue to shift in.
v64int8 shiftl_elem (v64int8 v, int s)
 
v32int16 shiftl_elem (v32int16 v, int s)
 
v16int32 shiftl_elem (v16int32 v, int s)
 
v64uint8 shiftl_elem (v64uint8 v, unsigned int s)
 
v32uint16 shiftl_elem (v32uint16 v, unsigned int s)
 
v16uint32 shiftl_elem (v16uint32 v, unsigned int s)
 
v16cint16 shiftl_elem (v16cint16 v, cint16 s)
 
v8cint32 shiftl_elem (v8cint32 v, cint32_w64 s)
 
v8cint32 shiftl_elem (v8cint32 v, cint32 s)
 
v32bfloat16 shiftl_elem (v32bfloat16 v, bfloat16 s)
 
v16float shiftl_elem (v16float v, float s)
 
v8cfloat shiftl_elem (v8cfloat v, cfloat s)
 

Left-most insertion (right shift)

Push new element value on left-most lane (shifting register to the right)

Parameters
vThe vector containing to be shifted
svalue to shift in.
v64int8 shiftr_elem (v64int8 v, int s)
 
v32int16 shiftr_elem (v32int16 v, int s)
 
v16int32 shiftr_elem (v16int32 v, int s)
 
v64uint8 shiftr_elem (v64uint8 v, unsigned int s)
 
v32uint16 shiftr_elem (v32uint16 v, unsigned int s)
 
v16uint32 shiftr_elem (v16uint32 v, unsigned int s)
 
v16cint16 shiftr_elem (v16cint16 v, cint16 s)
 
v8cint32 shiftr_elem (v8cint32 v, cint32_w64 s)
 
v8cint32 shiftr_elem (v8cint32 v, cint32 s)
 
v32bfloat16 shiftr_elem (v32bfloat16 v, bfloat16 s)
 
v16float shiftr_elem (v16float v, float s)
 
v8cfloat shiftr_elem (v8cfloat v, cfloat s)
 

Function Documentation

◆ shiftl_elem() [1/12]

v16cint16 shiftl_elem ( v16cint16  v,
cint16  s 
)

◆ shiftl_elem() [2/12]

v16float shiftl_elem ( v16float  v,
float  s 
)

◆ shiftl_elem() [3/12]

v16int32 shiftl_elem ( v16int32  v,
int  s 
)

◆ shiftl_elem() [4/12]

v16uint32 shiftl_elem ( v16uint32  v,
unsigned int  s 
)

◆ shiftl_elem() [5/12]

v32bfloat16 shiftl_elem ( v32bfloat16  v,
bfloat16  s 
)

◆ shiftl_elem() [6/12]

v32int16 shiftl_elem ( v32int16  v,
int  s 
)

◆ shiftl_elem() [7/12]

v32uint16 shiftl_elem ( v32uint16  v,
unsigned int  s 
)

◆ shiftl_elem() [8/12]

v64int8 shiftl_elem ( v64int8  v,
int  s 
)

◆ shiftl_elem() [9/12]

v64uint8 shiftl_elem ( v64uint8  v,
unsigned int  s 
)

◆ shiftl_elem() [10/12]

v8cfloat shiftl_elem ( v8cfloat  v,
cfloat  s 
)

◆ shiftl_elem() [11/12]

v8cint32 shiftl_elem ( v8cint32  v,
cint32  s 
)

◆ shiftl_elem() [12/12]

v8cint32 shiftl_elem ( v8cint32  v,
cint32_w64  s 
)

◆ shiftr_elem() [1/12]

v16cint16 shiftr_elem ( v16cint16  v,
cint16  s 
)

◆ shiftr_elem() [2/12]

v16float shiftr_elem ( v16float  v,
float  s 
)

◆ shiftr_elem() [3/12]

v16int32 shiftr_elem ( v16int32  v,
int  s 
)

◆ shiftr_elem() [4/12]

v16uint32 shiftr_elem ( v16uint32  v,
unsigned int  s 
)

◆ shiftr_elem() [5/12]

v32bfloat16 shiftr_elem ( v32bfloat16  v,
bfloat16  s 
)

◆ shiftr_elem() [6/12]

v32int16 shiftr_elem ( v32int16  v,
int  s 
)

◆ shiftr_elem() [7/12]

v32uint16 shiftr_elem ( v32uint16  v,
unsigned int  s 
)

◆ shiftr_elem() [8/12]

v64int8 shiftr_elem ( v64int8  v,
int  s 
)

◆ shiftr_elem() [9/12]

v64uint8 shiftr_elem ( v64uint8  v,
unsigned int  s 
)

◆ shiftr_elem() [10/12]

v8cfloat shiftr_elem ( v8cfloat  v,
cfloat  s 
)

◆ shiftr_elem() [11/12]

v8cint32 shiftr_elem ( v8cint32  v,
cint32  s 
)

◆ shiftr_elem() [12/12]

v8cint32 shiftr_elem ( v8cint32  v,
cint32_w64  s 
)