AI Engine Intrinsics User Guide (AIE) v2024.2
Loading...
Searching...
No Matches

Vector set intrinsic functions allow creating a vector where only one part is intitialized and the other parts are undefined. More...

Overview

Vector set intrinsic functions allow creating a vector where only one part is intitialized and the other parts are undefined.

Below the buffer sizes are as follows: V - 128 bit W - 256 bit X - 512 bit Y - 1024 bit

For more information see Integer Vector Types.

Note
All intrinsics require a compile time constant for the idx parameter.

wset, xset, yset

Same as update but set value of new buf and not one that exists already. For example:

wset_v(idx,val) is the same as upd_v(undef_type(),idx,val)

128-bit lane set into 256-bit vector

Set 128-bit lanes in a 256-bit vector. idx parameter must be a compile time constant.

promotion v32int8 wset_v (int, v16int8)
 Creates a new 256-bit vector with 16 elements already set using a 128-bit set.
 
promotion v32uint8 wset_v (int, v16uint8)
 Creates a new 256-bit vector with 16 elements already set using a 128-bit set.
 
promotion v16int16 wset_v (int, v8int16)
 Creates a new 256-bit vector with 8 elements already set using a 128-bit set.
 
promotion v8cint16 wset_v (int, v4cint16)
 Creates a new 256-bit vector with 4 elements already set using a 128-bit set.
 
promotion v8int32 wset_v (int, v4int32)
 Creates a new 256-bit vector with 4 elements already set using a 128-bit set.
 
promotion v4cint32 wset_v (int, v2cint32)
 Creates a new 256-bit vector with 2 elements already set using a 128-bit set.
 
promotion v8float wset_v (int, v4float)
 Creates a new 256-bit vector with 4 elements already set using a 128-bit set.
 
promotion v4cfloat wset_v (int, v2cfloat)
 Creates a new 256-bit vector with 2 elements already set using a 128-bit set.
 

128-bit lane set into 512-bit vector

Set 128-bit lanes in a 512-bit vector. idx parameter must be a compile time constant.

promotion v64int8 xset_v (int, v16int8)
 Creates a new 512-bit vector with 16 elements already set using a 128-bit set.
 
promotion v64uint8 xset_v (int, v16uint8)
 Creates a new 512-bit vector with 16 elements already set using a 128-bit set.
 
promotion v32int16 xset_v (int, v8int16)
 Creates a new 512-bit vector with 8 elements already set using a 128-bit set.
 
promotion v16cint16 xset_v (int, v4cint16)
 Creates a new 512-bit vector with 4 elements already set using a 128-bit set.
 
promotion v16int32 xset_v (int, v4int32)
 Creates a new 512-bit vector with 4 elements already set using a 128-bit set.
 
promotion v8cint32 xset_v (int, v2cint32)
 Creates a new 512-bit vector with 2 elements already set using a 128-bit set.
 
promotion v16float xset_v (int, v4float)
 Creates a new 512-bit vector with 4 elements already set using a 128-bit set.
 
promotion v8cfloat xset_v (int, v2cfloat)
 Creates a new 512-bit vector with 2 elements already set using a 128-bit set.
 

128-bit lane update into 1024-bit vector

Set 128-bit lanes in a 1024-bit vector.

promotion v128int8 yset_v (int, v16int8)
 Creates a new 1024-bit vector with 16 elements already set using a 128-bit set.
 
promotion v128uint8 yset_v (int, v16uint8)
 Creates a new 1024-bit vector with 16 elements already set using a 128-bit set.
 
promotion v64int16 yset_v (int, v8int16)
 Creates a new 1024-bit vector with 8 elements already set using a 128-bit set.
 
promotion v32cint16 yset_v (int, v4cint16)
 Creates a new 1024-bit vector with 4 elements already set using a 128-bit set.
 
promotion v32int32 yset_v (int, v4int32)
 Creates a new 1024-bit vector with 4 elements already set using a 128-bit set.
 
promotion v16cint32 yset_v (int, v2cint32)
 Creates a new 1024-bit vector with 2 elements already set using a 128-bit set.
 
promotion v32float yset_v (int, v4float)
 Creates a new 1024-bit vector with 4 elements already set using a 128-bit set.
 
