| AI Engine Intrinsics User Guide (v2026.1)

Loading...
Searching...
No Matches
Macros
Extract
Intrinsics » Vector Conversions

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

## Overview

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.

### store_hi and store_lo intrinsic functions

Store the 48/80 bit from the accumulator sign extended in a 64/128 bit integer. store_lo takes the lower lanes of the accumulator and store_hi the higher ones.

### ext_hi and ext_lo intrinsic functions

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

### ext_v(,<N>,) intrinsic functions

`ext_v(,0...7,)` extract successive 128-bit lanes from a 256-bit(lanes 0-1), 512-bit(lanes 0-3) or 1024-bit(lanes 0-7) vector.

### 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.

## Macros
#define | EXTRACT_ACC_HIGH(out_t, in_t)
#define | EXTRACT_ACC_LOW(out_t, in_t)

## Accumulator store operations
v4int64 | store_lo (v8acc48 acc)
| Store the 48 bit from the accumulator sign extended in a 64 bit integer. This is done for the 4 lower lanes.
v4int64 | store_hi (v8acc48 acc)
| Store the 48 bit from the accumulator sign extended in a 64 bit integer. This is done for the 4 higher lanes.
v2cint64 | store_lo (v4cacc48 acc)
| Store the 48 bit from the accumulator sign extended in a 64 bit integer. This is done for the 2 lower lanes.
v2cint64 | store_hi (v4cacc48 acc)
| Store the 48 bit from the accumulator sign extended in a 64 bit integer. This is done for the 2 higher lanes.
v2int128 | store_lo (v4acc80 acc)
| Store the 80 bit from the accumulator sign extended in a 128 bit integer. This is done for the 2 lower lanes.
v2int128 | store_hi (v4acc80 acc)
| Store the 80 bit from the accumulator sign extended in a 128 bit integer. This is done for the 2 higher lanes.
v1cint128 | store_lo (v2cacc80 acc)
| Store the 80 bit from the accumulator sign extended in a 128 bit integer. This is done for the 1 lower lanes.
v1cint128 | store_hi (v2cacc80 acc)
| Store the 80 bit from the accumulator sign extended in a 128 bit integer. This is done for the 1 higher lanes.

## 128-bit Extraction from 256-bit Vector
v16int8 | ext_v (v32int8 buf, int idx)
| Extract a v16int8 vector from a v32int8 vector.
v16uint8 | ext_v (v32uint8 buf, int idx)
| Extract a v16uint8 vector from a v32uint8 vector.
v8int16 | ext_v (v16int16 buf, int idx)
| Extract a v8int16 vector from a v16int16 vector.
v4cint16 | ext_v (v8cint16 buf, int idx)
| Extract a v4cint16 vector from a v8cint16 vector.
v4int32 | ext_v (v8int32 buf, int idx)
| Extract a v4int32 vector from a v8int32 vector.
v2cint32 | ext_v (v4cint32 buf, int idx)
| Extract a v2cint32 vector from a v4cint32 vector.
v4float | ext_v (v8float buf, int idx)
| Extract a v4float vector from a v8float vector.
v2cfloat | ext_v (v4cfloat buf, int idx)
| Extract a v2cfloat vector from a v4cfloat vector.

## 128-bit Extraction from 512-bit Vector
v16int8 | ext_v (v64int8 buf, int idx)
| Extract a v16int8 vector from a v64int8 vector.
v16uint8 | ext_v (v64uint8 buf, int idx)
| Extract a v16uint8 vector from a v64uint8 vector.
v8int16 | ext_v (v32int16 buf, int idx)
| Extract a v8int16 vector from a v32int16 vector.
v4cint16 | ext_v (v16cint16 buf, int idx)
| Extract a v4cint16 vector from a v16cint16 vector.
v4int32 | ext_v (v16int32 buf, int idx)
| Extract a v4int32 vector from a v16int32 vector.
v2cint32 | ext_v (v8cint32 buf, int idx)
| Extract a v2cint32 vector from a v8cint32 vector.
v4float | ext_v (v16float buf, int idx)
| Extract a v4float vector from a v16float vector.
v2cfloat | ext_v (v8cfloat buf, int idx)
| Extract a v2cfloat vector from a v8cfloat vector.

