AI Engine-ML v2 Intrinsics User Guide  v2025.1
Loading...
Searching...
No Matches
Extract vector

Extraction intrinsics enable lanes to be selected from vector and accumulator types. More...

Topics

 Extract MX vector components
 
 Extract sparse vector components
 

Extract 256-bit portion from 512-bit register

v64int4 extract_v64int4 (v128int4 a, int idx)
 
v64uint4 extract_v64uint4 (v128uint4 a, int idx)
 
v32int8 extract_v32int8 (v64int8 a, int idx)
 
v32uint8 extract_v32uint8 (v64uint8 a, int idx)
 
v8cint16 extract_v8cint16 (v16cint16 a, int idx)
 
v16int16 extract_v16int16 (v32int16 a, int idx)
 
v16uint16 extract_v16uint16 (v32uint16 a, int idx)
 
v4cint32 extract_v4cint32 (v8cint32 a, int idx)
 
v8int32 extract_v8int32 (v16int32 a, int idx)
 
v8uint32 extract_v8uint32 (v16uint32 a, int idx)
 
v16bfloat16 extract_v16bfloat16 (v32bfloat16 a, int idx)
 
v16float16 extract_v16float16 (v32float16 a, int idx)
 
v32bfloat8 extract_v32bfloat8 (v64bfloat8 a, int idx)
 
v32float8 extract_v32float8 (v64float8 a, int idx)
 
v8float extract_v8float (v16float a, int idx)
 
v8cbfloat16 extract_v8cbfloat16 (v16cbfloat16 a, int idx)
 
v4cfloat extract_v4cfloat (v8cfloat a, int idx)
 
v8accfloat extract_v8accfloat (v16accfloat a, int idx)
 
v4caccfloat extract_v4caccfloat (v8caccfloat a, int idx)
 
v8acc32 extract_v8acc32 (v16acc32 a, int idx)
 
v4acc64 extract_v4acc64 (v8acc64 a, int idx)
 
v2cacc64 extract_v2cacc64 (v4cacc64 a, int idx)
 

Extract 256-bit portion from 1024-bit register

v64int4 extract_v64int4 (v256int4 a, int idx)
 
v64uint4 extract_v64uint4 (v256uint4 a, int idx)
 
v32int8 extract_v32int8 (v128int8 a, int idx)
 
v32uint8 extract_v32uint8 (v128uint8 a, int idx)
 
v8cint16 extract_v8cint16 (v32cint16 a, int idx)
 
v16int16 extract_v16int16 (v64int16 a, int idx)
 
v16uint16 extract_v16uint16 (v64uint16 a, int idx)
 
v4cint32 extract_v4cint32 (v16cint32 a, int idx)
 
v8int32 extract_v8int32 (v32int32 a, int idx)
 
v8uint32 extract_v8uint32 (v32uint32 a, int idx)
 
v16bfloat16 extract_v16bfloat16 (v64bfloat16 a, int idx)
 
v16float16 extract_v16float16 (v64float16 a, int idx)
 
v32bfloat8 extract_v32bfloat8 (v128bfloat8 a, int idx)
 
v32float8 extract_v32float8 (v128float8 a, int idx)
 
v8float extract_v8float (v32float a, int idx)
 
v8cbfloat16 extract_v8cbfloat16 (v32cbfloat16 a, int idx)
 
v4cfloat extract_v4cfloat (v16cfloat a, int idx)
 
v8accfloat extract_v8accfloat (v32accfloat a, int idx)
 
v4caccfloat extract_v4caccfloat (v16caccfloat a, int idx)
 
v8acc32 extract_v8acc32 (v32acc32 a, int idx)
 
v4acc64 extract_v4acc64 (v16acc64 a, int idx)
 
v2cacc64 extract_v2cacc64 (v8cacc64 a, int idx)
 

Extract 512-bit portion from 1024-bit register

v128int4 extract_v128int4 (v256int4 a, int idx)
 
