| AI Engine-ML v2 Intrinsics User Guide v2025.2

Loading...
Searching...
No Matches
Topics
Extract vector
Vector Conversions

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 )