promotion v16cfloat yset_v (int, v2cfloat)
 Creates a new 1024-bit vector with 2 elements already set using a 128-bit set.
 

256-bit lane set into 512-bit vector

Set 256-bit lanes in a 512-bit vector. idx parameter must be a compile time constant.

promotion v64int8 xset_w (int, v32int8)
 Creates a new 512-bit vector with 32 elements already set using a 256-bit set.
 
promotion v64uint8 xset_w (int, v32uint8)
 Creates a new 512-bit vector with 32 elements already set using a 256-bit set.
 
promotion v32int16 xset_w (int, v16int16)
 Creates a new 512-bit vector with 16 elements already set using a 256-bit set.
 
promotion v16cint16 xset_w (int, v8cint16)
 Creates a new 512-bit vector with 8 elements already set using a 256-bit set.
 
promotion v16int32 xset_w (int, v8int32)
 Creates a new 512-bit vector with 8 elements already set using a 256-bit set.
 
promotion v8cint32 xset_w (int, v4cint32)
 Creates a new 512-bit vector with 4 elements already set using a 256-bit set.
 
promotion v16float xset_w (int, v8float)
 Creates a new 512-bit vector with 8 elements already set using a 256-bit set.
 
promotion v8cfloat xset_w (int, v4cfloat)
 Creates a new 512-bit vector with 4 elements already set using a 256-bit set.
 

256-bit lane set into 1024-bit vector

Set 256-bit lanes in a 1024-bit vector.

promotion v128int8 yset_w (int, v32int8)
 Creates a new 1024-bit vector with 32 elements already set using a 256-bit set.
 
promotion v128uint8 yset_w (int, v32uint8)
 Creates a new 1024-bit vector with 32 elements already set using a 256-bit set.
 
promotion v64int16 yset_w (int, v16int16)
 Creates a new 1024-bit vector with 16 elements already set using a 256-bit set.
 
promotion v32cint16 yset_w (int, v8cint16)
 Creates a new 1024-bit vector with 8 elements already set using a 256-bit set.
 
promotion v32int32 yset_w (int, v8int32)
 Creates a new 1024-bit vector with 8 elements already set using a 256-bit set.
 
promotion v16cint32 yset_w (int, v4cint32)
 Creates a new 1024-bit vector with 4 elements already set using a 256-bit set.
 
promotion v32float yset_w (int, v8float)
 Creates a new 1024-bit vector with 8 elements already set using a 256-bit set.
 
promotion v16cfloat yset_w (int, v4cfloat)
 Creates a new 1024-bit vector with 4 elements already set using a 256-bit set.
 

512-bit lane set into 1024-bit vector

Set 512-bit lanes in a 1024-bit vector. idx parameter must be a compile time constant.

promotion v128int8 yset_x (int, v64int8)
 Creates a new 1024-bit vector with 64 elements already set using a 512-bit set.
 
promotion v128uint8 yset_x (int, v64uint8)
 Creates a new 1024-bit vector with 64 elements already set using a 512-bit set.
 
promotion v64int16 yset_x (int, v32int16)
 Creates a new 1024-bit vector with 32 elements already set using a 512-bit set.
 
promotion v32cint16 yset_x (int, v16cint16)
 Creates a new 1024-bit vector with 16 elements already set using a 512-bit set.
 
promotion v32int32 yset_x (int, v16int32)
 Creates a new 1024-bit vector with 16 elements already set using a 512-bit set.
 
promotion v16cint32 yset_x (int, v8cint32)
 Creates a new 1024-bit vector with 8 elements already set using a 512-bit set.
 
promotion v32float yset_x (int, v16float)
 Creates a new 1024-bit vector with 16 elements already set using a 512-bit set.
 
promotion v16cfloat yset_x (int, v8cfloat)
 Creates a new 1024-bit vector with 8 elements already set using a 512-bit set.
 

Function Documentation

◆ wset_v() [1/8]

promotion v32int8 wset_v ( int  ,
v16int8   
)

Creates a new 256-bit vector with 16 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 16 elements in buf will be set to val.
valInput vector

◆ wset_v() [2/8]