v128uint4 extract_v128uint4 (v256uint4 a, int idx)
 
v64int8 extract_v64int8 (v128int8 a, int idx)
 
v64uint8 extract_v64uint8 (v128uint8 a, int idx)
 
v16cint16 extract_v16cint16 (v32cint16 a, int idx)
 
v32int16 extract_v32int16 (v64int16 a, int idx)
 
v32uint16 extract_v32uint16 (v64uint16 a, int idx)
 
v8cint32 extract_v8cint32 (v16cint32 a, int idx)
 
v16int32 extract_v16int32 (v32int32 a, int idx)
 
v16uint32 extract_v16uint32 (v32uint32 a, int idx)
 
v16accfloat extract_v16accfloat (v32accfloat a, int idx)
 
v8caccfloat extract_v8caccfloat (v16caccfloat a, int idx)
 
v16acc32 extract_v16acc32 (v32acc32 a, int idx)
 
v8acc64 extract_v8acc64 (v16acc64 a, int idx)
 
v4cacc64 extract_v4cacc64 (v8cacc64 a, int idx)
 
v32bfloat16 extract_v32bfloat16 (v64bfloat16 a, int idx)
 
v32float16 extract_v32float16 (v64float16 a, int idx)
 
v64bfloat8 extract_v64bfloat8 (v128bfloat8 a, int idx)
 
v64float8 extract_v64float8 (v128float8 a, int idx)
 
v16float extract_v16float (v32float a, int idx)
 
v16cbfloat16 extract_v16cbfloat16 (v32cbfloat16 a, int idx)
 
v8cfloat extract_v8cfloat (v16cfloat a, int idx)
 

Extract 512-bit portion from 2048-bit register

v16accfloat extract_v16accfloat (v64accfloat a, int idx)
 
v8caccfloat extract_v8caccfloat (v32caccfloat a, int idx)
 
v16acc32 extract_v16acc32 (v64acc32 a, int idx)
 
v8acc64 extract_v8acc64 (v32acc64 a, int idx)
 
v4cacc64 extract_v4cacc64 (v16cacc64 a, int idx)
 

Extract 1024-bit portion from 2048-bit register

v32accfloat extract_v32accfloat (v64accfloat a, int idx)
 
v16caccfloat extract_v16caccfloat (v32caccfloat a, int idx)
 
v32acc32 extract_v32acc32 (v64acc32 a, int idx)
 
v16acc64 extract_v16acc64 (v32acc64 a, int idx)
 
v8cacc64 extract_v8cacc64 (v16cacc64 a, int idx)
 

Extract 128-bit portion from 512-bit register

v32int4 extract_v32int4 (v128int4 a, int idx)
 
v32uint4 extract_v32uint4 (v128uint4 a, int idx)
 
v16int8 extract_v16int8 (v64int8 a, int idx)
 
v16uint8 extract_v16uint8 (v64uint8 a, int idx)
 
v4cint16 extract_v4cint16 (v16cint16 a, int idx)
 
v8int16 extract_v8int16 (v32int16 a, int idx)
 
v8uint16 extract_v8uint16 (v32uint16 a, int idx)
 
v2cint32 extract_v2cint32 (v8cint32 a, int idx)
 
v4int32 extract_v4int32 (v16int32 a, int idx)
 
v4uint32 extract_v4uint32 (v16uint32 a, int idx)
 
v8bfloat16 extract_v8bfloat16 (v32bfloat16 a, int idx)
 
v8float16 extract_v8float16 (v32float16 a, int idx)
 
v16bfloat8 extract_v16bfloat8 (v64bfloat8 a, int idx)
 
v16float8 extract_v16float8 (v64float8 a, int idx)
 
v4float extract_v4float (v16float a, int idx)
 
v4cbfloat16 extract_v4cbfloat16 (v16cbfloat16 a, int idx)
 
v2cfloat extract_v2cfloat (v8cfloat a, int idx)
 