## 128-bit Extraction from 1024-bit Vector
v16int8 | ext_v (v128int8 buf, int idx)
| Extract a v16int8 vector from a v128int8 vector.
v16uint8 | ext_v (v128uint8 buf, int idx)
| Extract a v16uint8 vector from a v128uint8 vector.
v8int16 | ext_v (v64int16 buf, int idx)
| Extract a v8int16 vector from a v64int16 vector.
v4cint16 | ext_v (v32cint16 buf, int idx)
| Extract a v4cint16 vector from a v32cint16 vector.
v4int32 | ext_v (v32int32 buf, int idx)
| Extract a v4int32 vector from a v32int32 vector.
v2cint32 | ext_v (v16cint32 buf, int idx)
| Extract a v2cint32 vector from a v16cint32 vector.
v4float | ext_v (v32float buf, int idx)
| Extract a v4float vector from a v32float vector.
v2cfloat | ext_v (v16cfloat buf, int idx)
| Extract a v2cfloat vector from a v16cfloat vector.

## 256-bit Extraction from 512-bit Vector
v32int8 | ext_w (v64int8 buf, int idx)
| Extract a v32int8 vector from a v64int8 vector.
v32uint8 | ext_w (v64uint8 buf, int idx)
| Extract a v32uint8 vector from a v64uint8 vector.
v16int16 | ext_w (v32int16 buf, int idx)
| Extract a v16int16 vector from a v32int16 vector.
v8cint16 | ext_w (v16cint16 buf, int idx)
| Extract a v8cint16 vector from a v16cint16 vector.
v8int32 | ext_w (v16int32 buf, int idx)
| Extract a v8int32 vector from a v16int32 vector.
v4cint32 | ext_w (v8cint32 buf, int idx)
| Extract a v4cint32 vector from a v8cint32 vector.
v8float | ext_w (v16float buf, int idx)
| Extract a v8float vector from a v16float vector.
v4cfloat | ext_w (v8cfloat buf, int idx)
| Extract a v4cfloat vector from a v8cfloat vector.

## 256-bit Extraction from 1024-bit Vector
v32int8 | ext_w (v128int8 buf, int idx)
| Extract a v32int8 vector from a v128int8 vector.
v32uint8 | ext_w (v128uint8 buf, int idx)
| Extract a v32uint8 vector from a v128uint8 vector.
v16int16 | ext_w (v64int16 buf, int idx)
| Extract a v16int16 vector from a v64int16 vector.
v8cint16 | ext_w (v32cint16 buf, int idx)
| Extract a v8cint16 vector from a v32cint16 vector.
v8int32 | ext_w (v32int32 buf, int idx)
| Extract a v8int32 vector from a v32int32 vector.
v4cint32 | ext_w (v16cint32 buf, int idx)
| Extract a v4cint32 vector from a v16cint32 vector.
v8float | ext_w (v32float buf, int idx)
| Extract a v8float vector from a v32float vector.
v4cfloat | ext_w (v16cfloat buf, int idx)
| Extract a v4cfloat vector from a v16cfloat vector.

## 512-bit Extraction from 1024-bit Vector
v64int8 | ext_x (v128int8 buf, int idx)
| Extract a v64int8 vector from a v128int8 vector.
v64uint8 | ext_x (v128uint8 buf, int idx)
| Extract a v64uint8 vector from a v128uint8 vector.
v32int16 | ext_x (v64int16 buf, int idx)
| Extract a v32int16 vector from a v64int16 vector.
v16cint16 | ext_x (v32cint16 buf, int idx)
| Extract a v16cint16 vector from a v32cint16 vector.
v16int32 | ext_x (v32int32 buf, int idx)
| Extract a v16int32 vector from a v32int32 vector.
v8cint32 | ext_x (v16cint32 buf, int idx)
| Extract a v8cint32 vector from a v16cint32 vector.
v16float | ext_x (v32float buf, int idx)
| Extract a v16float vector from a v32float vector.
v8cfloat | ext_x (v16cfloat buf, int idx)
| Extract a v8cfloat vector from a v16cfloat vector.