promotion v32uint8 wset_v ( int  ,
v16uint8   
)

Creates a new 256-bit vector with 16 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 16 elements in buf will be set to val.
valInput vector

◆ wset_v() [3/8]

promotion v4cfloat wset_v ( int  ,
v2cfloat   
)

Creates a new 256-bit vector with 2 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 2 elements in buf will be set to val.
valInput vector

◆ wset_v() [4/8]

promotion v4cint32 wset_v ( int  ,
v2cint32   
)

Creates a new 256-bit vector with 2 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 2 elements in buf will be set to val.
valInput vector

◆ wset_v() [5/8]

promotion v8cint16 wset_v ( int  ,
v4cint16   
)

Creates a new 256-bit vector with 4 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 4 elements in buf will be set to val.
valInput vector

◆ wset_v() [6/8]

promotion v8float wset_v ( int  ,
v4float   
)

Creates a new 256-bit vector with 4 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 4 elements in buf will be set to val.
valInput vector

◆ wset_v() [7/8]

promotion v8int32 wset_v ( int  ,
v4int32   
)

Creates a new 256-bit vector with 4 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 4 elements in buf will be set to val.
valInput vector

◆ wset_v() [8/8]

promotion v16int16 wset_v ( int  ,
v8int16   
)

Creates a new 256-bit vector with 8 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 8 elements in buf will be set to val.
valInput vector

◆ xset_v() [1/8]

promotion v64int8 xset_v ( int  ,
v16int8   
)

Creates a new 512-bit vector with 16 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 3 . Used to choose which set of 16 elements in buf will be set to val.
valInput vector

◆ xset_v() [2/8]

promotion v64uint8 xset_v ( int  ,
v16uint8   
)

Creates a new 512-bit vector with 16 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 3 . Used to choose which set of 16 elements in buf will be set to val.
valInput vector

◆ xset_v() [3/8]

promotion v8cfloat xset_v ( int  ,
v2cfloat   
)

Creates a new 512-bit vector with 2 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 3 . Used to choose which set of 2 elements in buf will be set to val.
valInput vector

◆ xset_v() [4/8]

promotion v8cint32 xset_v ( int  ,
v2cint32   
)

Creates a new 512-bit vector with 2 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 3 . Used to choose which set of 2 elements in buf will be set to val.
valInput vector

◆ xset_v() [5/8]

promotion v16cint16 xset_v ( int  ,
v4cint16   
)

Creates a new 512-bit vector with 4 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 3 . Used to choose which set of 4 elements in buf will be set to val.
valInput vector

◆ xset_v() [6/8]

promotion v16float xset_v ( int  ,
v4float   
)

Creates a new 512-bit vector with 4 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 3 . Used to choose which set of 4 elements in buf will be set to val.
valInput vector

◆ xset_v() [7/8]

promotion v16int32 xset_v ( int  ,
v4int32   
)

Creates a new 512-bit vector with 4 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 3 . Used to choose which set of 4 elements in buf will be set to val.
valInput vector

◆ xset_v() [8/8]

promotion v32int16 xset_v ( int  ,
v8int16   
)

Creates a new 512-bit vector with 8 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 3 . Used to choose which set of 8 elements in buf will be set to val.
valInput vector

◆ xset_w() [1/8]

promotion v32int16 xset_w ( int  ,
v16int16   
)

Creates a new 512-bit vector with 16 elements already set using a 256-bit set.

sbuff = wset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 16 elements in buf will be set to val.
valInput vector

◆ xset_w() [2/8]

promotion v64int8 xset_w ( int  ,
v32int8   
)

Creates a new 512-bit vector with 32 elements already set using a 256-bit set.

sbuff = wset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 32 elements in buf will be set to val.
valInput vector

◆ xset_w() [3/8]

promotion v64uint8 xset_w ( int  ,
v32uint8   
)

Creates a new 512-bit vector with 32 elements already set using a 256-bit set.

sbuff = wset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 32 elements in buf will be set to val.
valInput vector

◆ xset_w() [4/8]

promotion v8cfloat xset_w ( int  ,
v4cfloat   
)

Creates a new 512-bit vector with 4 elements already set using a 256-bit set.