Extract 128-bit portion from 256-bit register

v32int4 extract_v32int4 (v64int4 a, int idx)
 
v32uint4 extract_v32uint4 (v64uint4 a, int idx)
 
v16int8 extract_v16int8 (v32int8 a, int idx)
 
v16uint8 extract_v16uint8 (v32uint8 a, int idx)
 
v4cint16 extract_v4cint16 (v8cint16 a, int idx)
 
v8int16 extract_v8int16 (v16int16 a, int idx)
 
v8uint16 extract_v8uint16 (v16uint16 a, int idx)
 
v2cint32 extract_v2cint32 (v4cint32 a, int idx)
 
v4int32 extract_v4int32 (v8int32 a, int idx)
 
v4uint32 extract_v4uint32 (v8uint32 a, int idx)
 
v8bfloat16 extract_v8bfloat16 (v16bfloat16 a, int idx)
 
v8float16 extract_v8float16 (v16float16 a, int idx)
 
v16bfloat8 extract_v16bfloat8 (v32bfloat8 a, int idx)
 
v16float8 extract_v16float8 (v32float8 a, int idx)
 
v4float extract_v4float (v8float a, int idx)
 
v4cbfloat16 extract_v4cbfloat16 (v8cbfloat16 a, int idx)
 
v2cfloat extract_v2cfloat (v4cfloat a, int idx)
 

Extract v128mx9 vector from v256mx9

v128mx9 extract_v128mx9 (v256mx9 a, int idx)
 
v128bfp16p extract_v128bfp16p (v256bfp16p a, int idx)
 

Detailed Description

Extraction intrinsics enable lanes to be selected from vector and accumulator types.

Extract from lane specified through either idx parameter or number in intrinsic name.

ext_hi and ext_lo intrinsic functions

Extract the top half or bottom half of the lanes within a data type.

ext_w(,<N>,) intrinsic functions

ext_w(,0...3,) extract successive 256-bit lanes from a large vector.

ext_x(,<N>,) intrinsic functions

ext_x(,0...1,) extract successive 512-bit lanes from a 1024-bit vector.

Function Documentation

◆ extract_v128bfp16p()

v128bfp16p extract_v128bfp16p ( v256bfp16p a,
int idx )

◆ extract_v128int4()

v128int4 extract_v128int4 ( v256int4 a,
int idx )

◆ extract_v128mx9()

v128mx9 extract_v128mx9 ( v256mx9 a,
int idx )

◆ extract_v128uint4()

v128uint4 extract_v128uint4 ( v256uint4 a,
int idx )

◆ extract_v16acc32() [1/2]

v16acc32 extract_v16acc32 ( v32acc32 a,
int idx )

◆ extract_v16acc32() [2/2]

v16acc32 extract_v16acc32 ( v64acc32 a,
int idx )

◆ extract_v16acc64()

v16acc64 extract_v16acc64 ( v32acc64 a,
int idx )

◆ extract_v16accfloat() [1/2]

v16accfloat extract_v16accfloat ( v32accfloat a,
int idx )

◆ extract_v16accfloat() [2/2]

v16accfloat extract_v16accfloat ( v64accfloat a,
int idx )

◆ extract_v16bfloat16() [1/2]

v16bfloat16 extract_v16bfloat16 ( v32bfloat16 a,
int idx )

◆ extract_v16bfloat16() [2/2]

v16bfloat16 extract_v16bfloat16 ( v64bfloat16 a,
int idx )

◆ extract_v16bfloat8() [1/2]

v16bfloat8 extract_v16bfloat8 ( v32bfloat8 a,
int idx )

◆ extract_v16bfloat8() [2/2]

v16bfloat8 extract_v16bfloat8 ( v64bfloat8 a,
int idx )

◆ extract_v16caccfloat()

v16caccfloat extract_v16caccfloat ( v32caccfloat a,
int idx )

◆ extract_v16cbfloat16()