## Extraction from Wide Accumulator
v8acc48 | ext_lo (v16acc48 buf)
| Extract the low v8acc48 vector from a v16acc48 vector.
v8acc48 | ext_hi (v16acc48 buf)
| Extract the high v8acc48 vector from a v16acc48 vector.
v4cacc48 | ext_lo (v8cacc48 buf)
| Extract the low v4cacc48 vector from a v8cacc48 vector.
v4cacc48 | ext_hi (v8cacc48 buf)
| Extract the high v4cacc48 vector from a v8cacc48 vector.
v4acc80 | ext_lo (v8acc80 buf)
| Extract the low v4acc80 vector from a v8acc80 vector.
v4acc80 | ext_hi (v8acc80 buf)
| Extract the high v4acc80 vector from a v8acc80 vector.
v2cacc80 | ext_lo (v4cacc80 buf)
| Extract the low v2cacc80 vector from a v4cacc80 vector.
v2cacc80 | ext_hi (v4cacc80 buf)
| Extract the high v2cacc80 vector from a v4cacc80 vector.

## Extraction from Float Accumulator
v4accfloat | ext_lo (v8accfloat)
v8accfloat | ext_lo (v16accfloat)
v16accfloat | ext_lo (v32accfloat)
v4accfloat | ext_hi (v8accfloat)
v8accfloat | ext_hi (v16accfloat)
v16accfloat | ext_hi (v32accfloat)
v2caccfloat | ext_lo (v4caccfloat)
v4caccfloat | ext_lo (v8caccfloat)
v8caccfloat | ext_lo (v16caccfloat)
v2caccfloat | ext_hi (v4accfloat)

## Extracts for configuration registers
unsigned int | ext0 (mac_idx)
unsigned int | ext1 (mac_idx)
unsigned int | ext0 (pmx_idx)
unsigned int | ext1 (pmx_idx)
unsigned int | ext2 (pmx_idx)

## Macro Definition Documentation

## ◆ EXTRACT_ACC_HIGH

#define EXTRACT_ACC_HIGH | ( |  | out_t,
|  |  | in_t )

Value:
\
out_t ext_hi(in_t buf);
ext_hi
v8acc48 ext_hi(v16acc48 buf)
Extract the high v8acc48 vector from a v16acc48 vector.

## ◆ EXTRACT_ACC_LOW

#define EXTRACT_ACC_LOW | ( |  | out_t,
|  |  | in_t )

Value:
\
out_t ext_lo(in_t buf);
ext_lo
v8acc48 ext_lo(v16acc48 buf)
Extract the low v8acc48 vector from a v16acc48 vector.

## Function Documentation

## ◆ ext0() [1/2]

unsigned int ext0 | ( | mac_idx |  | ) |

## ◆ ext0() [2/2]

unsigned int ext0 | ( | pmx_idx |  | ) |

## ◆ ext1() [1/2]

unsigned int ext1 | ( | mac_idx |  | ) |

## ◆ ext1() [2/2]

unsigned int ext1 | ( | pmx_idx |  | ) |

## ◆ ext2()

unsigned int ext2 | ( | pmx_idx |  | ) |

## ◆ ext_hi() [1/8]

v8acc48 ext_hi | ( | v16acc48 | buf | ) |

Extract the high v8acc48 vector from a v16acc48 vector.

Parameters

  buf | Source vector

Returns
  Extracted sub-vector

## ◆ ext_hi() [2/8]

v8caccfloat ext_hi | ( | v16accfloat |  | ) |

## ◆ ext_hi() [3/8]

v16accfloat ext_hi | ( | v32accfloat |  | ) |

## ◆ ext_hi() [4/8]

v2caccfloat ext_hi | ( | v4accfloat |  | ) |

## ◆ ext_hi() [5/8]

v2cacc80 ext_hi | ( | v4cacc80 | buf | ) |