sbuff = wset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 4 elements in buf will be set to val.
valInput vector

◆ xset_w() [5/8]

promotion v8cint32 xset_w ( int  ,
v4cint32   
)

Creates a new 512-bit vector with 4 elements already set using a 256-bit set.

sbuff = wset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 4 elements in buf will be set to val.
valInput vector

◆ xset_w() [6/8]

promotion v16cint16 xset_w ( int  ,
v8cint16   
)

Creates a new 512-bit vector with 8 elements already set using a 256-bit set.

sbuff = wset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 8 elements in buf will be set to val.
valInput vector

◆ xset_w() [7/8]

promotion v16float xset_w ( int  ,
v8float   
)

Creates a new 512-bit vector with 8 elements already set using a 256-bit set.

sbuff = wset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 8 elements in buf will be set to val.
valInput vector

◆ xset_w() [8/8]

promotion v16int32 xset_w ( int  ,
v8int32   
)

Creates a new 512-bit vector with 8 elements already set using a 256-bit set.

sbuff = wset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 8 elements in buf will be set to val.
valInput vector

◆ yset_v() [1/8]

promotion v128int8 yset_v ( int  ,
v16int8   
)

Creates a new 1024-bit vector with 16 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 7 . Used to choose which set of 16 elements in buf will be set to val. idx must be a compile time constant
valInput vector

◆ yset_v() [2/8]

promotion v128uint8 yset_v ( int  ,
v16uint8   
)

Creates a new 1024-bit vector with 16 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 7 . Used to choose which set of 16 elements in buf will be set to val. idx must be a compile time constant
valInput vector

◆ yset_v() [3/8]

promotion v16cfloat yset_v ( int  ,
v2cfloat   
)

Creates a new 1024-bit vector with 2 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 7 . Used to choose which set of 2 elements in buf will be set to val. idx must be a compile time constant
valInput vector

◆ yset_v() [4/8]

promotion v16cint32 yset_v ( int  ,
v2cint32   
)

Creates a new 1024-bit vector with 2 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 7 . Used to choose which set of 2 elements in buf will be set to val. idx must be a compile time constant
valInput vector

◆ yset_v() [5/8]

promotion v32cint16 yset_v ( int  ,
v4cint16   
)

Creates a new 1024-bit vector with 4 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 7 . Used to choose which set of 4 elements in buf will be set to val. idx must be a compile time constant
valInput vector

◆ yset_v() [6/8]

promotion v32float yset_v ( int  ,
v4float   
)

Creates a new 1024-bit vector with 4 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 7 . Used to choose which set of 4 elements in buf will be set to val. idx must be a compile time constant
valInput vector

◆ yset_v() [7/8]

promotion v32int32 yset_v ( int  ,
v4int32   
)

Creates a new 1024-bit vector with 4 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 7 . Used to choose which set of 4 elements in buf will be set to val. idx must be a compile time constant
valInput vector

◆ yset_v() [8/8]

promotion v64int16 yset_v ( int  ,
v8int16   
)

Creates a new 1024-bit vector with 8 elements already set using a 128-bit set.

sbuff = vset(idx, val);
Parameters
idxNumber in the range 0 to 7 . Used to choose which set of 8 elements in buf will be set to val. idx must be a compile time constant
valInput vector

◆ yset_w() [1/8]

promotion v64int16 yset_w ( int  ,
v16int16   
)

Creates a new 1024-bit vector with 16 elements already set using a 256-bit set.

sbuff = wset(idx, val);
Parameters
idxNumber in the range 0 to 3 . Used to choose which set of 16 elements in buf will be set to val. idx must be a compile time constant
valInput vector

◆ yset_w() [2/8]

promotion v128int8 yset_w ( int  ,
v32int8   
)

Creates a new 1024-bit vector with 32 elements already set using a 256-bit set.

sbuff = wset(idx, val);
Parameters
idxNumber in the range 0 to 3 . Used to choose which set of 32 elements in buf will be set to val. idx must be a compile time constant
valInput vector

◆ yset_w() [3/8]

promotion v128uint8 yset_w ( int  ,
v32uint8   
)

Creates a new 1024-bit vector with 32 elements already set using a 256-bit set.