v16cbfloat16 extract_v16cbfloat16 ( v32cbfloat16 a,
int idx )

◆ extract_v16cint16()

v16cint16 extract_v16cint16 ( v32cint16 a,
int idx )

◆ extract_v16float()

v16float extract_v16float ( v32float a,
int idx )

◆ extract_v16float16() [1/2]

v16float16 extract_v16float16 ( v32float16 a,
int idx )

◆ extract_v16float16() [2/2]

v16float16 extract_v16float16 ( v64float16 a,
int idx )

◆ extract_v16float8() [1/2]

v16float8 extract_v16float8 ( v32float8 a,
int idx )

◆ extract_v16float8() [2/2]

v16float8 extract_v16float8 ( v64float8 a,
int idx )

◆ extract_v16int16() [1/2]

v16int16 extract_v16int16 ( v32int16 a,
int idx )

◆ extract_v16int16() [2/2]

v16int16 extract_v16int16 ( v64int16 a,
int idx )

◆ extract_v16int32()

v16int32 extract_v16int32 ( v32int32 a,
int idx )

◆ extract_v16int8() [1/2]

v16int8 extract_v16int8 ( v32int8 a,
int idx )

◆ extract_v16int8() [2/2]

v16int8 extract_v16int8 ( v64int8 a,
int idx )

◆ extract_v16uint16() [1/2]

v16uint16 extract_v16uint16 ( v32uint16 a,
int idx )

◆ extract_v16uint16() [2/2]

v16uint16 extract_v16uint16 ( v64uint16 a,
int idx )

◆ extract_v16uint32()

v16uint32 extract_v16uint32 ( v32uint32 a,
int idx )

◆ extract_v16uint8() [1/2]

v16uint8 extract_v16uint8 ( v32uint8 a,
int idx )

◆ extract_v16uint8() [2/2]

v16uint8 extract_v16uint8 ( v64uint8 a,
int idx )

◆ extract_v2cacc64() [1/2]

v2cacc64 extract_v2cacc64 ( v4cacc64 a,
int idx )

◆ extract_v2cacc64() [2/2]

v2cacc64 extract_v2cacc64 ( v8cacc64 a,
int idx )

◆ extract_v2cfloat() [1/2]

v2cfloat extract_v2cfloat ( v4cfloat a,
int idx )

◆ extract_v2cfloat() [2/2]

v2cfloat extract_v2cfloat ( v8cfloat a,
int idx )

◆ extract_v2cint32() [1/2]

v2cint32 extract_v2cint32 ( v4cint32 a,
int idx )

◆ extract_v2cint32() [2/2]

v2cint32 extract_v2cint32 ( v8cint32 a,
int idx )

◆ extract_v32acc32()

v32acc32 extract_v32acc32 ( v64acc32 a,
int idx )

◆ extract_v32accfloat()

v32accfloat extract_v32accfloat ( v64accfloat a,
int idx )

◆ extract_v32bfloat16()

v32bfloat16 extract_v32bfloat16 ( v64bfloat16 a,
int idx )

◆ extract_v32bfloat8() [1/2]

v32bfloat8 extract_v32bfloat8 ( v128bfloat8 a,
int idx )

◆ extract_v32bfloat8() [2/2]

v32bfloat8 extract_v32bfloat8 ( v64bfloat8 a,
int idx )

◆ extract_v32float16()

v32float16 extract_v32float16 ( v64float16 a,
int idx )

◆ extract_v32float8() [1/2]

v32float8 extract_v32float8 ( v128float8 a,
int idx )

◆ extract_v32float8() [2/2]

v32float8 extract_v32float8 ( v64float8 a,
int idx )

◆ extract_v32int16()

v32int16 extract_v32int16 ( v64int16 a,
int idx )

◆ extract_v32int4() [1/2]

v32int4 extract_v32int4 ( v128int4 a,
int idx )

◆ extract_v32int4() [2/2]

v32int4 extract_v32int4 ( v64int4 a,
int idx )

