Extraction intrinsics enable lanes to be selected from vector and accumulator types.
More...
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.
|
| 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.
|
| |
|
| 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) |
| |
◆ EXTRACT_ACC_HIGH
| #define EXTRACT_ACC_HIGH |
( |
|
out_t, |
|
|
|
in_t |
|
) |
| |
Value: \
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: \
v8acc48 ext_lo(v16acc48 buf)
Extract the low v8acc48 vector from a v16acc48 vector.
◆ 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]
Extract the high v8acc48 vector from a v16acc48 vector.
- Parameters
-
- Returns
- Extracted sub-vector
◆ ext_hi() [2/8]
◆ ext_hi() [3/8]
◆ ext_hi() [4/8]
◆ ext_hi() [5/8]
Extract the high v2cacc80 vector from a v4cacc80 vector.
- Parameters
-
- Returns
- Extracted sub-vector
◆ ext_hi() [6/8]
Extract the high v4acc80 vector from a v8acc80 vector.
- Parameters
-
- Returns
- Extracted sub-vector
◆ ext_hi() [7/8]
◆ ext_hi() [8/8]
Extract the high v4cacc48 vector from a v8cacc48 vector.
- Parameters
-
- Returns
- Extracted sub-vector
◆ ext_lo() [1/10]
Extract the low v8acc48 vector from a v16acc48 vector.
- Parameters
-
- Returns
- Extracted sub-vector
◆ ext_lo() [2/10]
◆ ext_lo() [3/10]
◆ ext_lo() [4/10]
◆ ext_lo() [5/10]
Extract the low v2cacc80 vector from a v4cacc80 vector.
- Parameters
-
- Returns
- Extracted sub-vector
◆ ext_lo() [6/10]
◆ ext_lo() [7/10]
Extract the low v4acc80 vector from a v8acc80 vector.
- Parameters
-
- Returns
- Extracted sub-vector
◆ ext_lo() [8/10]
◆ ext_lo() [9/10]
Extract the low v4cacc48 vector from a v8cacc48 vector.
- Parameters
-
- Returns
- Extracted sub-vector
◆ ext_lo() [10/10]
◆ ext_v() [1/24]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
Store the 80 bit from the accumulator sign extended in a 128 bit integer. This is done for the 1 higher lanes.
- Parameters
-
- Returns
- Output vector
◆ store_hi() [2/4]
Store the 80 bit from the accumulator sign extended in a 128 bit integer. This is done for the 2 higher lanes.
- Parameters
-
- Returns
- Output vector
◆ store_hi() [3/4]
Store the 48 bit from the accumulator sign extended in a 64 bit integer. This is done for the 2 higher lanes.
- Parameters
-
- Returns
- Output vector
◆ store_hi() [4/4]
Store the 48 bit from the accumulator sign extended in a 64 bit integer. This is done for the 4 higher lanes.
- Parameters
-
- Returns
- Output vector
◆ store_lo() [1/4]
Store the 80 bit from the accumulator sign extended in a 128 bit integer. This is done for the 1 lower lanes.
- Parameters
-
- Returns
- Output vector
◆ store_lo() [2/4]
Store the 80 bit from the accumulator sign extended in a 128 bit integer. This is done for the 2 lower lanes.
- Parameters
-
- Returns
- Output vector
◆ store_lo() [3/4]
Store the 48 bit from the accumulator sign extended in a 64 bit integer. This is done for the 2 lower lanes.
- Parameters
-
- Returns
- Output vector
◆ store_lo() [4/4]
Store the 48 bit from the accumulator sign extended in a 64 bit integer. This is done for the 4 lower lanes.
- Parameters
-
- Returns
- Output vector