Extract the high v2cacc80 vector from a v4cacc80 vector.

Parameters

  buf | Source vector

Returns
  Extracted sub-vector

## ◆ ext_hi() [6/8]

v4acc80 ext_hi | ( | v8acc80 | buf | ) |

Extract the high v4acc80 vector from a v8acc80 vector.

Parameters

  buf | Source vector

Returns
  Extracted sub-vector

## ◆ ext_hi() [7/8]

v4caccfloat ext_hi | ( | v8accfloat |  | ) |

## ◆ ext_hi() [8/8]

v4cacc48 ext_hi | ( | v8cacc48 | buf | ) |

Extract the high v4cacc48 vector from a v8cacc48 vector.

Parameters

  buf | Source vector

Returns
  Extracted sub-vector

## ◆ ext_lo() [1/10]

v8acc48 ext_lo | ( | v16acc48 | buf | ) |

Extract the low v8acc48 vector from a v16acc48 vector.

Parameters

  buf | Source vector

Returns
  Extracted sub-vector

## ◆ ext_lo() [2/10]

v8accfloat ext_lo | ( | v16accfloat |  | ) |

## ◆ ext_lo() [3/10]

v8caccfloat ext_lo | ( | v16caccfloat |  | ) |

## ◆ ext_lo() [4/10]

v16accfloat ext_lo | ( | v32accfloat |  | ) |

## ◆ ext_lo() [5/10]

v2cacc80 ext_lo | ( | v4cacc80 | buf | ) |

Extract the low v2cacc80 vector from a v4cacc80 vector.

Parameters

  buf | Source vector

Returns
  Extracted sub-vector

## ◆ ext_lo() [6/10]

v2caccfloat ext_lo | ( | v4caccfloat |  | ) |

## ◆ ext_lo() [7/10]

v4acc80 ext_lo | ( | v8acc80 | buf | ) |

Extract the low v4acc80 vector from a v8acc80 vector.

Parameters

  buf | Source vector

Returns
  Extracted sub-vector

## ◆ ext_lo() [8/10]

v4accfloat ext_lo | ( | v8accfloat |  | ) |

## ◆ ext_lo() [9/10]

v4cacc48 ext_lo | ( | v8cacc48 | buf | ) |

Extract the low v4cacc48 vector from a v8cacc48 vector.

Parameters

  buf | Source vector

Returns
  Extracted sub-vector

## ◆ ext_lo() [10/10]

v4caccfloat ext_lo | ( | v8caccfloat |  | ) |

## ◆ ext_v() [1/24]

v16int8 ext_v | ( | v128int8 | buf,
|  | int | idx )

Extract a v16int8 vector from a v128int8 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [2/24]

v16uint8 ext_v | ( | v128uint8 | buf,
|  | int | idx )

Extract a v16uint8 vector from a v128uint8 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [3/24]

v2cfloat ext_v | ( | v16cfloat | buf,
|  | int | idx )

Extract a v2cfloat vector from a v16cfloat vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [4/24]

v4cint16 ext_v | ( | v16cint16 | buf,
|  | int | idx )

Extract a v4cint16 vector from a v16cint16 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [5/24]

v2cint32 ext_v | ( | v16cint32 | buf,
|  | int | idx )

Extract a v2cint32 vector from a v16cint32 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [6/24]

v4float ext_v | ( | v16float | buf,
|  | int | idx )

Extract a v4float vector from a v16float vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [7/24]

v8int16 ext_v | ( | v16int16 | buf,
|  | int | idx )

Extract a v8int16 vector from a v16int16 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [8/24]

v4int32 ext_v | ( | v16int32 | buf,
|  | int | idx )

Extract a v4int32 vector from a v16int32 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [9/24]

v4cint16 ext_v | ( | v32cint16 | buf,
|  | int | idx )

Extract a v4cint16 vector from a v32cint16 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [10/24]

v4float ext_v | ( | v32float | buf,
|  | int | idx )

Extract a v4float vector from a v32float vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [11/24]

v8int16 ext_v | ( | v32int16 | buf,
|  | int | idx )