◆ extract_v32int8() [1/2]

v32int8 extract_v32int8 ( v128int8 a,
int idx )

◆ extract_v32int8() [2/2]

v32int8 extract_v32int8 ( v64int8 a,
int idx )

◆ extract_v32uint16()

v32uint16 extract_v32uint16 ( v64uint16 a,
int idx )

◆ extract_v32uint4() [1/2]

v32uint4 extract_v32uint4 ( v128uint4 a,
int idx )

◆ extract_v32uint4() [2/2]

v32uint4 extract_v32uint4 ( v64uint4 a,
int idx )

◆ extract_v32uint8() [1/2]

v32uint8 extract_v32uint8 ( v128uint8 a,
int idx )

◆ extract_v32uint8() [2/2]

v32uint8 extract_v32uint8 ( v64uint8 a,
int idx )

◆ extract_v4acc64() [1/2]

v4acc64 extract_v4acc64 ( v16acc64 a,
int idx )

◆ extract_v4acc64() [2/2]

v4acc64 extract_v4acc64 ( v8acc64 a,
int idx )

◆ extract_v4cacc64() [1/2]

v4cacc64 extract_v4cacc64 ( v16cacc64 a,
int idx )

◆ extract_v4cacc64() [2/2]

v4cacc64 extract_v4cacc64 ( v8cacc64 a,
int idx )

◆ extract_v4caccfloat() [1/2]

v4caccfloat extract_v4caccfloat ( v16caccfloat a,
int idx )

◆ extract_v4caccfloat() [2/2]

v4caccfloat extract_v4caccfloat ( v8caccfloat a,
int idx )

◆ extract_v4cbfloat16() [1/2]

v4cbfloat16 extract_v4cbfloat16 ( v16cbfloat16 a,
int idx )

◆ extract_v4cbfloat16() [2/2]

v4cbfloat16 extract_v4cbfloat16 ( v8cbfloat16 a,
int idx )

◆ extract_v4cfloat() [1/2]

v4cfloat extract_v4cfloat ( v16cfloat a,
int idx )

◆ extract_v4cfloat() [2/2]

v4cfloat extract_v4cfloat ( v8cfloat a,
int idx )

◆ extract_v4cint16() [1/2]

v4cint16 extract_v4cint16 ( v16cint16 a,
int idx )

◆ extract_v4cint16() [2/2]

v4cint16 extract_v4cint16 ( v8cint16 a,
int idx )

◆ extract_v4cint32() [1/2]

v4cint32 extract_v4cint32 ( v16cint32 a,
int idx )

◆ extract_v4cint32() [2/2]

v4cint32 extract_v4cint32 ( v8cint32 a,
int idx )

◆ extract_v4float() [1/2]

v4float extract_v4float ( v16float a,
int idx )

◆ extract_v4float() [2/2]

v4float extract_v4float ( v8float a,
int idx )

◆ extract_v4int32() [1/2]

v4int32 extract_v4int32 ( v16int32 a,
int idx )

◆ extract_v4int32() [2/2]

v4int32 extract_v4int32 ( v8int32 a,
int idx )

◆ extract_v4uint32() [1/2]

v4uint32 extract_v4uint32 ( v16uint32 a,
int idx )

◆ extract_v4uint32() [2/2]

v4uint32 extract_v4uint32 ( v8uint32 a,
int idx )

◆ extract_v64bfloat8()

v64bfloat8 extract_v64bfloat8 ( v128bfloat8 a,
int idx )

◆ extract_v64float8()

v64float8 extract_v64float8 ( v128float8 a,
int idx )

◆ extract_v64int4() [1/2]

v64int4 extract_v64int4 ( v128int4 a,
int idx )

◆ extract_v64int4() [2/2]

v64int4 extract_v64int4 ( v256int4 a,
int idx )

◆ extract_v64int8()

v64int8 extract_v64int8 ( v128int8 a,
int idx )

