Vector insert intrinsic functions allow substitution of the lanes within a vector value.
More...
|
v128int4 | insert (v128int4 a, int idx, v64int4 b) |
|
v128uint4 | insert (v128uint4 a, int idx, v64uint4 b) |
|
v64int8 | insert (v64int8 a, int idx, v32int8 b) |
|
v64uint8 | insert (v64uint8 a, int idx, v32uint8 b) |
|
v16cint16 | insert (v16cint16 a, int idx, v8cint16 b) |
|
v32int16 | insert (v32int16 a, int idx, v16int16 b) |
|
v32uint16 | insert (v32uint16 a, int idx, v16uint16 b) |
|
v8cint32 | insert (v8cint32 a, int idx, v4cint32 b) |
|
v16int32 | insert (v16int32 a, int idx, v8int32 b) |
|
v16uint32 | insert (v16uint32 a, int idx, v8uint32 b) |
|
v32bfloat16 | insert (v32bfloat16 a, int idx, v16bfloat16 b) |
|
v32float16 | insert (v32float16 a, int idx, v16float16 b) |
|
v64bfloat8 | insert (v64bfloat8 a, int idx, v32bfloat8 b) |
|
v64float8 | insert (v64float8 a, int idx, v32float8 b) |
|
v16float | insert (v16float a, int idx, v8float b) |
|
v16cbfloat16 | insert (v16cbfloat16 a, int idx, v8cbfloat16 b) |
|
v8cfloat | insert (v8cfloat a, int idx, v4cfloat b) |
|
v16accfloat | insert (v16accfloat a, int idx, v8accfloat b) |
|
v8caccfloat | insert (v8caccfloat a, int idx, v4caccfloat b) |
|
v16acc32 | insert (v16acc32 a, int idx, v8acc32 b) |
|
v8acc64 | insert (v8acc64 a, int idx, v4acc64 b) |
|
v4cacc64 | insert (v4cacc64 a, int idx, v2cacc64 b) |
|
|
v256int4 | insert (v256int4 a, int idx, v64int4 b) |
|
v256uint4 | insert (v256uint4 a, int idx, v64uint4 b) |
|
v128int8 | insert (v128int8 a, int idx, v32int8 b) |
|
v128uint8 | insert (v128uint8 a, int idx, v32uint8 b) |
|
v32cint16 | insert (v32cint16 a, int idx, v8cint16 b) |
|
v64int16 | insert (v64int16 a, int idx, v16int16 b) |
|
v64uint16 | insert (v64uint16 a, int idx, v16uint16 b) |
|
v16cint32 | insert (v16cint32 a, int idx, v4cint32 b) |
|
v32int32 | insert (v32int32 a, int idx, v8int32 b) |
|
v32uint32 | insert (v32uint32 a, int idx, v8uint32 b) |
|
v64bfloat16 | insert (v64bfloat16 a, int idx, v16bfloat16 b) |
|
v64float16 | insert (v64float16 a, int idx, v16float16 b) |
|
v128bfloat8 | insert (v128bfloat8 a, int idx, v32bfloat8 b) |
|
v128float8 | insert (v128float8 a, int idx, v32float8 b) |
|
v32float | insert (v32float a, int idx, v8float b) |
|
v32cbfloat16 | insert (v32cbfloat16 a, int idx, v8cbfloat16 b) |
|
v16cfloat | insert (v16cfloat a, int idx, v4cfloat b) |
|
v32accfloat | insert (v32accfloat a, int idx, v8accfloat b) |
|
v16caccfloat | insert (v16caccfloat a, int idx, v4caccfloat b) |
|
v32acc32 | insert (v32acc32 a, int idx, v8acc32 b) |
|
v16acc64 | insert (v16acc64 a, int idx, v4acc64 b) |
|
v8cacc64 | insert (v8cacc64 a, int idx, v2cacc64 b) |
|
|
v256int4 | insert (v256int4 a, int idx, v128int4 b) |
|
v256uint4 | insert (v256uint4 a, int idx, v128uint4 b) |
|
v128int8 | insert (v128int8 a, int idx, v64int8 b) |
|
v128uint8 | insert (v128uint8 a, int idx, v64uint8 b) |
|
v32cint16 | insert (v32cint16 a, int idx, v16cint16 b) |
|
v64int16 | insert (v64int16 a, int idx, v32int16 b) |
|
v64uint16 | insert (v64uint16 a, int idx, v32uint16 b) |
|
v16cint32 | insert (v16cint32 a, int idx, v8cint32 b) |
|
v32int32 | insert (v32int32 a, int idx, v16int32 b) |
|
v32uint32 | insert (v32uint32 a, int idx, v16uint32 b) |
|
v32accfloat | insert (v32accfloat a, int idx, v16accfloat b) |
|
v16caccfloat | insert (v16caccfloat a, int idx, v8caccfloat b) |
|
v32acc32 | insert (v32acc32 a, int idx, v16acc32 b) |
|
v16acc64 | insert (v16acc64 a, int idx, v8acc64 b) |
|
v8cacc64 | insert (v8cacc64 a, int idx, v4cacc64 b) |
|
v64bfloat16 | insert (v64bfloat16 a, int idx, v32bfloat16 b) |
|
v64float16 | insert (v64float16 a, int idx, v32float16 b) |
|
v128bfloat8 | insert (v128bfloat8 a, int idx, v64bfloat8 b) |
|
v128float8 | insert (v128float8 a, int idx, v64float8 b) |
|
v32float | insert (v32float a, int idx, v16float b) |
|
v32cbfloat16 | insert (v32cbfloat16 a, int idx, v16cbfloat16 b) |
|
v16cfloat | insert (v16cfloat a, int idx, v8cfloat b) |
|
|
v64accfloat | insert (v64accfloat a, int idx, v16accfloat b) |
|
v32caccfloat | insert (v32caccfloat a, int idx, v8caccfloat b) |
|
v64acc32 | insert (v64acc32 a, int idx, v16acc32 b) |
|
v32acc64 | insert (v32acc64 a, int idx, v8acc64 b) |
|
v16cacc64 | insert (v16cacc64 a, int idx, v4cacc64 b) |
|
|
v64accfloat | insert (v64accfloat a, int idx, v32accfloat b) |
|
v32caccfloat | insert (v32caccfloat a, int idx, v16caccfloat b) |
|
v64acc32 | insert (v64acc32 a, int idx, v32acc32 b) |
|
v32acc64 | insert (v32acc64 a, int idx, v16acc64 b) |
|
v16cacc64 | insert (v16cacc64 a, int idx, v8cacc64 b) |
|
Vector insert intrinsic functions allow substitution of the lanes within a vector value.
Below the buffer sizes are as follows: 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 except those in either of the following two forms:
- upd_w(Y buf,int idx,W val)
upd_hi and upd_lo intrinsic functions
Update the top half or bottom half of the lanes within a data type.
upd_w({X,Y} buf,int idx,W val) 256-bit intrinsic functions
upd_w(buf,0...3,val)
update the successive 256-bit lanes into a 512/1024 bit vector.
The following example shows the update of a large 32-way complex vector 16 elements at-a-time using a 256-bit update. These updates are also pipelined.
...
sbuff = upd_w(sbuff,0, *input_++);
sbuff = upd_w(sbuff,1, *input_++);
Definition me_chess.h:534
Definition me_chess.h:510
v64int16 undef_v64int16()
concat, upd
In order to concatenate two vectors into a new vector twice the size you can either use the concat intrinsic or the correspondent upd intrinsics.
Both options are valid and should generally give the same performance.
◆ insert() [1/78]
◆ insert() [2/78]
◆ insert() [3/78]
◆ insert() [4/78]
◆ insert() [5/78]
◆ insert() [6/78]
◆ insert() [7/78]
◆ insert() [8/78]
◆ insert() [9/78]
◆ insert() [10/78]
◆ insert() [11/78]
◆ insert() [12/78]
◆ insert() [13/78]
◆ insert() [14/78]
◆ insert() [15/78]
◆ insert() [16/78]
◆ insert() [17/78]
◆ insert() [18/78]
◆ insert() [19/78]
◆ insert() [20/78]
◆ insert() [21/78]
◆ insert() [22/78]
◆ insert() [23/78]
◆ insert() [24/78]
◆ insert() [25/78]
◆ insert() [26/78]
◆ insert() [27/78]
◆ insert() [28/78]
◆ insert() [29/78]
◆ insert() [30/78]
◆ insert() [31/78]
◆ insert() [32/78]
◆ insert() [33/78]
◆ insert() [34/78]
◆ insert() [35/78]
◆ insert() [36/78]
◆ insert() [37/78]
◆ insert() [38/78]
◆ insert() [39/78]
◆ insert() [40/78]
◆ insert() [41/78]
◆ insert() [42/78]
◆ insert() [43/78]
◆ insert() [44/78]
◆ insert() [45/78]
◆ insert() [46/78]
◆ insert() [47/78]
◆ insert() [48/78]
◆ insert() [49/78]
◆ insert() [50/78]
◆ insert() [51/78]
◆ insert() [52/78]
◆ insert() [53/78]
◆ insert() [54/78]
◆ insert() [55/78]
◆ insert() [56/78]
◆ insert() [57/78]
◆ insert() [58/78]
◆ insert() [59/78]
◆ insert() [60/78]
◆ insert() [61/78]
◆ insert() [62/78]
◆ insert() [63/78]
◆ insert() [64/78]
◆ insert() [65/78]
◆ insert() [66/78]
◆ insert() [67/78]
◆ insert() [68/78]
◆ insert() [69/78]
◆ insert() [70/78]
◆ insert() [71/78]
◆ insert() [72/78]
◆ insert() [73/78]
◆ insert() [74/78]
◆ insert() [75/78]
◆ insert() [76/78]
◆ insert() [77/78]
◆ insert() [78/78]