sbuff = wset(idx, val);
Parameters
idxNumber in the range 0 to 3 . Used to choose which set of 32 elements in buf will be set to val. idx must be a compile time constant
valInput vector

◆ yset_w() [4/8]

promotion v16cfloat yset_w ( int  ,
v4cfloat   
)

Creates a new 1024-bit vector with 4 elements already set using a 256-bit set.

sbuff = wset(idx, val);
Parameters
idxNumber in the range 0 to 3 . Used to choose which set of 4 elements in buf will be set to val. idx must be a compile time constant
valInput vector

◆ yset_w() [5/8]

promotion v16cint32 yset_w ( int  ,
v4cint32   
)

Creates a new 1024-bit vector with 4 elements already set using a 256-bit set.

sbuff = wset(idx, val);
Parameters
idxNumber in the range 0 to 3 . Used to choose which set of 4 elements in buf will be set to val. idx must be a compile time constant
valInput vector

◆ yset_w() [6/8]

promotion v32cint16 yset_w ( int  ,
v8cint16   
)

Creates a new 1024-bit vector with 8 elements already set using a 256-bit set.

sbuff = wset(idx, val);
Parameters
idxNumber in the range 0 to 3 . Used to choose which set of 8 elements in buf will be set to val. idx must be a compile time constant
valInput vector

◆ yset_w() [7/8]

promotion v32float yset_w ( int  ,
v8float   
)

Creates a new 1024-bit vector with 8 elements already set using a 256-bit set.

sbuff = wset(idx, val);
Parameters
idxNumber in the range 0 to 3 . Used to choose which set of 8 elements in buf will be set to val. idx must be a compile time constant
valInput vector

◆ yset_w() [8/8]

promotion v32int32 yset_w ( int  ,
v8int32   
)

Creates a new 1024-bit vector with 8 elements already set using a 256-bit set.

sbuff = wset(idx, val);
Parameters
idxNumber in the range 0 to 3 . Used to choose which set of 8 elements in buf will be set to val. idx must be a compile time constant
valInput vector

◆ yset_x() [1/8]

promotion v32cint16 yset_x ( int  ,
v16cint16   
)

Creates a new 1024-bit vector with 16 elements already set using a 512-bit set.

sbuff = xset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 16 elements in buf will be set to val.
valInput vector

◆ yset_x() [2/8]

promotion v32float yset_x ( int  ,
v16float   
)

Creates a new 1024-bit vector with 16 elements already set using a 512-bit set.

sbuff = xset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 16 elements in buf will be set to val.
valInput vector

◆ yset_x() [3/8]

promotion v32int32 yset_x ( int  ,
v16int32   
)

Creates a new 1024-bit vector with 16 elements already set using a 512-bit set.

sbuff = xset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 16 elements in buf will be set to val.
valInput vector

◆ yset_x() [4/8]

promotion v64int16 yset_x ( int  ,
v32int16   
)

Creates a new 1024-bit vector with 32 elements already set using a 512-bit set.

sbuff = xset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 32 elements in buf will be set to val.
valInput vector

◆ yset_x() [5/8]

promotion v128int8 yset_x ( int  ,
v64int8   
)

Creates a new 1024-bit vector with 64 elements already set using a 512-bit set.

sbuff = xset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 64 elements in buf will be set to val.
valInput vector

◆ yset_x() [6/8]

promotion v128uint8 yset_x ( int  ,
v64uint8   
)

Creates a new 1024-bit vector with 64 elements already set using a 512-bit set.

sbuff = xset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 64 elements in buf will be set to val.
valInput vector

◆ yset_x() [7/8]

promotion v16cfloat yset_x ( int  ,
v8cfloat   
)

Creates a new 1024-bit vector with 8 elements already set using a 512-bit set.

sbuff = xset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 8 elements in buf will be set to val.
valInput vector

◆ yset_x() [8/8]

promotion v16cint32 yset_x ( int  ,
v8cint32   
)

Creates a new 1024-bit vector with 8 elements already set using a 512-bit set.

sbuff = xset(idx, val);
Parameters
idxNumber in the range 0 to 1 . Used to choose which set of 8 elements in buf will be set to val.
valInput vector