Extract a v8int16 vector from a v32int16 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [12/24]

v4int32 ext_v | ( | v32int32 | buf,
|  | int | idx )

Extract a v4int32 vector from a v32int32 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [13/24]

v16int8 ext_v | ( | v32int8 | buf,
|  | int | idx )

Extract a v16int8 vector from a v32int8 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [14/24]

v16uint8 ext_v | ( | v32uint8 | buf,
|  | int | idx )

Extract a v16uint8 vector from a v32uint8 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [15/24]

v2cfloat ext_v | ( | v4cfloat | buf,
|  | int | idx )

Extract a v2cfloat vector from a v4cfloat vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [16/24]

v2cint32 ext_v | ( | v4cint32 | buf,
|  | int | idx )

Extract a v2cint32 vector from a v4cint32 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [17/24]

v8int16 ext_v | ( | v64int16 | buf,
|  | int | idx )

Extract a v8int16 vector from a v64int16 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [18/24]

v16int8 ext_v | ( | v64int8 | buf,
|  | int | idx )

Extract a v16int8 vector from a v64int8 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [19/24]

v16uint8 ext_v | ( | v64uint8 | buf,
|  | int | idx )

Extract a v16uint8 vector from a v64uint8 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [20/24]

v2cfloat ext_v | ( | v8cfloat | buf,
|  | int | idx )

Extract a v2cfloat vector from a v8cfloat vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [21/24]

v4cint16 ext_v | ( | v8cint16 | buf,
|  | int | idx )

Extract a v4cint16 vector from a v8cint16 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [22/24]

v2cint32 ext_v | ( | v8cint32 | buf,
|  | int | idx )

Extract a v2cint32 vector from a v8cint32 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [23/24]

v4float ext_v | ( | v8float | buf,
|  | int | idx )

Extract a v4float vector from a v8float vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_v() [24/24]

v4int32 ext_v | ( | v8int32 | buf,
|  | int | idx )

Extract a v4int32 vector from a v8int32 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_w() [1/16]

v32int8 ext_w | ( | v128int8 | buf,
|  | int | idx )

Extract a v32int8 vector from a v128int8 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_w() [2/16]

v32uint8 ext_w | ( | v128uint8 | buf,
|  | int | idx )

Extract a v32uint8 vector from a v128uint8 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_w() [3/16]

v4cfloat ext_w | ( | v16cfloat | buf,
|  | int | idx )

Extract a v4cfloat vector from a v16cfloat vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_w() [4/16]

v8cint16 ext_w | ( | v16cint16 | buf,
|  | int | idx )

Extract a v8cint16 vector from a v16cint16 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_w() [5/16]

v4cint32 ext_w | ( | v16cint32 | buf,
|  | int | idx )

Extract a v4cint32 vector from a v16cint32 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_w() [6/16]

v8float ext_w | ( | v16float | buf,
|  | int | idx )

Extract a v8float vector from a v16float vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_w() [7/16]

v8int32 ext_w | ( | v16int32 | buf,
|  | int | idx )

Extract a v8int32 vector from a v16int32 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_w() [8/16]

v8cint16 ext_w | ( | v32cint16 | buf,
|  | int | idx )

Extract a v8cint16 vector from a v32cint16 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_w() [9/16]

v8float ext_w | ( | v32float | buf,
|  | int | idx )

Extract a v8float vector from a v32float vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_w() [10/16]

v16int16 ext_w | ( | v32int16 | buf,
|  | int | idx )

Extract a v16int16 vector from a v32int16 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_w() [11/16]

v8int32 ext_w | ( | v32int32 | buf,
|  | int | idx )

Extract a v8int32 vector from a v32int32 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_w() [12/16]

v16int16 ext_w | ( | v64int16 | buf,
|  | int | idx )

Extract a v16int16 vector from a v64int16 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_w() [13/16]

v32int8 ext_w | ( | v64int8 | buf,
|  | int | idx )

Extract a v32int8 vector from a v64int8 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_w() [14/16]

v32uint8 ext_w | ( | v64uint8 | buf,
|  | int | idx )