◆ extract_v64uint4() [1/2]

v64uint4 extract_v64uint4 ( v128uint4 a,
int idx )

◆ extract_v64uint4() [2/2]

v64uint4 extract_v64uint4 ( v256uint4 a,
int idx )

◆ extract_v64uint8()

v64uint8 extract_v64uint8 ( v128uint8 a,
int idx )

◆ extract_v8acc32() [1/2]

v8acc32 extract_v8acc32 ( v16acc32 a,
int idx )

◆ extract_v8acc32() [2/2]

v8acc32 extract_v8acc32 ( v32acc32 a,
int idx )

◆ extract_v8acc64() [1/2]

v8acc64 extract_v8acc64 ( v16acc64 a,
int idx )

◆ extract_v8acc64() [2/2]

v8acc64 extract_v8acc64 ( v32acc64 a,
int idx )

◆ extract_v8accfloat() [1/2]

v8accfloat extract_v8accfloat ( v16accfloat a,
int idx )

◆ extract_v8accfloat() [2/2]

v8accfloat extract_v8accfloat ( v32accfloat a,
int idx )

◆ extract_v8bfloat16() [1/2]

v8bfloat16 extract_v8bfloat16 ( v16bfloat16 a,
int idx )

◆ extract_v8bfloat16() [2/2]

v8bfloat16 extract_v8bfloat16 ( v32bfloat16 a,
int idx )

◆ extract_v8cacc64()

v8cacc64 extract_v8cacc64 ( v16cacc64 a,
int idx )

◆ extract_v8caccfloat() [1/2]

v8caccfloat extract_v8caccfloat ( v16caccfloat a,
int idx )

◆ extract_v8caccfloat() [2/2]

v8caccfloat extract_v8caccfloat ( v32caccfloat a,
int idx )

◆ extract_v8cbfloat16() [1/2]

v8cbfloat16 extract_v8cbfloat16 ( v16cbfloat16 a,
int idx )

◆ extract_v8cbfloat16() [2/2]

v8cbfloat16 extract_v8cbfloat16 ( v32cbfloat16 a,
int idx )

◆ extract_v8cfloat()

v8cfloat extract_v8cfloat ( v16cfloat a,
int idx )

◆ extract_v8cint16() [1/2]

v8cint16 extract_v8cint16 ( v16cint16 a,
int idx )

◆ extract_v8cint16() [2/2]

v8cint16 extract_v8cint16 ( v32cint16 a,
int idx )

◆ extract_v8cint32()

v8cint32 extract_v8cint32 ( v16cint32 a,
int idx )

◆ extract_v8float() [1/2]

v8float extract_v8float ( v16float a,
int idx )

◆ extract_v8float() [2/2]

v8float extract_v8float ( v32float a,
int idx )

◆ extract_v8float16() [1/2]

v8float16 extract_v8float16 ( v16float16 a,
int idx )

◆ extract_v8float16() [2/2]

v8float16 extract_v8float16 ( v32float16 a,
int idx )

◆ extract_v8int16() [1/2]

v8int16 extract_v8int16 ( v16int16 a,
int idx )

◆ extract_v8int16() [2/2]

v8int16 extract_v8int16 ( v32int16 a,
int idx )

◆ extract_v8int32() [1/2]

v8int32 extract_v8int32 ( v16int32 a,
int idx )

◆ extract_v8int32() [2/2]

v8int32 extract_v8int32 ( v32int32 a,
int idx )

◆ extract_v8uint16() [1/2]

v8uint16 extract_v8uint16 ( v16uint16 a,
int idx )

◆ extract_v8uint16() [2/2]

v8uint16 extract_v8uint16 ( v32uint16 a,
int idx )

◆ extract_v8uint32() [1/2]

v8uint32 extract_v8uint32 ( v16uint32 a,
int idx )

◆ extract_v8uint32() [2/2]

v8uint32 extract_v8uint32 ( v32uint32 a,
int idx )