Extract a v32uint8 vector from a v64uint8 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_w() [15/16]

v4cfloat ext_w | ( | v8cfloat | buf,
|  | int | idx )

Extract a v4cfloat vector from a v8cfloat vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_w() [16/16]

v4cint32 ext_w | ( | v8cint32 | buf,
|  | int | idx )

Extract a v4cint32 vector from a v8cint32 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_x() [1/8]

v64int8 ext_x | ( | v128int8 | buf,
|  | int | idx )

Extract a v64int8 vector from a v128int8 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_x() [2/8]

v64uint8 ext_x | ( | v128uint8 | buf,
|  | int | idx )

Extract a v64uint8 vector from a v128uint8 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_x() [3/8]

v8cfloat ext_x | ( | v16cfloat | buf,
|  | int | idx )

Extract a v8cfloat vector from a v16cfloat vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_x() [4/8]

v8cint32 ext_x | ( | v16cint32 | buf,
|  | int | idx )

Extract a v8cint32 vector from a v16cint32 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_x() [5/8]

v16cint16 ext_x | ( | v32cint16 | buf,
|  | int | idx )

Extract a v16cint16 vector from a v32cint16 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_x() [6/8]

v16float ext_x | ( | v32float | buf,
|  | int | idx )

Extract a v16float vector from a v32float vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_x() [7/8]

v16int32 ext_x | ( | v32int32 | buf,
|  | int | idx )

Extract a v16int32 vector from a v32int32 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ ext_x() [8/8]

v32int16 ext_x | ( | v64int16 | buf,
|  | int | idx )

Extract a v32int16 vector from a v64int16 vector.

Parameters

  buf | Source vector
  idx | Defines which part of the source vector is extracted. Must be a compile-time constant.

Returns
  Extracted sub-vector

## ◆ store_hi() [1/4]

v1cint128 store_hi | ( | v2cacc80 | acc | ) |

Store the 80 bit from the accumulator sign extended in a 128 bit integer. This is done for the 1 higher lanes.

Parameters

  acc | Input accumulator

Returns
  Output vector

## ◆ store_hi() [2/4]

v2int128 store_hi | ( | v4acc80 | acc | ) |

Store the 80 bit from the accumulator sign extended in a 128 bit integer. This is done for the 2 higher lanes.

Parameters

  acc | Input accumulator

Returns
  Output vector

## ◆ store_hi() [3/4]

v2cint64 store_hi | ( | v4cacc48 | acc | ) |

Store the 48 bit from the accumulator sign extended in a 64 bit integer. This is done for the 2 higher lanes.

Parameters

  acc | Input accumulator

Returns
  Output vector

## ◆ store_hi() [4/4]

v4int64 store_hi | ( | v8acc48 | acc | ) |

Store the 48 bit from the accumulator sign extended in a 64 bit integer. This is done for the 4 higher lanes.

Parameters

  acc | Input accumulator

Returns
  Output vector

## ◆ store_lo() [1/4]

v1cint128 store_lo | ( | v2cacc80 | acc | ) |

Store the 80 bit from the accumulator sign extended in a 128 bit integer. This is done for the 1 lower lanes.

Parameters

  acc | Input accumulator

Returns
  Output vector

## ◆ store_lo() [2/4]

v2int128 store_lo | ( | v4acc80 | acc | ) |

Store the 80 bit from the accumulator sign extended in a 128 bit integer. This is done for the 2 lower lanes.

Parameters

  acc | Input accumulator

Returns
  Output vector

## ◆ store_lo() [3/4]

v2cint64 store_lo | ( | v4cacc48 | acc | ) |

Store the 48 bit from the accumulator sign extended in a 64 bit integer. This is done for the 2 lower lanes.

Parameters

  acc | Input accumulator

Returns
  Output vector

## ◆ store_lo() [4/4]

v4int64 store_lo | ( | v8acc48 | acc | ) |

Store the 48 bit from the accumulator sign extended in a 64 bit integer. This is done for the 4 lower lanes.

Parameters

  acc | Input accumulator

Returns
  Output vector